NdisInitializeTimer
VOID
NdisInitializeTimer(
IN OUT PNDIS_TIMER Timer,
IN PNDIS_TIMER_FUNCTION TimerFunction,
IN PVOID FunctionContext
);
|
NdisInitializeTimerÇÔ¼ö´Â µå¶óÀ̹öÀÇ Å¸ÀÌ¸Ó ÇÔ¼ö¿Í °ü°èµÈ ŸÀ̹ö ¿ÀºêÁ§Æ®¸¦ ÃʱâÈ ÇÑ´Ù.
¸Å°³º¯¼ö
- Timer
- È£ÃâÀÚ Á¦°ø Æ÷ÀÎÅÍ, ŸÀÌ¸Ó ¿ÀºêÁ§Æ®¸¦ ¹ÞÀ» »óÁÖ ÀúÀå°ø°£.
- TimerFunction
- ŸÀ̸Ӱ¡ ¸¸·áµÆÀ»¶§ È£ÃâµÇ¾îÁö´Â È£ÃâÀÚ Á¦°ø ŸÀ̸ÓÇÔ¼öÀÇ ¿£Æ®¸® Æ÷ÀÎÆ®¸¦ ÁöÁ¤ÇÑ´Ù. ´ÙÀ½Àº ÀÌ Å¸À̸ÓÇÔ¼öÀÇ ±¸¹®À» ¼³¸íÇÑ´Ù.:
VOID
(*PNDIS_TIMER_FUNCTION)(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3
);
- FunctionContext
- È£ÃâµÇ¾úÀ»¶§ ÁöÁ¤µÈ ŸÀÌ¸Ó ÇÔ¼ö¿¡°Ô ³Ñ°ÜÁö´Â È£ÃâÀÚ Á¦°ø ÄÁÅØ½ºÆ®ÀÇ Æ÷ÀÎÅÍ.
ÁÖ¼®
ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â NDIS°¡ ŸÀÌ¹Ö ¼ºñ½ºµéÀ» Á¦°øÇÒ°ÍÀ» ¿ä±¸ÇÑ´Ù. ŸÀÌ¹Ö ¼ºñ½ºµéÀ» ¿äûÇϱâÀ§ÇØ, ÀÌ ÇÁ·ÎÅäÄݵå¶óÀ̹ö´Â µå¶óÀ̹öÀÇ Å¸ÀÌ¸Ó ÇÔ¼ö¸¦ ¼³Á¤ÇϱâÀ§ÇØ NdisInitializeTimerÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ÀϹÝÀûÀ¸·Î, NdisInitializeTimerÇÔ¼ö´Â µå¶óÀ̹ö°¡ ÃʱâÈ ÇÒ¶§ È£ÃâµÈ´Ù. ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â ŸÀÌ¸Ó ¿ÀºêÁ§Æ®¸¦ ÀúÀåÇϱâÀ§ÇÑ È£ÃâÀÚ Á¦°ø Æ÷ÀÎÅÍ·Î NdisInitializeTimerÇÔ¼ö¸¦ È£ÃâÇØ¾ß¸¸ ÇÑ´Ù. ±×¶§¹®¿¡ µå¶óÀ̹ö Á¦°ø ŸÀÌ¸Ó ÇÔ¼ö´Â ŸÀÌ¸Ó ¿ÀºêÁ§Æ®¿Í ¿¬°üµÈ´Ù. ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â µå¶óÀ̹ö°¡ ¾î¶² ´Ù¸¥ Ndis..TimerÇÔ¼ö¿¡°Ô TimerÆ÷ÀÎÅ͸¦ ³Ñ±â±âÀü¿¡ NdisInitializeTimerÇÔ¼ö¸¦ È£ÃâÇØ¾ß¸¸ ÇÑ´Ù.
NdisSetTimerÇÔ¼öÀÇ È£ÃâÀº ŸÀÌ¸Ó ¿ÀºêÁ§Æ®¸¦ ½Ã½ºÅÛ Å¸ÀÌ¸Ó Å¥¿¡ ³Ö´Â´Ù. NdisCancelTimerÇÔ¼öÀÇ ¸¸¾à ÇöÁ¦ Å¥µÇ¾ú´Ù¸é È£ÃâÀº ŸÀÌ¸Ó ¿ÀºêÁ§Æ®¸¦ DEÅ¥ÇÑ´Ù. ´ÜÁö ÇϳªÀÇ Æ¯º°ÇÑ Å¸ÀÌ¸Ó ¿ÀºêÁ§Æ®ÀÇ ÀνºÅϽº¸¸ÀÌ ¾î¶² ÁÖ¾îÁø ¼ø°£¿¡ Å¥µÇ¾îÁú¼ö ÀÖ´Ù.
µå¶óÀ̹ö°¡ NdisSetTimerÇÔ¼ö¸¦ È£ÃâÇÑÈÄ, ±× Äݳ»¿¡ ÁöÁ¤µÈ ÀÎÅ͹úÀÌ ¸¸·áµÉ¶§±îÁö Timer¿¡ ŸÀÌ¸Ó ¿ÀºêÁ§Æ®´Â Å¥µÈ´Ù. ÀÎÅ͹úÀÌ ¸¸·áµÈÈÄ, ŸÀÌ¸Ó ¿ÀºêÁ§Æ®´Â deÅ¥µÇ°í È£ÃâÀÚ Á¦°ø TimerFunctionÀº ÇÁ·Î¼¼¼°¡ ÀÌ¿ëÇÒ¼ö ÀÖ°ÔµÇÀÚ¸¶ÀÚ IRQL DISPATCH_LEVEL¿¡¼ Çѹø µ¿ÀÛÇÑ´Ù.
NdisInitializeTimerÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL PASSIVE_LEVEL¿¡¼ µ¿ÀÛÇÑ´Ù.
|