NdisMCoSendComplete

VOID 

  NdisMCoSendComplete(

    IN NDIS_STATUS  Status,

    IN NDIS_HANDLE  NdisVcHandle,

    IN PNDIS_PACKET  Packet

    );

NdisMCoSendComplete´Â º¸³»±â¸¦ ¿ä±¸ÇÑ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ °ü·ÃµÈ ÀÚ¿øµé°ú ÆÐŶ µð½ºÅ©¸³Å͸¦ ¸®ÅÏÇÑ´Ù.

¸Å°³º¯¼ö

Status
NDIS_STATUS_PENDINGÀ» Á¦¿ÜÇÑ NDIS_STATUS_SUCCESS ȤÀº ¾î¶² µå¶óÀ̹ö °áÁ¤ NDIS_STATUS_XXX·Î º¸³»±â ¿¬»êÀÇ »óŸ¦ ÁöÁ¤ÇÑ´Ù.

NdisVcHandle
ÁÖ¾îÁø ÆÐŶ µ¥ÀÌÅͰ¡ º¸³»¾îÁö´Â VC¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ¹Ì´ÏÆ÷Æ®´Â ÃÖ±Ù MiniportCoSendPackets ÇÔ¼ö¿¡ ÀÔ·Â ¸Å°³º¯¼ö·Î Àü´ÞµÇ¾îÁö´Â MiniportVcContext·ÎºÎÅÍ ÀÌ ÇÚµéÀ» ¾ò´Â´Ù.

Packet
º¸³»¾îÁö´Â ¹öÆÛÈ­µÈ ÇÁ·ÎÅäÄÝ Á¦°ø µ¥ÀÌÅ͸¦ ¸ÊÇÎÇÏ´Â ¿¬°áµÈ ¹öÆÛ µð½ºÅ©·´Å͵é·Î ÆÐŶ µð½ºÅ©¸³Å͸¦ °¡¸®Å²´Ù.

ÁÖ¼®

NDIS´Â ¾î¶² ¿¬°á ÁöÇâ NIC µå¶óÀ̹ö°¡ ºñÁ÷·ÄÈ­µÈ ¹Ì´ÏÆ÷Æ®¶ó°í °¡Á¤ÇÑ´Ù; Áï, NDIS´Â MiniportCoSendPackets ÇÔ¼ö¸¦ °¡Áö´Â µå¶óÀ̹ö¸¦ À§ÇØ µé¾î¿À´Â º¸³»±âµéÀ» Á÷·ÄÈ­Çϰųª Å¥·Î ÀúÀåÇÏÁö ¾Ê´Â´Ù.

±×·¯ÇÑ ¿¬°á ÁöÇâ NIC µå¶óÀ̹ö´Â NDIS°¡ º¸³»±â ¿¬»êÀ» ÃʱâÈ­ÇÏ´Â ÇÒ´çÇÑ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ °ü·ÃµÈ ÀÚ¿øµé°ú ÆÐŶ µð½ºÅ©·´Å͵éÀ» ¸®ÅÏÇÔÀ¸·Î½á, °á°úÀûÀ¸·Î MiniportCoSendPacketsÀ» Æ÷¿öµåÇÏ´Â °¢ ÆÐŶ µð½ºÅ©¸³ÅÍ·Î NdisMCoSendComplete¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. NdisMCoSendComplete¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ È£ÃâÀº ¹Ýµå½Ã ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í °ü·ÃµÈ ¸ðµç µ¥ÀÌÅͰ¡ ¸ñÀûÁö¿¡ ³×Æ®¿öÅ© °¡·ÎÁú·¯ Àü¼ÛµÇ¾îÁø´Ù´Â °ÍÀ» ÀǹÌÇÏÁö´Â ¾Ê´Â´Ù. °¡´ÉÇÏ´Ù¸éÀº MiniportCoSendPackets ÇÔ¼ö´Â ½ÇÁ¦ ÇÁ·ÎÅäÄÝ Á¦°ø µ¥ÀÌÅ͸¦ NICÀÇ Àü¼Û ¹öÆÛµé·Î º¹»çÇÑ ÈÄ °¢ ÀÔ·Â º¸³»±â ÆÐŶÀ» NdisMCoSendComplete·Î ¿Ï¼ºÇϰųª ȤÀº ¾Æ¸¶ ¹Ì´ÏÆ÷Æ®´Â ÆÐŶ µ¥ÀÌÅͰ¡ NdisMCoSendComplete ¸¦ È£ÃâÇϱâ Àü¿¡ ³×Æ®¿öÅ© °¡·ÎÁú·¯ Àü¼ÛµÇ¾îÁú ¶§±îÁö ³»ºÎ Å¥¿¡ º¸³»±â ÆÐŶµéÀ» À¯ÁöÇÑ´Ù.

¸¸¾à NdisVcHandle¿¡ ÀÇÇØ ÁöÁ¤µÈ VC´Â CO_MEDIA_PARAMETERS ±¸Á¶Ã¼ÀÇ Flags ¸â¹ö³»¿¡ INDICATE_END_OF_TX·Î ¼³Á¤Çؼ­ NIC µå¶óÀ̹öÀÇ MiniportCoActivateVc ÇÔ¼ö¿¡ ÀÇÇØ Ȱ¼ºÈ­µÇ¾îÁø´Ù¸éÀº, ¹Ì´ÏÆ÷Æ®´Â ÆÐŶ µ¥ÀÌÅÍÀÇ Àü¼ÛÀÌ ½ÇÁ¦ ¿Ï¼ºµÉ ¶§±îÁö NdisMCoSendComplete¸¦ È£ÃâÇÒ ¼ö ¾ø´Ù.

¾î¶² °æ¿ì¿¡´Â, NdisMCoSendComplete¿¡ ´ëÇÑ È£ÃâÀº NDIS°¡ ¿ø·¡ Packet¿¡ ÆÐŶ µð½ºÅ©¸³ÅÍ·Î NdisCoSendPacketsÀ» È£ÃâÇÏ´Â µå¶óÀ̹öÀÇ ProtocolCoSendComplete ÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ÇÑ´Ù.

NdisMCoSendComplete·Î, ¹Ì´ÏÆ÷Æ®´Â ÁÖ¾îÁø ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í ¿ø·¡ ÀÌ·¯ÇÑ ÀÚ¿øµéÀ» ÇÒ´çÇÑ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ ±×°Í°ú °ü·ÃµÈ ¸ðµç ÀÚ¿øµéÀÇ ¼ÒÀ¯±ÇÀ» ȸº¹ÇÑ´Ù. NIC µå¶óÀ̹ö´Â ´õ ÀÌ»ó ÆÐŶ µð½ºÅ©¸³ÅÍ, ÆÐŶ µð½ºÅ©¸³ÅÍ¿¡ ¿¬°áµÈ ¹öÆÛ µð½ºÅ©¸³Å͵é ȤÀº ±×µéÀÌ ¸ÊÇÑ ¹öÆÛµé, NdisMCoSendComplete¸¦ È£ÃâÇÑ ÈÄ ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í °ü·ÃµÈ ¾Æ¿ô ¿Àºê ¹êµå µ¥ÀÌÅÍ ºí·°¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Ù.

NdisMCoSendCompleteÀÇ È£ÃâÀÚµéÀº IRQL <= DISPATCH_LEVEL¿¡¼­ ½ÇÇàµÉ ¼ö ÀÖ´Ù.