ClientEventDisconnect

NTSTATUS
   ClientEventDisconnect (
       IN PVOID TdiEventContext,
       IN CONNECTION_CONTEXT ConnectionContext,
       IN LONG DisconnectDataLength,
       IN PVOID DisconnectData,
       IN LONG DisconnectInformationLength,
       IN PVOID DisconnectInformation,
       IN ULONG DisconnectFlags
  
   );

ClientEventDisconnect ÇÔ¼ö´Â ¿ø°ÝÁö·ÎºÎÅÍ µé¾î¿À´Â ¿¬°áÇØÁ¦ Å뺸¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ÇϺÎÀÇ TDI Æ®·£½ºÆ÷Æ®°¡ È£ÃâÇÏ´Â À̺¥Æ® Çڵ鷯ÀÌ´Ù.

¸Å°³º¯¼ö

TdiEventContext
ClientEventDisconnect ÇÔ¼ö°¡ ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®¸¦ °¡Áö°í µî·ÏµÉ ¶§ TdiBuildSetEventHandler ÇÔ¼ö¸¦ °¡Áö°í ¼³Á¤µÈ IRP¾È¿¡ Á¦°øµÈ Ŭ¶óÀÌ¾ðÆ® Á¦°ø ÄÁÅØ½ºÆ®¸¦ °¡¸®Å²´Ù.

ConnectionContext
ÀÌ ¿¬°á ¿£µåÆ÷ÀÎÆ®¿¡ ´ëÇØ¼­ Ŭ¶óÀ̾ðÆ®ÀÇ ÄÁÅØ½ºÆ® Áö¿ªÀ» °¡¸®Å²´Ù. ClientEventConnect Çڵ鷯°¡ ¿ø°ÝÁö·ÎºÎÅÍ ¿¬°á Á¦°øÀ» ½ÂÀÎÇßÀ» ¶§³ª ZwCreateFile ÇÔ¼ö¸¦ °¡Áö°í ¿¬°á ¿£µåÆ÷ÀÎÆ®¸¦ ¿­¾úÀ» ¶§ Ŭ¶óÀÌ¾ðÆ®´Â Àü¿¡ ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®·Î ÀÌ °ªÀ» Á¦°øÇß´Ù.

DisconnectDataLength
DisconnectData¿¡ ¹öÆÛÀÇ ¹ÙÀÌÆ® »çÀÌÁ ¼­¼úÇÑ´Ù. 0Àº ¿ø°ÝÁö·ÎºÎÅÍ Àü¼ÛµÈ ¿¬°á ÇØÁ¦ µ¥ÀÌŸ°¡ ¾øÀ½À» ÀǹÌÇÑ´Ù.

DisconnectData
ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®¿¡ ÀÇÇØ¼­ ¿ø°ÝÁö·ÎºÎÅÍ ¸®½ÃºêµÈ ¿¬°áÇØÁ¦ µ¥ÀÌŸ¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛ¸¦ °¡¸®Å²´Ù. DisconnectDataLength°¡ 0À̸é ÀÌ ¸Å°³º¯¼ö´Â NULLÀÌ´Ù.

DisconnectInformationLength
DisconnectInformation¿¡ ¹öÆÛÀÇ ¹ÙÀÌÆ® »çÀÌÁ ¼­¼úÇÑ´Ù. 0Àº ¿ø°ÝÁö·ÎºÎÅÍ Àü¼ÛµÈ Ãß°¡ÀûÀÎ ¿¬°áÇØÁ¦ µ¥ÀÌŸ°¡ ¾øÀ½À» ÀεðÄÉÀÌÆ®ÇÑ´Ù.

DisconnectInformation
¾î¶² Ãß°¡ÀûÀÎ Æ®·£½ºÆ÷Æ® ƯÁ¤ ¿¬°á ÇØÁ¦ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛ¸¦ °¡¸®Å²´Ù. DisconnectInformationLength°¡ 0À̸é ÀÌ Æ÷ÀÎÅÍ´Â NULLÀÌ´Ù.

DisconnectFlags
0 ȤÀº ´ÙÀ½ Ç÷¡±× Áß¿¡ Çϳª·Î ¿¬°áÇØÁ¦ ¿¬»êÀÇ Æ¯Â¡À» ¼­¼úÇÑ´Ù:

