TdiBuildSendDatagram
VOID
TdiBuildSendDatagram (
IN PIRP Irp,
IN PDEVICE_OBJECT DevObj,
IN PFILE_OBJECT FileObj,
IN PVOID CompRoutine,
IN PVOID Contxt,
IN PMDL MdlAddr,
IN ULONG SendLen,
IN PTDI_CONNECTION_INFORMATION SendDatagramInfo
);
TdiBuildSendDatagram ÇÔ¼ö´Â ·ÎÄà Ŭ¶óÀÌ¾ðÆ®°¡ ÁÖ¼Ò¸¦ ±¸ÇöÇÏ´Â ÆÄÀÏ °´Ã¼¸¦ ÀÌ¹Ì ¿¬ ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®·Î TDI_SEND_DATAGRAM ¸®Äù½ºÆ®¸¦ À§ÇÑ ³»ºÎÀÇ ÀåÄ¡ ÅëÁ¦ IRP¸¦ ¼³Á¤ÇÑ´Ù.
¸Å°³º¯¼ö
- Irp
- ´õ »óÀ§ ·¹º§ ³×Æ®¿÷ ÄÄÆ÷³ÍÆ®¿¡¼ ¹ß»ýÇϰųª TdiBuildInternalDeviceControlIrp ÇÔ¼ö¸¦ °¡Áö°í ÇÒ´çµÈ Ŭ¶óÀÌ¾ðÆ® Á¦°ø IRP¸¦ °¡¸®Å²´Ù.
- DevObj
- ÇϺÎÀÇ TDI Æ®·£½ºÆ÷Æ® µå¶óÀ̹ö¿¡ ÀÇÇØ¼ »ý¼ºµÈ ÀåÄ¡ °´Ã¼¸¦ °¡¸®Å²´Ù.
- FileObj
- ÁÖ¼Ò¸¦ ±¸ÇöÇÏ´Â ÆÄÀÏ °´Ã¼¸¦ °¡¸®Å²´Ù.
- CompRoutine
- Ŭ¶óÀÌ¾ðÆ® Á¦°ø IoCompletion ·çƾÀÇ ¿£Æ®¸® Æ÷ÀÎÆ®¸¦ ¼¼úÇϰųª NULLÀÌ´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ ÀÌ ¸Å°³º¯¼ö¸¦ NULL·Î ¼³Á¤ÇÏÁö ¾Ê´Â´Ù¸é ÁÖ¾îÁø IRP°¡ ¿Ï·áµÉ ¶§ I/O ¸Å´ÏÀú´Â ÀÌ ·çƾÀ» È£ÃâÇÑ´Ù.
- Contxt
- Ŭ¶óÀÌ¾ðÆ® °áÁ¤ ÄÁÅØ½ºÆ®¸¦ °¡¸®Å²´Ù. ÀÌ Å¬¶óÀÌ¾ðÆ® Á¦°ø Æ÷ÀÎÅÍ´Â ¿Ï·áµÈ IRP¸¦ °¡Áö°í È£ÃâµÉ ¶§ IoCompletion ·çƾÀ¸·Î Àü´ÞµÈ´Ù. CompRoutineÀÌ NULLÀ̸é Contxt´Â NULLÀÌ´Ù.
- MdlAddr
- Æ®·£½ºÆ÷Æ®°¡ º¸³»Áö´Â µ¥ÀÌŸ±×·¥À» Àü¼ÛÇϴ Ŭ¶óÀÌ¾ðÆ® Á¦°ø ¹öÆÛ¸¦ ¸ÅÇÎÇϴ üÀÎÈµÈ MDLÀÇ Ã³À½ MDLÀ» °¡¸®Å²´Ù.
- SendLen
- MdlAddr¿¡ ¸ÊµÈ ¹öÆÛÀÇ ¹ÙÀÌÆ® »çÀÌÁ ¼¼úÇÑ´Ù. ÃÖ´ë µ¥ÀÌŸ±×·¥ »çÀÌÁî´Â ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®¿¡ ÀÇÁ¸ÇÑ´Ù. ¤ÀÀÌ À¯È¿ÇÑ °ªÀÎÁö ¶ÇÇÑ ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®¿¡ ÀÇÁ¸ÇÑ´Ù.
- SendDatagramInfo
- È£ÃâÀÚ Á¦°ø µ¥ÀÌŸ±×·¥ÀÌ º¸³»Áö´Â ¿ø°ÝÁöÀÇ ÁÖ¼Ò¸¦ ¼¼úÇÏ´Â TDI_CONNECTION_INFORMATION ±¸Á¶Ã¼¸¦ °¡¸®Å²´Ù.
ÁÖ¼®
TdiBuildSendDatagram ÇÔ¼ö´Â ÁÖ¾îÁø IRPÀÇ Æ®·£½ºÆ÷Æ® I/O ½ºÅà ·ÎÄÉÀ̼Ǿȿ¡ MajorFunction·Î½á IRP_MJ_INTERNAL_DEVICE_CONTROLÀ» ¼³Á¤Çϰí MinorFunction·Î½á TDI_SEND_DATAGRAMÀ» ¼³Á¤ÇÑ´Ù.
TDI Æ®·£½ºÆ÷Æ®´Â °áÄÚ µ¥ÀÌŸ±×·¥À» ´ÜÆíÈÇÒ ¼ö ¾ø´Ù. °á±¹ ±×µéÀÇ Å¬¶óÀÌ¾ðÆ®´Â ÁÖ¾îÁø ¸ñÀûÁö ÁÖ¼Ò·Î ºñ¿¬°áÁöÇâ µ¥ÀÌŸ Àü¼ÛÀ» À§Çؼ ƯÁ¤ ¸®Äù½ºÆ® ¸¸À» °¡Áö°í ¿¬°üµÇ´Â °¢°¢ÀÇ µ¥ÀÌŸ±×·¥À» Àü¼ÛÇϱâ À§Çؼ ÇѹøÀÇ µ¥ÀÌŸ±×·¥ º¸³»±â ¸®Äù½ºÆ®¸¦ ÇÑ´Ù. SendLenÀ» À§Çؼ °¡´ÉÇÑ ÃÖ´ëÀÇ °ªÀ» °áÁ¤Çϱâ À§Çؼ Ŭ¶óÀÌ¾ðÆ®´Â º¸Åë QTypeÀÇ °ªÀÌ TDI_QUERY_PROVIDER_INFO, TDI_QUERY_DATAGRAM_INFO, ȤÀº TDI_QUERY_MAX_DATAGRAM_INFOÀÎ °Í¿¡ ´ëÇØ¼ TdiBuildQueryInformation ÇÔ¼ö¸¦ °¡Áö°í ¼³Á¤µÈ Á¤º¸ Äõ¸® ¸®Äù½ºÆ®¸¦ Á¦½ÃÇÑ´Ù.
¾î¶² ºñ¿¬°áÁöÇâ Àü¼ÛÀº ¿ø·¡ ºñ½Å·ÚÀûÀÌ´Ù. ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®´Â Æ®·£½ºÆ÷Æ® µå¶óÀ̹ö °³¹ßÀÚÀÇ °áÁ¤¿¡¼ ÁÖ¾îÁø µ¥ÀÌŸ±×·¥À» ¼Õ½ÇÇϰųª º¹»çÇÒ ¼ö ÀÖ´Ù.
Ŭ¶óÀÌ¾ðÆ®°¡ µ¥ÀÌŸ±×·¥ º¸³»±â ¸®Äù½ºÆ®¸¦ Á¦½ÃÇÒ ¶§ Æ®·£½ºÆ÷Æ®´Â ³»ºÎÀûÀ¸·Î ¸®Äù½ºÆ®¸¦ Å¥¿¡ ÀúÀåÇÑ´Ù. ±×·¯ÇÑ Æ®·£½ºÆ÷Æ®´Â FIFO ¼ø¼·Î µ¥ÀÌŸ±×·¥ º¸³»±â ¸®Äù½ºÆ®¸¦ ó¸®ÇÑ´Ù. ±×µéÀº °°Àº Ŭ¶óÀÌ¾ðÆ®¿¡¼ ¿£µåÆ÷ÀÎÆ® ´ë ¿£µåÆ÷ÀÎÆ® º¸³»±â ¸®Äù½ºÆ®·ÎºÎÅÍ ºÐ¸®µÈ µ¥ÀÌŸ±×·¥ º¸³»±â ¸®Äù½ºÆ®¸¦ Å¥¿¡ ÀúÀåÇÑ´Ù.
|