ProtocolUnbindAdapter
VOID
ProtocolUnbindAdapter(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE UnbindContext
);
|
ProtocolUnbindAdapterÇÔ¼ö´Â Ç÷¯±×¾Ø Ç÷¹À̸¦ Áö¿øÇϱâÀ§ÇØ ¿ä±¸µÇ¾îÁö´Â ÇÔ¼öÀÌ´Ù.
¸Å°³º¯¼ö
- Status
- NdisCloseAdapterÇÔ¼öÀÇ ¸®ÅϵȰªÀ¸·Î½á ¹ÙÀεùÇØÁ¦¿¬»êÀÇ »óŸ¦ ÁöÁ¤Çϰí, ´ÙÀ½Áß Çϳª°¡ µÉ ¼ö ÀÖ´Ù:
- NDIS_STATUS_SUCCESS
- ¹ÙÀ̵ùÀÌ Á¾·áµÇ°í ±×¹ÙÀεù¿¡ ºÎ¼ÓµÈ ¸ðµç ¸®¼Ò½ºµéÀÌ ÇØÁ¦ µÆ´Ù.
- NDIS_STATUS_PENDING
- ¿äûÀÌ ºñµ¿±âÀûÀ¸·Î ´Ù·ïÁ³°í ProtocolCloseAdapterCompleteÇÔ¼ö°¡ ¿¬»êÀ» Á¾·á ÇÒ °ÍÀÌ´Ù.
- ProtocolBindingContext
- ÇÁ·ÎÅäÄݵå¶óÀ̹ö°¡ ¹ÙÀεù·çƾ´ç »óŸ¦ À¯ÁöÇÏ´Â ÇÁ·ÎÅäÄÝÇÒ´ç ÄÁÅØ½ºÆ®¿µ¿ªÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. µå¶óÀ̹ö´Â NdisOpenAdapterÇÔ¼ö¸¦ È£ÃâÇßÀ»¶§ ÀÌÇÚµéÀ» Á¦°øÇÑ´Ù.
- UnbindContext
- NDIS°¡ Á¦°øÇϰí ÇÁ·ÎÅäÄÝÀÌ NdisCompleteUnbindAdapterÇÔ¼ö¿¡°Ô ³ªÁß¿¡ ³Ñ°ÜÁÖ´Â ÇÚµéÀ» ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
ÁÖ¼®
ProtocolBindAdapterÇÔ¼öÀÇ ¹Ý´ë·Î¼, ProtocolUnbindAdapterÇÔ¼ö´Â ÇϳªÀÇ °¡´ÉÇÑ ¿¹¿Ü¸¦ Á¦¿ÜÇÏ°í µå¶óÀ̹ö°¡ ¹ÙÀεù´ç³×Æ®¿÷ I/O¿¬»ê¿¡´ëÇØ ÇÒ´çÇÑ ¸®¼Ò½ºµéÀ» ÇØÁ¦ÇÑ´Ù. ¿¹¿Ü=>ProtocolBindingContextÇڵ鿡ÀÇÇØ ¸¸µé¾îÁø µå¶óÀ̹öÇÒ´ç ÄÁÅØ½ºÆ®¿µ¿ª
ProtocolUnbindAdapterÇÔ¼ö´Â ProtocolBindingContextÇÚµå·Î µå¶óÀ̹öÀÇ ProtocolCloseAdapterCompleteÇÔ¼ö¸¦ È£ÃâÇÒ¼ö ÀÖ´Â NdisCloseAdapterÇÔ¼ö¸¦ È£ÃâÇØ¾ß¸¸ ÇÑ´Ù. ±×·¡¼ ¸¸¾à NdisCloseAdapterÇÔ¼ö°¡ NDIS_STATUS_SUCCESS¸¦ ¸®ÅÏÇÏÁö ¾Ê´õ¶óµµ, ProtocolUnbindAdapterÇÔ¼ö´Â ProtocolBindingContextÀÇ ¸Þ¸ð¸®¸¦ ÇØÁ¦ ÇÒ ¼ö ¾ø´Ù.
°á°úÀûÀ¸·Î, ProtocolUnbindAdapterÇÔ¼ö´Â NdisCloseAdapterÇÔ¼ö¸¦ È£ÃâÇϱâÀü¿¡ ÀÔ·ÂUnbindContextÇÚµéÀ» ProtocolBindingContextÀÇ ¿µ¿ª¾È¿¡ ÀúÀåÇØ¾ßÇÑ´Ù. ¸¸¾à ÀÌÈ£ÃâÀÌ ºñµ¿±âÀûÀ̶ó¸é, ProtocolCloseAdapterCompleteÇÔ¼ö´Â µå¶óÀ̹ö°¡ ÇÒ´çÇÑ ¹ÙÀεù´ç ¸®¼Ò½ºµéÀ» ÇØÁ¦ÇÒ°ÍÀ̸ç, UnbindContextÇÚµé·Î NdisCompleteUnbindAdapterÇÔ¼ö¸¦ È£ÃâÇÒ°ÍÀÌ´Ù.
NdisCloseAdapterÇÔ¼ö°¡ NDIS_STATUS_SUCCESS¸¦ ¸®ÅÏÇÑ´Ù¸é, ProtocolUnbindAdapterÇÔ¼ö´Â µå¶óÀ̹ö°¡ ÇÒ´çÇÑProtocolBindingContext ¸Þ¸ð¸®¸¦ Æ÷ÇÔÇØ¼ ¸ðµç ¹ÙÀεù´ç ¸®¼Ò½ºµéÀ» ÇØÁ¦ÇÑ´Ù.
NDISÀÎÅ͹̵ð¾ùµå¶óÀ̹öÀÇ ProtocolUnbindAdapterÇÔ¼ö´Â ¹Ý´ëµÇ´Â NdisIMDeinitializeDeviceInstanceÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. µå¶óÀ̹öÀÇ MiniportHalt°°Àº ÇÔ¼ö´Â ÀÎÅ͹̵ð¾ùµå¶óÀ̹öÀÇ °¡»ó´ÐÀÌ ½Ã½ºÅÛÀ¸·Î ºÎÅÍ Á¦°ÅµÇ°ÅÀü¿¡ ÀÎÅ͹̵ð¾ùµå¶óÀ̹öÀǴаú °ü°èµÈ ¸ðµç µå¶óÀ̹öÇÒ´ç ¸®¼Ò½ºµéÀ» ÇØÁ¦Çؾ߸¸ ÇÑ´Ù.
ProtocolUnbindAdapterÇÔ¼ö°¡ NdisCloseAdapterÇÔ¼ö¸¦ È£ÃâÇÏÀÚ¸¶ÀÚ, NdisOpenAdapterÇÔ¼ö¿¡ ÀÇÇØ ¸®ÅÏµÈ ¿ø·¡NdisBindingHandleÀº ¹«È¿·Î °£ÁֵǾî¾ß ÇÑ´Ù.
ProtocolUnbindAdapterÇÔ¼ö´Â ÀÌÇÚµé·Î ¾î¶²´ÙÀ½ÀÇ NdisXxxÇÔ¼öÀÇ È£ÃâÀ» ÇÒ ¼ö ¾ø°í, ÇÁ·ÎÅäÄÝÀº ÇÏÀ§µå¶óÀ̹ö·ÎºÎÅÍ ¾î¶² ¸®½ÃºêÀεðÄÉÀ̼ÇÀ» ¹ÞÀ» ¼ö ¾ø´Ù. ±×·¯³ª ¸¸¾à ÇÏÀ§´ÐÀÌ À籸¼ºµÇ±âÀ§ÇØ Á¦°ÅµÇ°í ÀÖ´Ù¸é, NDIS´Â ´ÐÀÌ ´Ù½ÃÀÌ¿ëÇÒ¼ö ÀÖÀ»¶§ ¹ÙÀ̵ùÀ» ´Ù½Ã ¼³Á¤ÇϱâÀ§ÇØ µå¶óÀ̹öÀÇ ProtocolBindAdapterÇÔ¼ö¸¦ È£ÃâÇÒ °ÍÀÌ´Ù.
µðÆúÆ®·Î, ProtocolBindAdapterÇÔ¼ö´Â ½Ã½ºÅÛ½º·¹µå¿µ¿ª¿¡¼ PASSIVE_LEVEL·Î µ¿ÀÛÇÑ´Ù.
|