ClientEventSendPossible

NTSTATUS
   ClientEventSendPossible (
       IN PVOID TdiEventContext,
       IN PVOID ConnectionContext,
       IN ULONG BytesAvailable
  
   );

ClientEventSendPossible ÇÔ¼ö´Â Æ®·£½ºÆ÷Æ®°¡ Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ ´Ù½Ã Á¦½ÃµÈ º¸³»±â ¸®Äù½ºÆ®¸¦ ¹Þ¾ÆµéÀ̱â À§Çؼ­ »ç¿ëÇÏ´Â ³»ºÎ ¹öÆÛ°ø°£À» °¡Áú ¶§ º¸³»±â¸¦ ³»ºÎÀûÀ¸·Î ¹öÆÛÈ­ÇÏÁö¸¸ ÀÌ Å¬¶óÀ̾ðÆ®ÀÇ ¾Õ¼± TDI_SEND ¸®Äù½ºÆ®¿¡ ´ëÇØ¼­ STATUS_DEVICE_NOT_READY¸¦ ¸®ÅÏÇÑ ÇϺÎÀÇ TDI Æ®·£½ºÆ÷Æ®°¡ È£ÃâÇÏ´Â À̺¥Æ® Çڵ鷯ÀÌ´Ù.

¸Å°³º¯¼ö

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

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

BytesAvailable
¹öÆÛÈ­Çϴ Ŭ¶óÀÌ¾ðÆ® Á¦°ø º¸³»±â µ¥ÀÌŸ¸¦ À§Çؼ­ TDI µå¶óÀ̹ö¿¡¼­ ÇöÀç ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ ¼­¼úÇÑ´Ù.

¸®Åϰª

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

ÁÖ¼®

ClientEventSendPossible ÇÔ¼ö·ÎÀÇ È£ÃâÀº º¸³»±â¿¡ ´ëÇØ¼­ ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®°¡ Áö±Ý ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¹öÆÛ°ø°£À» °¡Áö°í ÀÖ°í Æ®·£½ºÆ÷Æ®°¡ ÀÌ È£ÃâÀ» ÇÒ ¶§ ¾ó¸¶³ª ¸¹Àº ¹öÆÛ°ø°£À» °®´ÂÁö¸¦ ÀεðÄÉÀÌÆ®ÇÑ´Ù.

±×·¯³ª ClientEventSendPossible ÇÔ¼ö´Â Àüü BytesAvailable¿¡ ´ëÇØ¼­ ¼º°øÀûÀÎ ºñºí·¯Å· TDI_SEND ¸®Äù½ºÆ®¸¦ ¹Ýµå½Ã Á¦½ÃÇØ¾ßÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¿¹¸¦µé¾î °°Àº Æ®·£½ºÆ÷Æ®ÀÇ ¶Ç´Ù¸¥ Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ Å¬¶óÀ̾ðÆ®ÀÇ º¸³»±â ¸®Äù½ºÆ®°¡ Æ®·£½ºÆ÷Æ®·Î µµÂøÇϱâ Àü¿¡ Æ®·£½ºÆ÷Æ®°¡ »ç¿ë°¡´ÉÇÑ ¹öÆÛ°ø°£À» »ç¿ëÇÏ´Â º¸³»±â¸¦ Á¦½ÃÇÑ´Ù.

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