NDIS_OOB_DATA_FROM_PACKET

PNDIS_PACKET_OOB_DATA

  NDIS_OOB_DATA_FROM_PACKET(

    IN PNDIS_PACKET  _Packet

    );

NDIS_OOB_DATA_FROM_PACKET ÇÔ¼ö´Â ÁÖ¾îÁø ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í ¿¬°üµÈ OOB µ¥ÀÌŸ ºí·°¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¸®ÅÏÇÑ´Ù.

¸Å°³º¯¼ö

Packet
ÆÐŶ µð½ºÅ©¸³Å͸¦ °¡¸®Å²´Ù.

¸®Åϰª

NDIS_OOB_DATA_FROM_PACKET ÇÔ¼ö´Â ÁÖ¾îÁø ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í ¿¬°üµÈ OOB µ¥ÀÌŸ ºí·°¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¸®ÅÏÇÑ´Ù. ȤÀº ÆÐŶ¿¡ ´ëÇÑ OOB Á¤º¸°¡ ¾ø´Ù¸é NULLÀ» ¸®ÅÏÇÑ´Ù.

ÁÖ¼®

ÀεðÄÉÀ̼ÇÀ» À§Çؼ­ ÇÒ´çÇÑ ÆÐŶ µð½ºÅ©¸³Å͸¦ °¡Áö°í OOB Á¤º¸¸¦ Á¦°øÇÏ´Â ÇÏÀ§ ·¹º§ NDIS µå¶óÀ̹ö´Â µå¶óÀ̹ö ÇÒ´ç ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í ¿¬°üµÈ OOB ºí·°À¸·ÎÀÇ Á¢±ÙÀ» ¾ò±â À§Çؼ­ NDIS_OOB_DATA_FROM_PACKET ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯ÇÑ µå¶óÀ̹ö´Â ¸®½Ãºê ÆÐŶÀ» ÀεðÄÉÀÌÆ®Çϱâ Àü¿¡ OOB Á¤º¸¸¦ ¼³Á¤ÇÑ´Ù.

¿¹¸¦µé¾î NDIS ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö´Â ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝ·Î ÀεðÄÉÀ̼ÇÀ» Àü´ÞÇϱâ Àü¿¡ NdisMoveMemory ÇÔ¼ö¸¦ °¡Áö°í ¸®½ÃºêµÈ ÆÐŶ¿¡¼­ ÃʱâÈ­µÈ ÆÐŶ µð½ºÅ©¸³Å;ÈÀ¸·Î OOB Á¤º¸¸¦ º¹»çÇÑ´Ù. ÀÌ »óȲ¿¡¼­ ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö´Â Source¿Í Destination Æ÷ÀÎÅÍ¿¡ ´ëÇØ¼­´Â NDIS_OOB_DATA_FROM_PACKET ÇÔ¼ö¿¡ ÀÇÇØ¼­ ¸®ÅÏµÈ Æ÷ÀÎÅͰ¡Áö°í Length¿¡ ´ëÇØ¼­´Â sizeof(NDIS_PACKET_OOB_DATA)¸¦ °¡Áö°í NdisMoveMemory ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

¶ÇÇÑ ÇÏÀ§ ·¹º§ NDIS µå¶óÀ̹ö´Â ÀεðÄÉÀÌÆ®µÈ ÆÐŶÀÇ »óŰ¡ NDIS_STATUS_SUCCESS¸¦ °¡Áö°í NdisMIndicateReceivePacket ÇÔ¼ö·ÎºÎÅÍ ¸®Å쵃 ¶§ ÀÌ ¸ÅÅ©·Î¸¦ »ç¿ëÇÑ´Ù. ±×¸®°í MiniportReturnPacket ÇÔ¼ö°¡ Àç»ç¿ëÀ» À§Çؼ­ ÃʱâÈ­µÇ´Â ÆÐŶ µð½ºÅ©¸³Å͸¦ °¡Áö°í È£ÃâµÉ ¶§ »ç¿ëÇÑ´Ù.ÀÌ »óȲ¿¡¼­ µå¶óÀ̹ö´Â ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í ¿¬°üµÈ OOB ºí·°À» Ŭ¸®¾îÇϱâ À§Çؼ­ sizeof(NDIS_PACKET_OOB_DATA)¿Í NDIS_OOB_DATA_FROM_PACKET ÇÔ¼ö¿¡ ÀÇÇØ¼­ ¸®ÅÏµÈ Æ÷ÀÎÅ͸¦ °¡Áö°í NdisZeroMemory ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ¼±ÅÃÀûÀ¸·Î ±×·¯ÇÑ µå¶óÀ̹ö´Â ¸®ÅÏµÈ ÆÐŶ µð½ºÅ©¸³Å͸¦ °¡Áö°í ¼øÂ÷ÀûÀÎ ÀεðÄÉÀ̼ÇÀ» À§Çؼ­ OOB ºí·°¾È¿¡ ƯÁ¤ ¸â¹ö¸¦ ÀçÃʱâÈ­Çϱâ À§Çؼ­ ÀûÀýÇÑ NDIS_SET_PACKET_XXX ¸ÅÅ©·Î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

ÆÐŶ µð½ºÅ©¸³ÅͰ¡ ProtocolSendComplete ÇÔ¼ö¿¡¼­ ¸®Å쵃 ¶§ º¸³»±â¸¦ ¼­¼úÇϱâ À§Çؼ­ ±×µéÀÌ ÇÒ´çÇÑ ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í ¿¬°üµÈ OOB ºí·°À» ÀçÃʱâÈ­Çϱâ À§Çؼ­ »óÀ§ ·¹º§ NDIS µå¶óÀ̹ö´Â NDIS_OOB_DATA_FROM_PACKET ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. °á±¹ ±×·¯ÇÑ ÇÁ·ÎÅäÄÝÀÇ ÇϺο¡ ÀÖ´Â µå¶óÀ̹ö´Â µé¾î¿À´Â º¸³»±â ÆÐŶ¿¡ ´ëÇÑ OOB ºí·°À» Àбâ À§Çؼ­ NDIS_OOB_DATA_FROM_PACKET ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.

µå¶óÀ̹ö´Â ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í ¿¬°üµÈ OOB ºí·°À» Ŭ¸®¾îÇϱâ À§ÇÑ ½Ãµµ¿¡¼­ NdisZeroMemory ÇÔ¼ö·Î ÆÐŶ µð½ºÅ©¸³Å͸¦ Àü´ÞÇØ¼­´Â ¾ÈµÈ´Ù. À̰ÍÀ» ÇàÇÑ´Ù¸é ÁÖ¾îÁø ÆÐŶ µð½ºÅ©¸³Å͸¦ ÆÄ±«ÇÏ°í ¼øÂ÷ÀûÀÎ ÀεðÄÉÀ̼ǰú º¸³»±â¸¦ ¾µ¸ð¾ø°Ô ÇÑ´Ù. ±×¸®°í ¸Þ¸ð¸® ºÎÀûÀ» ¾ß±âÇÑ´Ù. µå¶óÀ̹ö´Â µå¶óÀ̹ö ÇÒ´ç ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í ¿¬°üµÈ OOB µ¥ÀÌŸ ºí·°À» 0À¸·Î ÀçÃʱâÈ­Çϱâ À§Çؼ­ NDIS_OOB_DATA_FROM_PACKET ÇÔ¼ö¿¡ ÀÇÇØ¼­ ¸®ÅÏµÈ Æ÷ÀÎÅ͸¦ Àü´ÞÇØ¾ßÇÑ´Ù.