NdisInitializeListHead

VOID

  NdisInitializeListHead(

    IN PLIST_ENTRY  ListHead

    );

NdisInitializeListHeadÇÔ¼ö´Â ÀÌÁß ¿¬°áµÈ ÀÎÅͶôµÈ Å¥,µå¶óÀ̹ö°¡ À¯ÁöÇÏ´Â ÀÎÅͶôµÈ Å¥ ȤÀº ÀÌÁß ¿¬°á¸®½ºÆ®¸¦ ÃʱâÈ­ ÇÑ´Ù.

¸Å°³º¯¼ö

ListHead
ÀÎÅͶôµÈ Å¥ ȤÀº ¸®½ºÆ®ÀÇ Çìµå¿¡´ëÇÑ µå¶óÀ̹ö°¡ ÇÒ´çÇÑ ºñÆäÀÌÁöÈ­µÈ ÀúÀå°ø°£ÀÇ Æ÷ÀÎÅÍ.

ÁÖ¼®

NdisInitializeListHeadÇÔ¼ö´Â ¸¸¾à µå¶óÀ̹ö°¡ ¿äûµéÀ» ³»ºÎÀûÀ¸·Î Å¥ÇÑ´Ù¸é, MiniportInitializeÇÔ¼öȤÀº ÇÁ·ÎÅäÄÝ µå¶óÀ̹öÀÇ DriverEntryÇÔ¼ö·ÎºÎÅÍ È£ÃâµÉ¼ö ÀÖ´Ù. ±×·¯³ª ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â NDIS¶óÀ̺귯¸®°¡ ¿äûµé°ú ¹Ì´ÏÆ÷Æ®·Î º¸³»Áø ÆÐŶµéÀ» Á÷·ÄÈ­Çϱ⶧¹®¿¡ Á»Ã³·³ ³»ºÎÀûÀΠťµéÀ» ¼³Á¤ÇÏÁö ¾Ê´Â´Ù.

³»ºÎÀûÀΠť¸¦ À¯ÁöÇÏ´Â ¾î¶² NDISµå¶óÀ̹ö´Â ťȭµÈ ¿£Æ®¸®µé¿¡ µ¿±âÀûÀÎ µå¶óÀ̹ö ÇÔ¼öµéÀÇ Á¢±Ùµé¿¡ ´ëÇÑ Ã¥ÀÓÀ» Áø´Ù. NdisInterlocked..ListÇÔ¼öµéÀº µå¶óÀ̹ö°¡ ¸ÖƼ ÇÁ·Î¼¼¼­ ¸Ó½Å¿¡¼­ µ¿ÀÛÇÑ´Ù ÇÒÁö¶óµµ ´ÜÁö ÇϳªÀÇ µå¶óÀ̹öÇÔ¼ö°¡ ¾î¶² ÁÖ¾îÁø ¼ø°£¿¡ Å¥µÈ ¿£Æ®¸®µéÀ» Á¢±ÙÇÒ¼ö Àִٴ°ÍÀ» È®½ÇÈ÷ÇÑ´Ù. ¿Ö³ÄÇϸé Å¥´Â È£ÃâÀÚ Á¦°ø ½ºÇÉ ¶ô¿¡ÀÇÇØ º¸È£µÇ¾îÁö±â¶§¹®¿¡.

ÀÎÅͶôµÈ Å¥¿¡´ëÇØ, µå¶óÀ̹ö´Â ¶ÇÇÑ ½ºÇɶô¿¡´ëÇØ ºñÆäÀÌÁöÈ­µÈ ÀúÀåÀå¼Ò¸¦ Á¦°øÇÑ´Ù. ±× ½ºÇɶô¿¡´ëÇÑ NdisInterlocked..ListÇÔ¼öµé¿¡°Ô Æ÷ÀÎÅ͸¦ ³Ñ±â±â Àü¿¡ NdisAllocateSpinLockÇÔ¼ö·Î ½ºÇɶôÀ» ÃʱâÈ­ ÇØ¾ß¸¸ ÇÑ´Ù.

NdisInitializeListHeadÇÔ¼öÀÇ È£ÃâÀÚ´Â ÀϹÝÀûÀ¸·Î IRQL PASSIVE_LEVEL¿¡¼­ µ¿ÀÛÇÑ´Ù. ¿Ö³ÄÇϸé, ÀÌ ÇÔ¼ö´Â ÀϹÝÀûÀ¸·Î ÃʱâÈ­¿¡¼­ È£ÃâµÈ´Ù.