MiniportHalt
VOID
MiniportHalt(
IN NDIS_HANDLE MiniportAdapterContext
);
|
MiniportHalt´Â NICÀÌ Á¦°ÅµÉ ¶§ ±×¸®°í NICÀ» haltÇÒ ¶§ ÀÚ¿øÀ» ÇØÁ¦ÇÏ´Â ¿ä±¸µÈ ÇÔ¼öÀÌ´Ù.
¸Å°³º¯¼ö
- MiniportAdapterContext
- µå¶óÀ̹ö°¡ MiniportInitialize¿¡ ÀÇÇØ ¼³Á¤µÇ¾îÁö´Â NIC »óÅ´ç À¯ÁöÇÏ´Â ¹Ì´ÏÆ÷Æ® ÇÒ´ç ÄÁÅØ½ºÆ®
¿µ¿ª¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
ÁÖ¼®
MiniportHalt´Â ¸¸¾à ½ÇÁ¦ NICÀÌ Á¦¾îÇÑ´Ù¸éÀº NICÀ» ¸ØÃÄ¾ß Çϰí, MiniportHalt°¡ Á¦¾î¸¦ ¸®ÅÏÇϱâ Àü¿¡
NICÀ» À§ÇØ µå¶óÀ̹ö°¡ ÇÒ´çÇÑ ¸ðµç ÀÚ¿øÀ» ÇØÁ¦ÇØ¾ß ÇÑ´Ù.
¸¸¾à NIC µå¶óÀ̹ö°¡ ¸Þ¸ð¸®¸¦ ÇÒ´çÇϰí I/O Æ÷Æ® ¹üÀ§, È£½ºÆ®¿¡ ´ëÇÑ ¸ÊµÈ on-board ÀåÄ¡ ¸Þ¸ð¸®,
ÃʱâÈµÈ Å¸ÀÌ¸Ó¿Í ½ºÇɶô ÇÒ´çµÈ ¸Ê ·¹Áö½ºÆ® ȤÀº ¿ä±¸µÈ DMA ä³Î, ÀÎÅÍ·´Æ®µéÀ» ÇÒ´çÇÑ´Ù¸éÀº
±×·¯ÇÑ µå¶óÀ̹ö´Â ¿ø·¡ ÀÌ·¯ÇÑ ÀÚ¿øµéÀ» ÇÒ´çÇÑ NdisXxx ÇÔ¼öµéÀ» È£ÃâÇØ¾ß ÇÑ´Ù.
ÀϹÝÀûÀÎ ±ÔÄ¢À¸·Î, MiniportHalt ÇÔ¼ö´Â MiniportInitialize·ÎºÎÅÍ È£ÃâµÇ¾îÁø ¿ª¼øÀ¸·Î NdisXxx ÇÔ¼öµéÀ»
È£ÃâÇØ¾ß ÇÑ´Ù.
Áï, ¸¸¾à NIC µå¶óÀ̹öÀÇ MiniportInitialize ÇÔ¼ö°¡ NdisMRegisterAdapterShutdownHandler¸¦ Á¦¾î¸¦ ¸®ÅÏÇϱâ
Àü¿¡ È£ÃâÇÑ´Ù¸éÀº MiniportHalt ÇÔ¼ö´Â óÀ½ NdisMDeregisterAdapterShutdownHandlerÀ» È£ÃâÇÒ °ÍÀÌ´Ù.
¸¸¾à NICÀÌ ÀÎÅÍ·´Æ®µéÀ» ¹ß»ýÇϰųª ȤÀº IRQ¸¦ °øÀ¯ÇÑ´Ù¸éÀº, NIC µå¶óÀ̹öÀÇ MiniportHalt ÇÔ¼ö´Â
MiniportHalt ÇÔ¼ö°¡ NdisMDeregisterInterrupt ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§±îÁö MiniportDisableInterrupt ÇÔ¼ö ȤÀº
MiniportISR¿¡ ÀÇÇØ ¼±Á¡µÇ¾îÁú ¼ö ÀÖ´Ù.
±×·¯ÇÑ µå¶óÀ̹öÀÇ MiniportHalt ÇÔ¼ö´Â Ç×»ó °¡´ÉÇÏ´Ù¸éÀº NIC¿¡ ´ëÇÑ ÀÎÅÍ·´Æ®µéÀ» µð½º¿¡À̺íÇϰí
°¡´ÉÇÑÇÑ »¡¸® NdisMDeregisterInterrupt¸¦ È£ÃâÇÑ´Ù.
¸¸¾à µå¶óÀ̹ö°¡ ½Ã½ºÅÛ Å¸ÀÌ¸Ó Å¥¿¡ ÀÖ´Â ¾î¶² ŸÀÌ¸Ó °´Ã¼¿Í °ü·ÃµÈ MiniportTimer ÇÔ¼ö¸¦ °¡Áø´Ù¸éÀº
MiniportHalt´Â NdisMCancelTimer¸¦ È£ÃâÇØ¾ß ÇÑ´Ù.
±×·¸Áö ¾Ê´Â´Ù¸éÀº ¹Ì´ÏÆ÷Æ®°¡ MiniportHalt°¡ ÇÒ´çµÈ ÀÚ¿øµéÀ» ÇØÁ¦Çϱ⠽ÃÀÛÇϱâ Àü¿¡ NIC¿¡ ´ëÇÑ
¿ä±¸µéÀ» ¿Ï¼ºÇÏ´Â °ÍÀÌ ºÒÇÊ¿äÇÏ´Ù.
NDIS´Â ´õ ÀÌ»ó ¹Ì´ÏÆ÷Æ®¿¡°Ô NDIS°¡ MiniportHalt¸¦ È£ÃâÇÒ ¶§ MiniportAdapterContext Çڵ鿡 ÀÇÇØ
À§ÀÓµÈ NICÀ» À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ´ëÇÑ ¿ä±¸µéÀÌ ´õÀÌ»ó Á¦ÃâµÇÁö ¾Ê´Â´Ù.
MiniportHalt·ÎºÎÅÍÀÇ ¸®ÅÏÇÏÀÚ¸¶ÀÚ, NDIS´Â ¸¸¾à ¹Ì´ÏÆ÷Æ®°¡ Çö ÄÄÇ»ÅÍ¿¡¼ ´Ù¸¥ NICµéÀ» À§ÇØ ¾î¶²
Áö¿øµéÀÌ ¾ø´Ù¸éÀº µå¶óÀ̹ö¿Í NIC¿¡ ´ëÇØ À¯ÁöÇØ¿Â ¾î¶² »óŸ¦ Áö¿î´Ù.
NdisIMDeinitializeDeviceInstance¿¡ ´ëÇÑ NDIS ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ È£ÃâÀº MiniportHalt ÇÔ¼ö¿¡ ´ëÇÑ
È£ÃâÀ» ¾ß±âÇÑ´Ù.
µðÆúÆ®·Î MiniportHalt´Â IRQL PASSIVE_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù.
|