NdisReturnPackets
VOID
NdisReturnPackets(
IN PNDIS_PACKET *PacketsToReturn,
IN UINT NumberOfPackets
);
|
NdisReturnPacketsÀº ÇÁ·ÎÅäÄÝÀÌ ¸®½Ãºê µ¥ÀÌÅ͸¦ ¼ÒºñÇÑ ÈÄ¿¡ Çϳª³ª ±× ÀÌ»óÀÇ ÆÐŶ¿¡ ´ëÇÑ ¼ÒÀ¯±ÇÀ» ¾çµµÇÑ´Ù.
¸Å°³º¯¼ö
- PacketsToReturn
- ¸®½Ãºê ÀεðÄÉÀ̼ÇÀ» À§ÇØ ÇÒ´çµÈ ÆÐŶ µð½ºÅ©¸³ÅͰ¡ ¾Æ·¡´ÜÀÇ µå¶óÀ̹ö¿¡°Ô ¸®ÅϹޱâ À§ÇÑ Æ÷ÀÎÅÍÀÇ ¹è¿À» °¡¸®Å²´Ù.
- NumberOfPackets
- ¹è¿¾È Æ÷ÀÎÅ͵éÀÇ ¼ö¸¦ ¸í½ÃÇÑ´Ù.
ÁÖ¼®
ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö´Â Protocol(Co)ReceivePacket°¡ Á¦¾î±ÇÀ» ¸®ÅÏÇÏÀÚ ¸¶ÀÚ °ð NdisReturnPackets ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. ´Ù½Ã ¸»Çؼ, ¸ÖƼÆÐŶ ¸®½Ãºê ÀεðÄÉÀ̼ÇÀ» Áö¿øÇÏ´Â ¾Æ·¡´ÜÀÇ µå¶óÀ̹ö¿Í ±×°ÍµéÀ» ó¸®ÇÏ´Â ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö µÑ ´Ù ¼º´ÉÀÇ Ç϶ôÀ» °¡Áø´Ù.
¾Æ·¡´ÜÀÇ NIC µå¶óÀ̹ö°¡ ¸®½Ãºê ÀεðÄÉÀ̼ÇÀ» À§ÇØ °¡´ÉÇÑ ÆÐŶ Ç®¿¡¼ ³·°Ô ½ÇÇàµÉ ¶§³ª ±× NICÀÌ ºñ¾îÀÖ´Â ¸®½Ãºê ¹öÆÛ¿¡¼ ³·°Ô ½ÇÇàµÉ¶§, À̰ÍÀº ÆÐŶ µð½ºÅ©¸³ÅÍÀÇ ¿¬°áµÈ OOB ºí·° »óŸ¦ NDIS_STATUS_RESOURCES·Î ¼ÂÇÑ´Ù:
- ¸¸¾à ¾Æ·¡´Ü NIC µå¶óÀ̺¸°¡ ºñ¿¬°á ÁöÇâ µå¶óÀ̹ö¶ó¸é, À̰ÍÀº NDIS ¶óÀ̺귯¸®°¡ ¹Ì´ÏÆ÷Æ®°¡ ÀÌ ÆÐŶ µð½ºÅ©¸³ÅÍÀÇ ¼ÒÀ¯±ÇÀ» µÇã°í NICÀÌ µé¾î¿À´Â net ÆÐŶÀ» ¹öÆÛ¿¡ ¹ÞÀ» ¼ö ÀÖÀ» ¶§ ±îÁö ¸ðµç ¹ÙÀεåµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹öÀÇ ÇÑ Å¸ÀÓÀÇ ½Ì±Û ÆÐŶÀÇ ProtocolReceive ÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï °¿äÇÑ´Ù.
- ¸¸¾à ¾Æ·¡´Ü NIC µå¶óÀ̹ö°¡ ¿¬°á ÁöÇâ µå¶óÀ̹ö¶ó¸é, À̰ÍÀº NDIS ¸®À̺귯¸®°¡ ¹Ì´ÏÆ÷Æ®°¡ ÀÌ ÆÐŶ µð½ºÅ©¸³ÅÍÀÇ ¼ÒÀ¯±ÇÀ» µÇã°í NICÀÌ µé¾î¿À´Â net ÆÐŶÀ» ¹öÆÛ¿¡ ¹ÞÀ» ¼ö ÀÖÀ» ¶§ ±îÁö ¸ðµç ¹ÙÀεåµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹öÀÇ ProtocolCoReceivePacket ÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï °¿äÇÑ´Ù.
ProtocolReceive ÇÔ¼ö´Â ProtocolReceiveComplete ÇÔ¼ö°¡ È£ÃâµÉ¶§ ±îÁö ¹ÞÀº µ¥ÀÌÅÍÀÇ ÆÐŶÀÇ postprocessingÀ» ÇÒ ¼ö ¾ø°í Ŭ¶óÀÌ¾ðÆ®¿¡°Ô·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ Æ÷¿öµå ÇÒ¼ö ¾ø´Ù.
ÆÐŶ µð½ºÅ©¸³ÅͰ¡ NDIS_STATUS_SUCCESSÀÇ ¿¬°áµÈ OOB »óÅÂ¿Í ÇÔ²² ºñ¿¬°áÁöÇâ ÇÁ·ÎÅäÄÝÀÇ ProtocolReceivePacket ÇÔ¼ö³ª ¿¬°áÁöÇâ ÇÁ·ÎÅäÄÝÀÇ ProtocolCoReceivePacket ÇÔ¼ö¸¦ ÆÐ½ºÇϱâÀ§ÇØ, »óÀªº§ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â ¸®½Ãºê µ¥ÀÌÅÍÀÇ º¹»ç¿Í Ŭ¶óÀÌ¾ðÆ®·Î Ã³¸®µÈ µ¥ÀÌÅÍÀÇ Æ÷¿öµå¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù.¿Ö³ÄÇϸé ÇÁ·ÎÅäÄÝÀº ¾ó¸¶³ª ¿À·¡ ÀεðÄÉÀÌÆÃ µå¶óÀ̹ö¿¡ÀÇÇØ ÇÒ´çµÈ ¸®¼Ò½º°¡ ³²¾Æ ÀÖ´ÂÁö Á¦¾îÇÒ ¼ö ÀÖ´Ù. Á¦ÀÏ ³ôÀº ·¹º§ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ÀεðÄÉÀÌÆ®ÇÏ´Â µ¥ÀÌŸ¿¡´ëÇÑ ¸Þ½ÃÁö¸¦ ÇÏÁö ¾Ê´Â´Ù. ÇÁ·ÎÅäÄÝÀº Ŭ¶óÀÌ¾ðÆ®¿¡°Ô °ü½ÉÀÖ´Â ¸®½Ãºê ¹öÆÛ »çÀÌÀÇ µ¥ÀÌÅÍÀÇ ¹üÀ§¸¦ ±ÕµîÇÏ°Ô ¼Â¾÷ ÇÒ ¼ö ÀÖ´Ù. ±×¸®°í µé¾î¿Â ÆÐŶ µð½ºÅ©¸³Å͸¦ Ŭ¶óÀÌ¾ðÆ®µé·Î Æ÷¿öµù ÇÔÀ¸·Î½á Ŭ¶óÀÌ¾ðÆ®·ÎÀÇ ¸®½Ãºê ÀεðÄÉÀ̼ÇÀ» ¸¸µç´Ù.
¸¸¾à ÀÎÅ͹̵ð¾ù ÇÁ·ÎÅäÄÝ µå¶óÀ̹öÀÇ Protocol(Co)ReceivePacket ÇÔ¼ö°¡ µé¾î¿Â ÆÐŶ µð½ºÅ©¸³Å͸¦ À§ÇØ 0ÀÌ¾Æ´Ñ ÂüÁ¶ °ªÀ» ¸®ÅÏÇÑ´Ù¸é, µå¶óÀ̹ö´Â ÇѹøÀ̳ª ±×ÀÌ»ó NdisReturnPackets ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. Protocol(Co)ReceivePacket·Î ºÎÅÍ °³º°ÀûÀÎ ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í ÇÔ²² ¾ÆÁÖ ¿©·¯¹ø NdisReturnPackets ÇÔ¼ö°¡ È£Ãâ‰çÀ»¶§, NDIS ¶óÀ̺귯¸®´Â µå¶óÀ̹ö°¡ ÀεðÄÉÀ̼ÇÀ» ¸¸µé°Ô ÆÐŶµð½ºÅ©¸³³Ê¸¦ ¸®ÅÏÇÑ´Ù. µé¾î¿Â ÆÐŶ µð½ºÅ©¸³Å͸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Æ÷¿öµåÇÏ´Â ÃÖ»óÀ§ ·¹º§ ÇÁ·ÎÅäÄÝÀ» À§ÇØ Å¬¶óÀÌ¾ðÆ®µéÀº TdiReturnChainedReceivesÇÔ¼öÀÇ È£ÃâÀ» ¸¸µå´Â°Í¿¡ÀÇÇØ ÇÒ´çµÈ NDIS µå¶óÀ̹ö¿¡°Ô ÆÐŶ µð½ºÅ©¸³Å͸¦ ¸®ÅÏÇÑ´Ù.
ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â Protocol(Co)ReceivePacket ÇÔ¼ö¿¡ Àü´ÞµÇ´Â ¸ðµç ¼ö½Å ÆÐŶÀ» À§ÇÑ ÂüÁ¶ Ä«¿îÆ®¸¦ °ü¸®Çϱâ À§ÇØ NDIS¿¡°Ô ÀÇÁ¸ÇÒ ¼ö ÀÖ´Ù. ÆÐŶ µð½ºÅ©¸³Å͸¦ À§ÇÑ ÂüÁ¶ Ä«¿îÆ®´Â ¿ø·¡ Protocol(Co)ReceivePacketÀ¸·ÎºÎÅÍ ¸®ÅϰªÀ» 0À¸·Î ¼³Á¤ÇÒ ¶§, NDIS ¶óÀ̺귯¸®´Â ÇØÁ¦µÈ ÆÐŶ µð½ºÅ©¸³ÅÍ·Î ÀεðÄÉÀÌÆ®µÇ´Â µå¶óÀ̹öÀÇ MiniportReturnPacket ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
NdisReturnPackets ÇÔ¼ö´Â Protocol(Co)ReceivePacket ÇÔ¼ö·ÎºÎÅÍ È£ÃâµÉ ¼ö ¾ø´Ù.
NdisReturnPackets ÇÔ¼öÀÇ È£ÃâÀÚµéÀº IRQL <= DISPATCH_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù.
|