NdisMSynchronizeWithInterrupt

BOOLEAN 

  NdisMSynchronizeWithInterrupt(

    IN PNDIS_MINIPORT_INTERRUPT  Interrupt,

    IN PVOID  SynchronizeFunction,

    IN PVOID  SynchronizeContext

    );

NdisMSynchronizeWithInterrupt ÇÔ¼ö´Â MiniportISR ȤÀº MiniportDisableInterrupt ÇÔ¼ö¸¦ °¡Áö°í ¹Ì´ÏÆ÷Æ® Á¦°ø ÇÔ¼öÀÇ ½ÇÇàÀ» µ¿±âÈ­ÇÑ´Ù.

¸Å°³º¯¼ö

Interrupt
NdisMRegisterInterrupt ÇÔ¼ö¸¦ °¡Áö°í ÃʱâÈ­µÈ ÀÎÅÍ·´Æ® °´Ã¼¿¡ ´ëÇÑ È£ÃâÀÚ Á¦°ø ÀúÀå¼Ò¸¦ °¡¸®Å²´Ù.

SynchronizeFunction
µå¶óÀ̹öÀÇ MiniportSynchronizeISR ÇÔ¼öÀÇ ¿£Æ®·¹ Æ÷ÀÎÆ®¸¦ ¼­¼úÇÑ´Ù.

SynchronizeContext
MiniportSynchronizeISR ÇÔ¼ö°¡ È£ÃâµÆÀ» ¶§ Àü´ÞµÇ´Â ¹Ì´ÏÆ÷Æ® °áÁ¤ ÄÁÅØ½ºÆ®¸¦ °¡¸®Å²´Ù.

¸®Åϰª

NdisMSynchronizeWithInterrupt ÇÔ¼ö´Â MiniportSynchronizeISR ÇÔ¼ö¿¡ ÀÇÇØ¼­ ¸®ÅÏµÈ Boolean °ªÀ» ¸®ÅÏÇÑ´Ù.

ÁÖ¼®

MiniportSynchronizeISR ÇÔ¼ö¿¡ ÀÇÇØ¼­ ¸®ÅÏµÈ °ªÀº ¶ÇÇÑ NdisMSynchronizeWithInterrupt ÇÔ¼ö¿¡ ÀÇÇØ¼­ ¸®ÅϵȴÙ. ÀüÆÄµÈ ÀÌ °ªÀº »óŸ¦ È£ÃâÀÚ¿¡°Ô Á¦°øÇϱâ À§Çؼ­ »ç¿ëµÉ ¼ö ÀÖ´Ù.

DIRQL¿¡¼­ ½ÇÇàÇÏ´Â ´Ù¸¥ µå¶óÀ̹ö ÇÔ¼ö¿Í ÇÔ²² ÀÚ¿øÀ» °øÀ¯ÇÏ´Â ¹Ì´ÏÆ÷Æ® ÇÔ¼ö´Â ±× ÀÚ¿øÀ¸·ÎÀÇ Á¢±ÙÀ» µ¿±âÈ­Çϱâ À§Çؼ­ NdisMSynchronizeWithInterrupt ÇÔ¼ö¸¦ »ç¿ëÇØ¾ßÇÑ´Ù. MiniportSynchronizeISR ÇÔ¼ö´Â ¶ÇÇÑ DIRQL¿¡¼­ ½ÇÇàÇÏ°í °øÀ¯µÈ ÀÚ¿øÀº ¸ÖƼÇÁ·Î¼¼¼­ Ç÷§Æû¿¡¼­ ½Ã½ºÅÛ ÇÒ´ç ½ºÇɶô¿¡ ÀÇÇØ¼­ º¸È£µÈ´Ù. ±×·¡¼­ °øÀ¯ÀÚ¿øÀº µå¶óÀ̹ö°¡ ¸ÖƼÇÁ·Î¼¼¼­ ±â°è¿¡¼­ ½ÇÇàÁßÀÏ ¶§¸¶´Ù MiniportISR ȤÀº MiniportDisableInterrupt ÇÔ¼ö ±×¸®°í È£ÃâÀÚ¿¡ ÀÇÇÑ µ¿½Ã Á¢±ÙÀ¸·ÎºÎÅÍ º¸È£µÈ´Ù.

NdisMSynchronizeWithInterrupt ÇÔ¼ö´Â ½Ã½ºÅÛ ½ºÇɶôÀ» ÇØÁ¦Çϰí ÅëÁ¦¸¦ ¸®ÅÏÇϱâ Àü¿¡ È£ÃâÀÚÀÇ ¿ø·¡ IRQLÀ» ÀúÀåÇÑ´Ù.

NdisMSynchronizeWithInterrupt ÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL <= DIRQL¿¡¼­ ½ÇÇàÇÑ´Ù.