TdiRegisterProvider

NTSTATUS
   TdiRegisterProvider(
       IN PUNICODE_STRING ProviderName,
       OUT HANDLE *ProviderHandle
       );

TdiRegisterProvider ÇÔ¼ö´Â PnP¸¦ Áö¿øÇÏ´Â Æ®·£½ºÆ÷Æ® µå¶óÀ̹ö°¡ ÃʱâÈ­ ÁßÀÌ°í Æ®·£½ºÆ÷Æ®°¡ ÇϳªÀÌ»óÀÇ ÇϺΠNDIS NIC ¹Ì´ÏÆ÷Æ®¿ÍÀÇ ¹ÙÀεùÀ» ¼º¸³Çß°í ³×Æ®¿÷ I/O ¿¬»êÀÇ ¼öÇàÀ» ÁغñÁßÀÏ ¶§ TdiProviderReady ÇÔ¼ö·ÎÀÇ ¼øÂ÷ÀûÀΠȣÃâÀ» ÇÒ °ÍÀÌ´Ù¶ó´Â °ÍÀ» TDI¿¡°Ô ¾Ë¸°´Ù.

¸Å°³º¯¼ö

ProviderName
\device\tcp_{GUID_for_tcp}, \device\nwlinkipx, µîµî°ú °°Àº Æ®·£½ºÆ÷Æ®¸¦ À§ÇÑ ÀϹÝÀûÀÎ À̸§ÀÎ ¹öÆÛÈ­µÈ À¯´ÏÄÚµå ¹®ÀÚ¿­À» °¡¸®Å²´Ù.

ProviderHandle
ÀÌ È£ÃâÀÌ ¼º°øÇÑ´Ù¸é ºÒÅõ¸íÇÑ ÇÚµéÀ» ¸®ÅÏÇÏ´Â TdiRegisterProvider ÇÔ¼öÀÇ È£ÃâÀÚ Á¦°ø ·ÎÄÉÀ̼ÇÀÇ º¯¼ö¸¦ ¼­¼úÇÑ´Ù.

¸®Åϰª

TDI°¡ Æ®·£½ºÆ÷Æ®¸¦ Æ®·¢Çϱâ À§Çؼ­ À¯ÁöÇÏ´Â ³»ºÎ »óÅÂ¿Í Æ®·£½ºÆ÷Æ® Á¸ÀçÀÇ ÀÎ½ÄµÈ ÀáÀçÀûÀΠŬ¶óÀÌ¾ðÆ®°¡ ¹«¾ùÀ̵çÁö°£¿¡ ¼³Á¤ÇßÀ» ¶§ TdiRegisterProvider ÇÔ¼ö´Â STATUS_SUCCESS¸¦ ¸®ÅÏÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ½Ã½ºÅÛ ¼³Á¤µ¿¾È¿¡ ÀÚ½ÅÀ» ÃʱâÈ­ ÁßÀÎ Æ®·£½ºÆ÷Æ®·Î ÀÌ »óŸ¦ ¸®ÅÏÇÏ´Â °Ô ¾ÆÁÖ ÁÁÁö¾Ê´Ù ÇÏ´õ¶óµµ STATUS_INSUFFICIENT_RESOURCES¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.

ÁÖ¼®

TDI Æ®·£½ºÆ÷Æ® µå¶óÀ̹ö´Â ±×µéÀÇ DriverEntry ·çƾ¿¡¼­ºÎÅÍ TdiRegisterProvider ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

TdiRegisterProvider ÇÔ¼ö·ÎÀÇ ¼º°øÀûÀΠȣÃâ¿¡ ÀÇÇØ¼­ ¸®ÅÏµÈ ÇÚµéÀº TdiProviderReady ÇÔ¼ö·ÎÀÇ ¼øÂ÷ÀûÀΠȣÃâÀ» À§Çؼ­ ±×¸®°í Æ®·£½ºÆ÷Æ® µå¶óÀ̹öÀÇ Unload ·çƾÀ¸·ÎºÎÅÍ TdiDeregisterProvider ÇÔ¼öÀÇ »óÈ£ÀûÀΠȣÃâÀ» À§Çؼ­ ÀúÀåµÇ¾î¾ßÇÑ´Ù.

TdiRegisterProvider ÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL < DISPATCH_LEVEL¿¡¼­ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.