TDI_DISCONNECT_ABORT
Æ®·£½ºÆ÷Æ®´Â ¿¬°á»ó¿¡¼­ Áö¿¬µÈ ¿¬»êÀÇ ¿Ï·á¾øÀÌ Áï½Ã ¿£µåÆ÷ÀÎÆ® ´ë ¿£µåÆ÷ÀÎÆ® ¿¬°áÀ» ´Ý´Â´Ù. »ç½Ç»ó ÀÌ Ç÷¡±×´Â 0ÀÇ DisconnectFlags¿Í °°´Ù.

TDI_DISCONNECT_RELEASE
Æ®·£½ºÆ÷Æ®´Â ¿ø°ÝÁö¿Í ÇÔ²² ÅëÁ¦µÈ ¿¬°áÇØÁ¦ ¿¬»êÀ» ÁøÇàÁßÀÌ´Ù.

¸®Åϰª

ClientEventDisconnect ÇÔ¼ö´Â STATUS_SUCCESS¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.

ÁÖ¼®

ClientEventDisconnect ÇÔ¼ö·ÎÀÇ È£ÃâÀº ±×µéÀÇ ¼º¸³µÈ ¿£µåÆ÷ÀÎÆ® ´ë ¿£µåÆ÷ÀÎÆ® ¿¬°áÀ» ¿ø°ÝÁö°¡ ´Ý°í ÀÖ´Ù°í ·ÎÄà Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë¸°´Ù. ÀÔ·Â DisconnectFlags¿¡ ÀÇÁ¸ÇÏ¿© ¿¬°áÇØÁ¦´Â ÅëÁ¦µÉ ¼ö Àְųª ±×·¸Áö ¾ÊÀ» ¼ö ÀÖ´Ù. ClientEventDisconnect ÇÔ¼ö´Â TDI µå¶óÀ̹ö°¡ ¿£µåÆ÷ÀÎÆ® ´ë ¿£µåÆ÷ÀÎÆ® ¿¬°á¿¡¼­ È£ÃâÇÏ´Â ¸¶Áö¸· À̺¥Æ® Çڵ鷯ÀÌ´Ù.

TDI_DISCONNECT_RELEASE°¡ DisconnectFlags¿¡ ¼³Á¤µÈ´Ù¸é Æ®·£½ºÆ÷Æ®´Â ÅëÁ¦µÈ ¿¬°áÇØÁ¦¸¦ Çù·ÂÇÑ´Ù.(¼¼ºÎ»çÇ×Àº TDI_DISCONNECT¸¦ ºÁ¶ó.)

ClientEventDisconnect ÇÔ¼ö·ÎÀÇ È£ÃâÀº ¾ØµåÆ÷ÀÎÆ® ´ë ¿£µåÆ÷ÀÎÆ® µ¿ÀÛÀÌ ÁßÁöµÆ°Å³ª ±× Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ¼­ ¿­¸° ¿¬°á ¿£µåÆ÷ÀÎÆ®¿¡¼­ ³¡³ª°í ÀÖ´Â ÁßÀÌ´Ù¶ó°í ·ÎÄà Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë¸°´Ù. ±×·¯³ª ¿¬°á ¿£µåÆ÷ÀÎÆ®´Â ¿£µåÆ÷ÀÎÆ® ´ë ¿£µåÆ÷ÀÎÆ® ¿¬°áÀÌ ÆÄ±«µÈ ÈÄ¿¡µµ ¿©ÀüÈ÷ À¯È¿ÇÏ´Ù. ·ÎÄÃÀÇ Å¬¶óÀÌ¾ðÆ®´Â ClientEventDisconnect ÇÔ¼ö°¡ ÅëÁ¦¸¦ ¸®ÅÏÇÑ ÈÄ¿¡ ¼øÂ÷ÀûÀÎ ¿¬»ê¿¡¼­ ¿­¸° ¿¬°á ¿£µåÆ÷ÀÎÆ®¸¦ Àç»ç¿ëÇÒ ¼ö ÀÖ´Ù.

ClientEventDisconnect ÇÔ¼ö´Â IRQL DISPATCH_LEVEL¿¡¼­ ¿¬»êÀ» ¼öÇàÇÒ ´É·ÂÀÌ ÀÖ¾î¾ßÇÑ´Ù.