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¿¡¼ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
|