NdisMRegisterUnloadHandler
VOID
NdisMRegisterUnloadHandler(
IN NDIS_HANDLE NdisWrapperHandle,
IN PDRIVER_UNLOAD UnloadHandler
);
|
NdisMRegisterUnloadHandler ÇÔ¼ö´Â µå¶óÀ̹ö¸¦ À§ÇØ unload Çڵ鷯¸¦ µî·ÏÇÑ´Ù.
¸Å°³º¯¼ö
- NdisWrapperHandle
- NdisMInitializeWrapper ÇÔ¼ö¿¡ ÀÇÇØ ¸®ÅÏµÈ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
- UnloadHandler
- µå¶óÀ̹öÀÇ unload ·çƾÀ» À§ÇÑ ¿£Æ®¸® Æ÷ÀÎÆ®¸¦ ÁöÁ¤ÇÑ´Ù. unload ·çƾÀº ´ÙÀ½°ú °°ÀÌ ¼±¾ðµÈ´Ù.
VOID
(*PDRIVER_UNLOAD) (
IN struct _DRIVER_OBJECT *DriverObject
);
ÁÖ¼®
µå¶óÀ̹ö´Â DriverEntry ÇÔ¼ö°¡ NdisMInitializeWrapper ÇÔ¼ö¸¦ È£ÃâÇÑ ÈÄ¿¡ DriverEntry ÇÔ¼ö·ÎºÎÅÍ NdisMRegisterUnloadHandler ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. NdisMRegisterUnloadHandler ÇÔ¼ö´Â µå¶óÀ̹ö¸¦ À§ÇØ unload Çڵ鷯¸¦ µî·ÏÇÑ´Ù.
unload Çڵ鷯ÀÇ ±â´ÉÀº µå¶óÀ̹ö ƯÁ¤ÀÌ´Ù. ¿¹¸¦ µé¾î, ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö´Â ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ ÇÁ·ÎÅäÄÝ ºÎºÐÀ» µî·Ï ÇØÁ¦Çϱâ À§ÇØ NdisDeregisterProtocol ÇÔ¼ö¸¦ È£ÃâÇÏ´Â unload Çڵ鷯¸¦ µî·ÏÇØ¾ß ÇÑ´Ù. unload Çڵ鷯´Â ¶ÇÇÑ µå¶óÀ̹öÀÇ ÇÁ·ÎÅäÄÝ ºÎºÐ¿¡ ÀÇÇØ »ç¿ëµÈ ÀÚ¿øµéÀ» ÇÒ´çÇØÁ¦ÇÏ´Â °Íó·³ ¾î¶² ÇÊ¿äÇÑ cleanup ¿¬»êµéÀ» ÇàÇØ¾ß ÇÑ´Ù.
load balancing ¹Ì´ÏÆ÷Æ®¿Í °°Àº ÇϳªÀÇ ¹Ì´ÏÆ÷Æ® ÀνºÅϽº ÀÌ»óÀ» ¸ð´ÏÅÍÇÏ´Â ¹Ì´ÏÆ÷Æ®´Â »óÅ Á¤º¸¸¦ Áö¿ì´Â unload Çڵ鷯¸¦ µî·ÏÇØ¾ß ÇÏ°í ¸ð´ÏÆÛÇÏ´Â ¹Ì´ÏÆ÷Æ® ÀνºÅϽºµéÀÌ haltµÈ ÈÄ¿¡, ÀÚ¿øµéÀ» ÇØÁ¦ÇØ¾ß ÇÏ´Â unload Çڵ鷯¸¦ µî·ÏÇØ¾ß ÇÑ´Ù. unload Çڵ鷯´Â MiniportHalt ÇÔ¼ö¿Í´Â ´Ù¸£´Ù´Â °ÍÀ» ÁÖÀÇÇ϶ó. : unload Çڵ鷯´Â MiniportHalt ÇÔ¼öÀÇ scope°¡ ƯÈ÷ ¹Ì´ÏÆ÷Æ® ÀνºÅϽº¿¡ Á¦ÇÑµÈ ¹Ý¸é¿¡ ´õ ÀüüÀûÀÎ scope¸¦ °¡Áø´Ù.
NdisMRegisterUnloadHandler ÇÔ¼öÀÇ È£ÃâÀÚµéÀº IRQL PASSIVE_LEVEL ¿¡¼ ½ÇÇàÇÑ´Ù.
|