NdisMSleep
VOID
NdisMSleep(
IN ULONG MicrosecondsToSleep
);
|
NdisMSleep ÇÔ¼ö´Â ¸¶ÀÌÅ©·ÎÃÊ ´ÜÀ§·Î ÁÖ¾îÁø °£°ÝÀ¸·Î È£ÃâÀÚÀÇ ½ÇÇàÀ» Áö¿¬ÇÑ´Ù.
¸Å°³º¯¼ö
- MicrosecondsToSleep
- Áö¿¬µÇ´Â ¸¶ÀÌÅ©·ÎÃÊ ¼ö¸¦ ¼¼úÇÑ´Ù.
ÁÖ¼®
MicrosecondsToSleep¸¦ À§Çؼ È£ÃâÀÚÀÇ ½ÇÇà ½º·¹µå´Â ´ë±â»óŰ¡ µÈ´Ù. µû¶ó¼ ´Ù¸¥ ½º·¹µå´Â ÇöÀçÀÇ ÇÁ·Î¼¼¼¿¡¼ ÀÛ¾÷ÀÇ ¼öÇàÀ» Çã¶ôÇÑ´Ù. ÁÖ¾îÁø °£°ÝÀÌ ¸¸·áµÆÀ» ¶§ NdisMSleep ÇÔ¼öÀÇ È£ÃâÀÚ´Â ´Ù½Ã ½ÇÇàÇÑ´Ù.
µå¶óÀ̹ö°¡ IRQL >= DISPATCH_LEVEL¿¡¼ ½ÇÇàÁßÀÌ ¾Æ´Ï¶ó¸é NDIS µå¶óÀ̹ö´Â Ç×»ó NdisStallExecution ÇÔ¼öº¸´Ù ÁÁÀº NdisMSleep ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. NdisMSleep ÇÔ¼ö´Â 50 ¸¶ÀÌÅ©·ÎÃÊ º¸´Ù ´õ Å« °£°ÝÀ» °¡Áö°í °áÄÚ È£ÃâµÇÁö ¾Ê´Â NdisStallExecution ÇÔ¼öº¸´Ù ´õ Å« Áö¿¬ °£°ÝÀ» ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Ù.
NIC µå¶óÀ̹ö´Â MiniportInitialize ÇÔ¼ö¿¡¼ NdisMSleep ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ±×¸®°í °¡´ÉÇÏ´Ù¸é ÇÔ¼ö°¡ ±×°ÍÀÇ ¿¬»êÀ» °è¼ÓÇϱâ Àü¿¡ NIC¿¡¼ ¹ß»ýÇÏ´Â »óÅ º¯È¸¦ ÇÔ¼ö°¡ ±â´Ù·Á¾ß ÇÒ ¶§ MiniportHalt ÇÔ¼ö¿¡¼µµ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
NdisMSleep°ú NdisStallExecution ÇÔ¼ö ¸ðµÎ NIC µå¶óÀ̹ö·Î ÇÏ¿©±Ý È£½ºÆ® CPUÀÇ Å¬·° ¼ÓµµÀÇ Áö¿¬µÈ Àϰü¼º°ú µ¶¸³¼ºÀ» ¼¼úÇϵµ·Ï ÇÑ´Ù. ¤§µÑ Áß ¾î´À Çϳªµµ NdisSet(Periodic)Timer ÇÔ¼ö¿¡ ÀÇÇØ¼ »ç¿ëµÈ ŸÀÌ¸Ó °´Ã¼¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. È£½ºÆ® ½Ã½ºÅÛ Å¬·°ÀÇ ÇØ°áÀº ´Ù¾çÇØ¼ ¸Å¿ì ªÀº Áö¿¬Àº È£ÃâÀÚÀÇ ¸í½ÃµÈ NdisMSleep ȤÀº NdisStallExecution ÇÔ¼ö¸¦ ´õÀÌ»ó ½ÇÇàÇÏÁö ¾Ê´Â´Ù.
NdisMSleep ÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL < DISPATCH_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù.
|