NdisCancelTimer

VOID 

  NdisCancelTimer(

    IN PNDIS_TIMER  Timer,

    OUT PBOOLEAN  TimerCanceled

    );

NdisCancelTimerÇÔ¼ö´Â ¸¸¾à NdisSetTimer¿¡°Ô ÁÖ¾îÁø ÀÎÅ͹úÀÌ ¾ÆÁ÷ ¸¸·áµÇÁö ¾Ê¾Ò´Ù¸é NdisSetTimer¸¦ È£ÃâÇϴ ó¸®¸¦ Áï°¢ÀûÀ¸·Î Ãë¼ÒÇÑ´Ù.

¸Å°³º¯¼ö

Timer
ŸÀÌ¸Ó ¿ÀºêÁ§Æ®ÀÇ Æ÷ÀÎÅÍ, ÀÌ¹Ì NdisInitializeTimerÇÔ¼ö·Î ÃʱâÈ­µÇ°í NdisSetTimerÇÔ¼ö·Î ¼³Á¤µÆ´Ù.

TimerCanceled
È£ÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù. NdisCancelTimerÇÔ¼ö´Â ¸¸¾à ŸÀ̸Ӱ¡ ÀúÀåµÇ°í ±×¸®°í³ª¼­ Ãë¼Ò°¡ µÈ´Ù¸é ÀÌ º¯¼ö¸¦ TRUE·Î ¼³Á¤Çϰí, ¸¸¾à ŸÀ̸Ӱ¡ ¼³Á¤µÇ¾îÀÖÁö¾Ê°Å³ª ¿¬°üµÈ ŸÀÌ¸Ó ÇÔ¼öµéÀ» µ¿ÀÛÇϵµ·ÏÇϰųª ÀÌ¹Ì ¸¸·áµÆ´Ù¸é FALSEÀÌ´Ù.

ÁÖ¼®

ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö°¡ Á¸ÀçÇÏ´ÂÀúÀå°ø°£À» Á¦°øÇØ¾ß Çϴ°Ϳ¡´ëÇØ¼­ ¸ðµç Ndis..TimerÇÔ¼öµéÀº ¸ðÈ£ÇÑ Å¸ÀÌ¸Ó ¿ÀºêÁ§Æ®¿¡¼­ µ¿ÀÛÇÑ´Ù. ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â ÀÌÀúÀå Àå¼Ò¿¡ ´ëÇÑ È£ÃâÀÚ Á¦°ø Æ÷ÀÎÅ͸¦ °¡Áö°í NdisInitializeTimerÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. µû¶ó¼­ ŸÀÌ¸Ó ¿ÀºêÁ§Æ®¸¦ ÅëÇØ µå¶óÀ̹ö Á¦°ø ŸÀÌ¸Ó ÇÔ¼ö¸¦ ¿¬°üÁþ´Â´Ù. ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â µå¶óÀ̹ö°¡ ¾î¶² ´Ù¸¥ Ndis...Timer ÇÔ¼ö¿¡´ëÇÑ TimerÆ÷ÀÎÅ͸¦ ³Ñ°ÜÁÖ±âÀü¿¡ NdisInitializeTimerÇÔ¼ö¸¦ È£ÃâÇØ¾ß¸¸ÇÑ´Ù.

´ÙÀ½Àº µå¶óÀ̹öÁ¦°ø ŸÀÌ¸Ó ÇÔ¼öÀÇ ±¸¹®À» ¼³¸íÇÑ´Ù.:

VOID 

  (*PNDIS_TIMER_FUNCTION)(

    IN PVOID  SystemSpecific1,

    IN PVOID  FunctionContext,

    IN PVOID  SystemSpecific2,

    IN PVOID  SystemSpecific3

    );

NdisSetTimerÇÔ¼öÀÇ È£ÃâÀÚ´Â ½Ã½ºÅÛ Å¸ÀÌ¸Ó Å¥¿¡ ŸÀÌ¸Ó ¿ÀºêÁ§Æ®¸¦ »ðÀÔÇÑ´Ù. ŸÀÌ¸Ó ¿ÀºêÁ§Æ®°¡ ÀúÀåµÇ´Â ÀÎÅ͹ú µ¿¾È, NdisCancelTimerÇÔ¼öÀÇ È£ÃâÀº Å¥·ÎºÎÅÍ Å¸À̹ö ¿ÀºêÁ§Æ®¸¦ Á¦°ÅÇÑ´Ù. ¿¬°üµÈ ŸÀÌ¸Ó ÇÔ¼öÀÇ ½ÇÇàÀÇ Ãë¼Ò¿¡ÀÇÇØ. Ưº°ÇÑ Å¸ÀÌ¸Ó ¿ÀºêÁ§ÀÇ À¯ÀÏÇÑ ÀνºÅϽº´Â ¾î¶² ÁÖ¾îÁø ½Ã°£¿¡ ťȭµÇ¾îÁú¼ö ÀÖ´Ù.

NdisSetTimer¿¡´ëÇÑ ¼øÂ÷ÀûÀΠȣÃâÀº ŸÀÌ¸Ó ¿ÀºêÁ§Æ®¸¦ ´Ù½Ã ťȭÇϰí ŸÀÌ¸Ó ÇÔ¼ö´Â ´Ù½Ã ÁÖ¾îÁø ÀÎÅ͹úÀÌ ¸¸·áµÉ¶§ µ¿À۵ɰÍÀÌ´Ù.

¸¸¾à ŸÀ̸Ӱ¡ ťȭµÇ°í ±×¸®°í³ª¼­ Ãë¼ÒµÇ¾ú´Ù¸é, NdisCancelTimerÇÔ¼öÀÇ È£ÃâÀº TimerCanceled ÆÄ¶ó¹ÌÅͳ»¿¡ TRUE¸¦ ¸®ÅÏÇÑ´Ù. NdisCancelTimerÇÔ¼ö´Â ¸¸¾à ŸÀÌ¸Ó ÇÔ¼ö°¡ ÀÌ¹Ì µ¿ÀÛÇϰí Àְųª µ¿ÀÛÇϴ°ÍÀ¸·ÎºÎÅÍ Å¸ÀÌ¸Ó ÇÔ¼ö¸¦ ¸ØÃß´Â ¹æ¹ýÀÌ ¾ø´Ù¸é FALSE¸¦ ¸®ÅÏÇÑ´Ù. ¸¸¾à NdisCancelTimerÇÔ¼ö°¡ FALSE¸¦ ¸®ÅÏÇϸé, È£ÃâÀÚ´Â ÀûÀýÇÑ µ¿ÀÛÀ» ÃëÇØ¾ß¸¸ ÇÑ´Ù.

NdisCancelTimerÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼­ µ¿ÀÛÇÑ´Ù.