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¿¡¼ ¿¬»êÀ» ¼öÇàÇÒ ´É·ÂÀÌ ÀÖ¾î¾ßÇÑ´Ù.
|