NdisInitializeWorkItem
VOID
NdisInitializeWorkItem(
IN PNDIS_WORK_ITEM WorkItem,
IN NDIS_PROC Routine,
IN PVOID Context
);
|
NdisInitializeWorkItemÇÔ¼ö´Â È£ÃâÀÚ Á¦°ø ÄÁÅØ½ºÆ®¿Í ½Ã½ºÅÛ ÀÛ¾÷ÀÚ ½º·¹µå°¡ ÄÁÆ®·Ñ¿¡°Ô ÁÖ¾îÁú¶§ ½ÇÇà¿¡´ëÇØ Å¥µÇ¾îÁö´Â Äݹé·çƾ·Î ÀÛ¾÷-Å¥¸¦ ÃʱâÈ ÇÑ´Ù.
¸Å°³º¯¼ö
- WorkItem
- ÃʱâÈ µÇ¾îÁö´Â È£ÃâÀÚ Á¦°ø ÀúÀåÀå¼ÒÀÇ Æ÷ÀÎÅÍ. ºñÆäÀÌÁöÈµÈ pool·ÎºÎÅÍ ÇÒ´çµÇ¾îÁ®¾ß¸¸ÇÑ´Ù.
- Routine
- deÅ¥µÇ¾úÀ»¶§ ÀÌ ÀÛ¾÷ ¾ÆÀÌÅÛÀ» ó¸®Çϴ ȣÃâÀÚ Á¦°ø ÇÔ¼öÀÇ ¿£Æ®¸® Æ÷ÀÎÆ®¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ÄݹéÀº ´ÙÀ½°ú °°ÀÌ ¼±¾ðµÇ¾ú´Ù.:
VOID
(*NDIS_PROC)(
IN struct _NDIS_WORK_ITEM * pWorkItem,
IN PVOID Context
);
- Context
- À¯ÀÏÇÑ ÆÄ¶ó¹ÌÅͷνá Äݹ鿡°Ô ³Ñ°ÜÁö°í ÇØ¼®µÇ¾îÁöÁö¾Ê´Â È£ÃâÀÚ Á¦°ø ÄÁÅØ½ºÆ® ¿µ¿ªÀÇ Æ÷ÀÎÆ®. ÀÌ ¿µ¿ªÀº »óÁÖ ¸Þ¸ð¸®³»¿¡ ÀÖ¾î¾ß¸¸ Çϰí ÄݹéÀÌ ¼øÂ÷ÀûÀ¸·Î µ¿ÀÛµÉÁö ¸ð¸£´Â ÀÓÀÇÀÇ ½º·¹µå ¿µ¿ª³»¿¡ Á¢±ÙÇÒ¼ö ÀÖ¾î¾ß¸¸ ÇÑ´Ù. ƯÈ÷, Context´Â ½ºÅÃÀ» °¡¸±Å³¼ö ¾ø´Ù.
ÁÖ¼®
NdisInitializeWorkItemÇÔ¼ö´Â Routine °ú Context °ú NULL ¸®½ºÆ® Æ÷ÀÎÅÍ·Î ItemÀ» ÃʱâÈ ÇÑ´Ù.
ÀϹÝÀûÀ¸·Î, À¯ÀÏÇÑ ³ôÀº ·¹º§ µå¶óÀ̹öµéÀº ÀÛ¾÷ÀÚ ½º·¹½º ¾ÆÀÌÅÛµéÀ» Å¥ÇÑ´Ù.
ºñÁ÷·ÄȵÇÁö¾Ê°í ¿¬°áÁöÇâÀÌ ¾Æ´Ñ ´Ð ¹Ì´ÏÆ÷Æ®´Â Ndis..WorkItemÇÔ¼ö¸¦ È£ÃâÇØ¼´Â ¾ÈµÈ´Ù.
ÁÖ¾îÁø RoutineÀº Item¿¡´ëÇÑ ÀúÀåÀå¼Ò¸¦ ÇØÁ¦ÇϱâÀ§ÇØ NdisFreeMemoryÇÔ¼öÀÇ È£Ãâ¿¡´ëÇÑ Ã¥ÀÓÀ» Áø´Ù.
NdisInitializeWorkItemÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼ µ¿À۵Ǿî¾ß¸¸ ÇÑ´Ù.
|