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¿¡¼­ µ¿À۵Ǿî¾ß¸¸ ÇÑ´Ù.