TdiDeregisterDeviceObject
NTSTATUS
TdiDeregisterDeviceObject(
IN HANDLE DevRegistrationHandle
);
TdiDeregisterDeviceObject ÇÔ¼ö´Â TdiRegisterDeviceObject ÇÔ¼öÀÇ ¹Ý´ëÀÌ´Ù. ÀÌ ÇÔ¼ö´Â Ŭ¶óÀ̾ðÆ®ÀÇ ³×Æ®¿÷ I/O ¸®Äù½ºÆ®¸¦ À§ÇÑ À¯È¿ÇÑ Å¸°ÙÀ¸·Î½á TDI¸¦ °¡Áö°í ¹Ì¸® µî·ÏµÈ Æ®·£½ºÆ÷Æ® »ý¼º ÀåÄ¡ °´Ã¼¸¦ Á¦°ÅÇÑ´Ù.
¸Å°³º¯¼ö
- DevRegistrationHandle
- TdiRegisterDeviceObject ÇÔ¼ö·ÎÀÇ È£Ãâ¿¡¼ ¸®ÅÏµÈ ÇÚµéÀ» ¼¼úÇÑ´Ù.
¸®Åϰª
µî·ÏÀÌ ÇØÁ¦µÇ°í ¹ÙÀεùµÈ ¸ðµç Ŭ¶óÀÌ¾ðÆ®°¡ Å뺸Çß´Ù¸é TdiDeregisterDeviceObject ÇÔ¼ö´Â STATUS_SUCCESS¸¦ ¸®ÅÏÇÑ´Ù. ±×·¸Áö ¾Ê´Ù¸é STATUS_INSUFFICIENT_RESOURCES¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.(½Ã½ºÅÛ ÀÚ¿øÀÇ »ç¿ë°¡´É¼ºÀÌ µ¿ÀûÀ̱⠶§¹®¿¡ °°Àº Æ®·£½ºÆ÷Æ®·ÎºÎÅÍÀÇ ¼øÂ÷ÀûÀΠȣÃâÀº ¼º°øÇÒ ¼ö ÀÖ´Ù.)
ÁÖ¼®
Æ®·£½ºÆ÷Æ® µå¶óÀ̹ö´Â Æ®·£½ºÆ÷Æ® ½ºÅÃÀÇ ¹Ø¿¡¼ ProtocolUnbindAdapter ÇÔ¼ö·Î NDIS È£ÃâÀÇ °á°ú·Î TdiDeregisterDeviceObject ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ProtocolUnbindAdapter ÇÔ¼ö·ÎÀÇ ±×·¯ÇÑ È£ÃâÀº Æ®·£½ºÆ÷Æ®°¡ ¹ÙÀεùµÈ ÇϺÎÀÇ NICÀÌ Á¦°ÅµÇ°Å³ª µð½º¿¡À̺íµÇ´Â °ÍÀ» ¾Ë¸°´Ù. °á°úÀûÀ¸·Î TDI Æ®·£½ºÆ÷Æ® µå¶óÀ̹ö´Â ±× NIC¿¡ ´ëÇØ¼ ¹ÙÀεùÀ» À§ÇØ Àü¿¡ »ý¼ºµÈ ÀåÄ¡ °´Ã¼¸¦ ÆÄ±«ÇÒ °ÍÀÌ´Ù,
Æ®·£½ºÆ÷Æ®°¡ TDI¸¦ °¡Áö°í ÀÌ ÀåÄ¡ °´Ã¼¸¦ ¹Ì¸® µî·ÏÇß´Ù¸é Æ®·£½ºÆ÷Æ®´Â ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ÀåÄ¡ °´Ã¼¸¦ »èÁ¦Çϱâ Àü¿¡ TdiDeregisterDeviceObject ÇÔ¼ö¸¦ È£ÃâÇØ¾ßÇÑ´Ù. Æ®·£½ºÆ÷Æ®°¡ ÀåÄ¡ °´Ã¼¸¦ µî·ÏÇØÁ¦Çϱâ Àü¿¡ Æ®·£½ºÆ÷Æ®´Â ¹ÙÀεù»ó¿¡ ÇöÀç TDI¸¦ °¡Áö°í µî·ÏµÈ °¢°¢ÀÇ ³×Æ®¿÷ ÁÖ¼Ò¸¦ °¡Áø TdiDeregisterNetAddress ÇÔ¼öÀÇ È£ÃâÀ» ÇѹøÀÌ»ó ÇØ¾ßÇÑ´Ù. Áï, Æ®·£½ºÆ÷Æ®´Â NIC°úÀÇ ¹ÙÀεùÀ» ²÷Àº ÈÄ¿¡ TdiDeregisterDeviceObject ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
TdiDeregisterDeviceObject ÇÔ¼ö´Â Æ®·£½ºÆ÷Æ®ÀÇ ÀåÄ¡ °´Ã¼°¡ Æ®·£½ºÆ÷Æ®ÀÇ Å¬¶óÀÌ¾ðÆ® I/O ¸®Äù½ºÆ®¿¡ ´ëÇØ¼ ´õÀÌ»ó À¯È¿ÇÏÁö ¾Ê´Ù´Â °ÍÀ» È£ÃâÇÏ´Â Æ®·£½ºÆ÷Æ®ÀÇ Å¬¶óÀÌ¾ðÆ®¿¡°Ô Å뺸ÇÑ´Ù. ÀÌ È£ÃâÀÌ ¹ß»ýÇßÀ» ¶§ TDI´Â ÀÔ·Â PnPOpcode ÀÎÀÚ TDI_PNP_OP_DEL¸¦ °¡Áø ÀÌ Å뺸¸¦ ¹Þ±â À§Çؼ TdiRegisterPnPHandlers ÇÔ¼ö¸¦ °¡Áö°í ÀÚ½ÅÀ» µî·ÏÇÑ ±× Ŭ¶óÀ̾ðÆ®ÀÇ ClientPnPBindingChange ·çƾÀ» È£ÃâÇÑ´Ù.
TdiDeregisterDeviceObject ÇÔ¼ö°¡ STATUS_INSUFFICIENT_RESOURCES¸¦ ¸®ÅÏÇÑ´Ù¸é Æ®·£½ºÆ÷Æ®´Â µî·ÏµÈ ÀåÄ¡ °´Ã¼¸¦ Áö½ÃÇÏ´Â ¼øÂ÷ÀûÀÎ µé¾î¿À´Â Ŭ¶óÀÌ¾ðÆ® ¸®Äù½ºÆ®¸¦ ½ÇÆÐÇÑ´Ù. ¸®ÅϰªÀÌ ÀûÀýÇÒ ¶§ Æ®·£½ºÆ÷Æ®´Â ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ½Ã½ºÅÛ ¸Þ¸ð¸®ÀÇ Àӽà ºÎÁ·ÀÌ ¿ø·¡ÀÇ È£ÃâÀ» ½ÇÆÐÇϵµ·Ï Çϱ⠶§¹®¿¡ TdiDeregisterDeviceObject ÇÔ¼ö¸¦ È£ÃâÇØ¾ßÇÑ´Ù.
TdiDeregisterDeviceObject ÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL < DISPATCH_LEVEL¿¡¼ ½ÇÇàÇØ¾ßÇÑ´Ù.
|