TdiBuildConnect

VOID
   TdiBuildConnect (
       IN PIRP Irp,
       IN PDEVICE_OBJECT DevObj,
       IN PFILE_OBJECT FileObj,
       IN PVOID CompRoutine,
       IN PVOID Contxt,
       IN PLARGE_INTEGER Time,
       IN PTDI_CONNECTION_INFORMATION RequestConnectionInfo,
       OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInfo
  
   );

TdiBuildConnect ÇÔ¼ö´Â ·ÎÄà Ŭ¶óÀÌ¾ðÆ®°¡ ÁÖ¼Ò¿Í ¿¬°á ¿£µåÆ÷ÀÎÆ®¸¦ ÀÌ¹Ì ¿¬°ü½ÃŲ ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®·Î TDI_CONNECT ¸®Äù½ºÆ®¸¦ À§Çؼ­ ³»ºÎÀÇ ÀåÄ¡ ÅëÁ¦ IRP¸¦ ¼³Á¤ÇÑ´Ù.

¸Å°³º¯¼ö

Irp
´õ »óÀ§ ·¹º§ÀÇ ³×Æ®¿÷ ÄÄÆ÷³ÍÆ®¿¡¼­ ¹ß»ýµÇ°Å³ª TdiBuildInternalDeviceControlIrp ÇÔ¼ö¸¦ °¡Áö°í ÇÒ´çµÈ Ŭ¶óÀÌ¾ðÆ® Á¦°ø IRP¸¦ °¡¸®Å²´Ù.

DevObj
ÇϺÎÀÇ TDI Æ®·£½ºÆ÷Æ® µå¶óÀ̹ö¿¡ ÀÇÇØ¼­ »ý¼ºµÈ ÀåÄ¡ °´Ã¼¸¦ °¡¸®Å²´Ù.

FileObj
¿¬°á ¿£µåÆ÷ÀÎÆ®¸¦ ±¸ÇöÇÏ´Â ÆÄÀÏ °´Ã¼¸¦ °¡¸®Å²´Ù.

CompRoutine
Ŭ¶óÀÌ¾ðÆ® Á¦°ø IoCompletion ·çƾÀÇ ¿£Æ®¸® Æ÷ÀÎÆ®¸¦ ¼­¼úÇϰųª NULLÀÌ´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ ÀÌ ¸Å°³º¯¼ö¸¦ NULL·Î ¼³Á¤ÇÏÁö ¾Ê´Â´Ù¸é ÁÖ¾îÁø IRP°¡ ¿Ï·áµÉ ¶§ I/O ¸Å´ÏÀú´Â ÀÌ ·çƾÀ» È£ÃâÇÑ´Ù.

Contxt
Ŭ¶óÀÌ¾ðÆ® °áÁ¤ ÄÁÅØ½ºÆ®¸¦ °¡¸®Å²´Ù. ÀÌ Å¬¶óÀÌ¾ðÆ® Á¦°ø Æ÷ÀÎÅÍ´Â ¿Ï·áµÈ IRP¸¦ °¡Áö°í È£ÃâµÉ ¶§ IoCompletion ·çƾÀ¸·Î Àü´ÞµÈ´Ù. CompRoutineÀÌ NULLÀ̸é Contxt´Â NULLÀÌ´Ù.

Time
Æ®·£½ºÆ÷Æ®°¡ ¿¬°á ½Ãµµ¸¦ À§Çؼ­ »ç¿ëÇÏ´Â ½Ã½ºÅÛ °ü·Ã ŸÀӾƿô °£°ÝÀ» ¼­¼úÇÏ´Â º¯¼ö¸¦ °¡¸®Å²´Ù. ȤÀº NULLÀÏ ¼ö ÀÖ´Ù. ¸íÈ®ÇÑ Å¸ÀӾƿôÀº Æ®·£½ºÆ÷Æ®°¡ ÀÌ ¿¬°á ¸®Äù½ºÆ®¸¦ ½ÇÆÐÇϱâ Àü¿¡ ¿¬°á ½Ãµµ°¡ Áö¿¬À» À¯ÁöÇϱâ À§Çؼ­ Çã¶ôÇÑ ÇöÀç ½Ã½ºÅÛ ½Ã°£°ú °ü°èµÈ À½ÀÇ 100 ³ª³ëÃÊ °£°ÝÀÇ ¼ö·Î ¼­¼úµÇ¾î¾ßÇÑ´Ù. ÀÌ Æ÷ÀÎÅͰ¡ NULLÀÌ¸é Æ®·£½ºÆ÷Æ®´Â ¿ø°ÝÁö¿Í ¿¬°áÀ» ¼º¸³Çϱâ À§Çؼ­ ÀÚ½ÅÀÇ ±âº» ŸÀӾƿô °£°ÝÀ» »ç¿ëÇÑ´Ù.

