MiniportHandleInterrupt

VOID 

  MiniportHandleInterrupt(

    IN NDIS_HANDLE  MiniportAdapterContext

    );

MiniportHandleInterrupt´Â ¸¸¾à µå¶óÀ̹öÀÇ NICÀÌ ÀÎÅÍ·´Æ®µéÀ» ¹ß»ýÇÑ´Ù¸éÀº ÇÊ¿äÇÑ ÇÔ¼öÀÌ´Ù. MiniportHandleInterrupt´Â ¸ðµç ¹ß»ýÇÏ´Â(outstanding) ÀÎÅÍ·´Æ® ¿¬»êµéÀÇ Áö¿¬µÈ(deferred) 󸮸¦ ÇàÇÑ´Ù.

¸Å°³º¯¼ö

MiniportAdapterContext
µå¶óÀ̹ö°¡ MiniportInitialize¿¡ ÀÇÇØ ¼³Á¤µÈ NIC ´ç »óŸ¦ À¯ÁöÇÏ´Â ¹Ì´ÏÆ÷Æ® ÇÒ´ç ÄÁÅØ½ºÆ® ¿µ¿µ¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.

ÁÖ¼®

NICÀÌ ÀÎÅÍ·´Æ®¸¦ ¹ß»ýÇÒ ¶§, ¹Ì´ÏÆ÷Æ®ÀÇ MiniportISR ȤÀº MiniportDisableInterrupt ÇÔ¼ö´Â NIC¿¡¼­ ÀÎÅÍ·´Æ®¸¦ dismiss ÇÏ°í ¿¬»ê¿¡ ´ëÇÑ ¾î¶² ÇÊ¿äÇÑ »óŸ¦ ÀúÀåÇϰí, °¡´ÉÇÑÇÑ ºü¸£°Ô, MiniportHandleInterrupt¿¡ ´ëÇÑ ´ëºÎºÐÀÇ ÀÎÅÍ·´Æ® À¯µµ I/O ¿¬»êµéÀ» Áö¿¬ÇÔÀ¸·Î½á Á¦¾î¸¦ ¸®ÅÏÇÑ´Ù. MiniportHandleInterrupt´Â ¸ðµç ¹ß»ýÇÏ´Â ÀÎÅÍ·´Æ® ¿¬»êµéÀÇ Áö¿¬µÈ 󸮸¦ ÇÑ´Ù.

¸¸¾à NICÀÌ IRQ¸¦ °øÀ¯ÇÑ´Ù¸éÀº, MiniportHandleInterrupt´Â ¸¸¾à MiniportISR ÇÔ¼ö°¡ QueueMiniportHandleInterrupt¸¦ TRUE·Î ¼³Á¤Çؼ­ ¸®ÅϵȴٸéÀº È£ÃâµÇ¾îÁø´Ù.

MiniportHandleInterrupt°¡ È£ÃâµÇ¾îÁú ¶§, ÀÎÅÍ·´Æ®µéÀº ÀüÇüÀûÀ¸·Î MiniportISR ȤÀº MiniportDisableInterrupt ÇÔ¼ö¿¡ ÀÇÇØ NIC¿¡¼­ ºÒ°¡´ÉÇÏ°Ô µÇ¾îÁø´Ù. Á¦¾î¸¦ ¸®ÅÏÇϱâ Àü¿¡, MiniportHandleInterrupt´Â NIC¿¡¼­ ´Ù½Ã ÀÎÅÍ·´Æ®µéÀ» °¡´ÉÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.

¹Ì´ÏÆ÷Æ®´Â NdisMRegisterInterrupt·Î ÇÒ´çµÈ ÀÚ¿øµéÀ» ÇØÁ¦Çϱâ À§ÇØ MiniportInitialize ȤÀº MiniportHalt ÇÔ¼ö·ÎºÎÅÍ NdisMDeregisterMiniport¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. NdisMDeregisterMiniport°¡ ¸®ÅÏµÈ ÈÄ¿¡, NDIS´Â ¹Ì´ÏÆ÷Æ®ÀÇ MiniportISR ȤÀº MiniportHandleInterrupt ÇÔ¼öµéÀ» È£ÃâÇÏÁö ¾Ê´Â´Ù.

µðÆúÆ®·Î, MiniportHandleInterrupt´Â IRQL DISPATCH_LEVEL¿¡¼­ ½ÇÇàÇÑ´Ù.