MiniportDisableInterrupt
VOID
MiniportDisableInterrupt(
IN NDIS_HANDLE MiniportAdapterContext
);
|
MiniportDisableInterrupt´Â IRQ¸¦ °øÀ¯ÇÏÁö ¾Ê°í µ¿ÀûÀ¸·Î ÀÎÅÍ·´Æ®µéÀ» °¡´ÉÇÏ°Ô ÇÏ°í ºÒ°¡´ÉÇÏ°Ô ÇÏ´Â °ÍÀ»
Áö¿øÇÏ´Â NIC µå¶óÀ̹öµé¿¡ ÀÇÇØ Á¦°øµÇ¾îÁö´Â ¼±ÅÃÀûÀÎ ÇÔ¼öÀÌ´Ù.
¸Å°³º¯¼ö
- MiniportAdapterContext
- µå¶óÀ̹ö°¡ MiniportInitialize¿¡ ÀÇÇØ ¼³Á¤µÈ NIC ´ç »óŸ¦ À¯ÁöÇÏ´Â ¹Ì´ÏÆ÷Æ® ÇÒ´ç ÄÁÅØ½ºÆ® ¿µ¿ª¿¡ ´ëÇÑ
ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
ÁÖ¼®
MiniportDisableInterrupt´Â ÀüÇüÀûÀ¸·Î NIC¿¡ ¸¶½ºÅ©¸¦ ¾¸À¸·Î½á ÀÎÅÍ·´Æ®µéÀ» ºÒ°¡´ÉÇÏ°Ô ÇÑ´Ù. ¸¸¾à µå¶óÀ̹ö°¡
ÀÌ ÇÔ¼ö¸¦ °¡ÁöÁö ¾Ê´Â´Ù¸éÀº, ÀüÇüÀûÀ¸·Î MiniportISRÀº NIC¿¡°Ô ÀÎÅÍ·´Æ®µéÀ» ºÒ°¡´ÉÇÏ°Ô ÇÑ´Ù.
¸¸¾à NICÀÌ ÀÎÅÍ·´Æ®µéÀ» µ¿ÀûÀ¸·Î °¡´ÉÇÏ°Ô ±×¸®°í ºÒ°¡´ÉÇÏ°Ô ÇÏ´Â °ÍÀ» Áö¿øÇÏÁö ¾Ê°Å³ª IRQ¸¦ °øÀ¯ÇÑ´Ù¸éÀº,
NIC µå¶óÀ̹ö´Â MiniportISR ÇÔ¼ö¸¦ µî·ÏÇØ¾ß Çϰí RequestIsr¸¦ NdisMRegisterMiniport¸¦ È£ÃâÇÒ ¶§,
TRUE·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù. ±×·¯ÇÑ µå¶óÀ̹öÀÇ MiniportISR ÇÔ¼ö´Â NIC¿¡ ÀÇÇØ ¹ß»ýµÈ °¢ ÀÎÅÍ·´Æ®¸¦ ÀνÄÇØ¾ß Çϰí
µå¶óÀ̹öÀÇ MiniportHandleInterrupt ÇÔ¼ö¸¦ À§ÇÑ ¾î¶² ÇÊ¿äÇÑ ÀÎÅÍ·´Æ® Á¤º¸¸¦ ÀúÀåÇØ¾ß ÇÑ´Ù.
µðÆúÆ®·Î, NIC µå¶óÀ̹öÀÇ MiniportInitialize ÇÔ¼ö°¡ NdisMRegisterInterrupt¸¦ È£ÃâÇÒ ¶§, DIRQL¿¡¼ ƯÈ÷,
MiniportDisableInterrupt¸¦ DIRQL¿¡¼ ½ÇÇàÇÑ´Ù. ±×·¯¹Ç·Î, MiniportDisableInterrupt´Â ¾î¶² IRQL¿¡¼µµ È£ÃâÇϴµ¥
¾ÈÀüÇÑ NdisRawXxx ÇÔ¼öµé°ú °°Àº NDIS ¶óÀ̺귯¸® ÇÔ¼öµéÀÇ ¼ºê¼ÂÀ» È£ÃâÇÒ ¼ö ÀÖ´Ù.
MiniportDisableInterrupt°¡ NIC·¹Áö½ºÅ͵é°ú °°Àº ÀÚ¿øµéÀ» ³·Àº IRQL¿¡¼ ½ÇÇàÇÏ´Â ¶Ç ÇϳªÀÇ MiniportXxx¿Í
°øÀ¯ÇÑ´Ù¸éÀº, ±×·¯ÇÑ MiniportXxxx´Â NdisMSynchronizeWithInterrupt¸¦ È£ÃâÇØ¼ µå¶óÀ̹öÀÇ MiniportSynchronizeISR
ÇÔ¼ö´Â µ¿±âÈµÈ ±×¸®°í ¸ÖƼÇÁ·Î¼¼¼ ¾ÈÀü ¹æ¹ýÀ¸·Î NDIS ¶óÀ̺귯¸® ÇÔ¼öµéÀÇ ¼ºê¼ÂÀ» È£ÃâÇÒ ¼ö ÀÖ´Ù.
±×·¸Áö ¾Ê´Ù¸éÀº, °øÀ¯µÈ ÀÚ¿øµéÀ» Á¢±ÙÇÏ´Â µ¿¾È, ±×·¯ÇÑ MiniportXxx ÇÔ¼ö´Â °¡´ÉÇÑÇÑ MiniportXxx¿¡ ÀÇÇØ ÇàÇØÁø
ÀÛ¾÷µéÀ» ¿ø»ó º¹±¸ÇÔÀ¸·Î½á(undoing) MiniportDisableInterrupt¿¡ ÀÇÇØ ¼±Á¡µÉ ¼ö ÀÖ´Ù.
|