RequestConnectionInfo
·ÎÄà Ŭ¶óÀÌ¾ðÆ®°¡ ¿£µåÆ÷ÀÎÆ® ´ë ¿£µåÆ÷ÀÎÆ® ¿¬°áÀ» ¸®Äù½ºÆ®ÁßÀÎ ¿ø°ÝÁöÀÇ Å¬¶óÀÌ¾ðÆ® ÁÖ¼Ò¸¦ ¼­¼úÇÏ´Â TDI_CONNECTION_INFORMATION ±¸Á¶Ã¼¸¦ Æ÷ÇÔÇϴ ȣÃâÀÚ Á¦°ø ¹öÆÛ¸¦ °¡¸®Å²´Ù.

ReturnConnectionInfo
¼º¸³µÈ ¿¬°áÀ» °¡Áö°í ¿ø°ÝÁöÀÇ Å¬¶óÀÌ¾ðÆ® ÁÖ¼Ò¸¦ ¸®ÅÏÇÏ´Â Æ®·£½ºÆ÷Æ®ÀÇ È£ÃâÀÚ Á¦°ø ¹öÆÛ¸¦ °¡¸®Å²´Ù. ¶ÇÇÑ ÀÌ ¹öÆÛ´Â TDI_CONNECTION_INFORMATION ±¸Á¶Ã¼·Î½á Æ÷¸ËµÈ´Ù. ·ÎÄà Ŭ¶óÀÌ¾ðÆ®°¡ ¾Æ¿ôDz Á¤º¸¸¦ ¿ä±¸ÇÏÁö ¾Ê°Å³ª ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®°¡ ±×·¯ÇÑ Á¤º¸¸¦ ¸®ÅÏÇÏÁö ¾Ê´Â¸é ÀÌ ¸Å°³º¯¼ö´Â NULLÀ̾î¾ßÇÑ´Ù.

ÁÖ¼®

TdiBuildConnect ÇÔ¼ö´Â ÁÖ¾îÁø IRPÀÇ Æ®·£½ºÆ÷Æ® I/O ½ºÅà ·ÎÄÉÀ̼Ǿȿ¡ MajorFunction·Î½á IRP_MJ_INTERNAL_DEVICE_CONTROL¸¦ ¼³Á¤Çϰí MinorFunction·Î½á TDI_CONNECT¸¦ ¼³Á¤ÇÑ´Ù.

¸í½ÃµÈ ¿£µåÆ÷ÀÎÆ®°¡ Á¸ÀçÇÏÁö ¾Ê°Å³ª ºñȰ¼ºÈ­¶ó¸é Æ®·£½ºÆ÷Æ®´Â ¿¬°á ¸®Äù½ºÆ®¸¦ ½ÇÆÐÇÑ´Ù. ¸í½ÃµÈ ¿£µåÆ÷ÀÎÆ®°¡ ·ÎÄà ÁÖ¼Ò¿Í ¿¬°üµÇ¾îÀÖÁö ¾Ê´Ù¸é Æ®·£½ºÆ÷Æ®´Â ¿¬°á ¸®Äù½ºÆ®¸¦ ½ÇÆÐÇÑ´Ù.

¿ø°ÝÁöÀÇ ÇÁ·Î¼¼½º¿Í ¿£µåÆ÷ÀÎÆ® ´ë ¿£µåÆ÷ÀÎÆ® ¿¬°áÀ» ¼º¸³ÇÑ ·ÎÄÃÀÇ Å¬¶óÀÌ¾ðÆ®¸¦ À§Çؼ­ ·ÎÄÃÀÇ Å¬¶óÀÌ¾ðÆ®´Â ·ÎÄà ÁÖ¼Ò¸¦ °¡Áö°í ÀÛ¾÷À» ¾ÈÇϰí ÀÖ´Â ·ÎÄà ¿¬°á ¿£µåÆ÷ÀÎÆ®¸¦ ¿ì¼±ÀûÀ¸·Î ¿¬°ü½ÃÄѾßÇÑ´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®·Î TdiBuildAsociateAddress ÇÔ¼ö¸¦ °¡Áö°í ¼³Á¤ÇÑ TDI_ASSOCIATE_ADDRESS ¸®Äù½ºÆ®¸¦ ¼º°øÇÒ ¶§±îÁö Ŭ¶óÀÌ¾ðÆ®´Â ¿ø°ÝÁö·ÎÀÇ ¿¬°á ½Ãµµ¸¦ ½ÃÀÛÇÒ ¼ö ¾ø´Ù.

·ÎÄà Ŭ¶óÀ̾ðÆ®ÀÇ ¿¬°á ¸®Äù½ºÆ® ¼º°øÀ» À§Çؼ­ ¿ø°ÝÁöÀÇ Å¬¶óÀÌ¾ðÆ®´Â ¿­¸° ´ë±â ¸®Äù½ºÆ®¸¦ °¡Á®¾ßÇÑ´Ù. ¾Æ´Ï¸é ÇϺΠƮ·£½ºÆ÷Æ®ÀÇ ¿¬°á Á¦°øÀ¸·ÎºÎÅÍ ¸®½Ãºê Å뺸¸¦ ¹ÞÀ» ¼ö ÀÖ´Â µî·ÏµÈ ClientEventConnect ·çƾÀ» °¡Á®¾ßÇÑ´Ù.