TdiRegisterNetAddress
NTSTATUS
TdiRegisterNetAddress(
IN PTA_ADDRESS Address,
IN PUNICODE_STRING DeviceName,
IN PTDI_PNP_CONTEXT Context,
OUT HANDLE *AddrRegistrationHandle
);
TdiRegisterNetAddress ÇÔ¼ö´Â ƯÁ¤ ³×Æ®¿÷ ÁÖ¼Ò¸¦ °¡Áö°í ¿ø°ÝÁö¿Í ¹æ±Ý ¿¬°áÀ» ¼º¸³µÆ°Å³ª ½ÇÇàÁßÀÎ ÄÄÇ»Å͸¦ À§Çؼ Æ®·£½ºÆ÷Æ®°¡ »õ·Î¿î ³×Æ®¿÷ ÁÖ¼Ò¸¦ »ý¼ºÇßÀ½À» Æ®·£½ºÆ÷Æ®ÀÇ Å¬¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë¸°´Ù.
¸Å°³º¯¼ö
- Address
- ÇÁ·ÎÅäÄÝ Å¸ÀÔ Æ¯Á¤ TDI_ADDRESS_XXX ÁÖ¼Ò ¸í¼¼À» Æ÷ÇÔÇÏ´Â TA_ADDRESS ±¸Á¶Ã¼·Î½á Æ÷¸ËµÈ È£ÃâÀÚ ÇÒ´ç ¹öÆÛ¸¦ °¡¸®Å²´Ù.
- DeviceName
- ÀÌ Æ®·£½ºÆ÷Æ®¿Í NIC°úÀÇ ¹ÙÀεùÀ» ±¸ÇöÇÏ´Â Æ®·£½ºÆ÷Æ® »ý¼º ÀåÄ¡ °´Ã¼¸¦ È®ÀÎÇϴ ȣÃâÀÚ Á¦°øÀÇ ¹öÆÛÈµÈ À¯´ÏÄÚµå ¹®ÀÚ¿À» °¡¸®Å²´Ù. TdiRegisterDeviceObject ÇÔ¼ö°¡ È£ÃâµÆÀ» ¶§ Æ®·£½ºÆ÷Æ®´Â TDI¸¦ °¡Áö°í ÀÌ ÀåÄ¡ °´Ã¼¸¦ µî·ÏÇß´Ù. °á±¹ ÀÌ ¹®ÀÚ¿Àº ÀÌ ³×Æ®¿÷ ÁÖ¼Ò°¡ µî·ÏµÈ °÷¿¡¼ Æ®·£½ºÆ÷Æ®¿Í NICÀÇ ¹ÙÀεùÀ» È®ÀÎÇÑ´Ù.
- Context
- ÀÌ ÁÖ¼Ò¿Í ¿¬°üµÈ Æ®·£½ºÆ÷Æ® °áÁ¤ ÄÁÅØ½ºÆ®¸¦ °¡¸®Å²´Ù.
¿¹¸¦µé¾î TCP/IP´Â ÀÌ ÁÖ¼Ò°¡ µµÂøÇÏ´Â ¹°¸® ÀåÄ¡ÀÇ PDO¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¸®ÅÏÇÑ´Ù.
- AddrRegistrationHandle
- ÀÌ È£ÃâÀÌ ¼º°øÇÑ´Ù¸é ºÒÅõ¸íÇÑ ÇÚµéÀ» ¸®ÅÏÇÏ´Â TdiRegisterNetAddress ÇÔ¼öÀÇ È£ÃâÀÚ Á¦°ø ·ÎÄÉÀ̼ÇÀÇ º¯¼ö¸¦ ¼¼úÇÑ´Ù.
¸®Åϰª
TdiRegisterNetAddress ÇÔ¼ö°¡ ¸ðµç Æ®·£½ºÆ÷Æ® Ŭ¶óÀ̾ðÆ®ÀÇ µî·ÏÀ» ¾Ë ¶§ STATUS_SUCCESS¸¦ ¸®ÅÏÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é STATUS_INSUFFICIENT_RESOURCES¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù. (½Ã½ºÅÛ ÀÚ¿øÀÇ »ç¿ëÀÌ µ¿ÀûÀ̱⠶§¹®¿¡ °°Àº Æ®·£½ºÆ÷Æ®·ÎºÎÅÍÀÇ ¼øÂ÷ÀûÀΠȣÃâÀº ¼º°øÇÒ ¼ö ÀÖ´Ù.)
ÁÖ¼®
Æ®·£½ºÆ÷Æ®°¡ TdiRegisterNetAddress ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ Æ®·£½ºÆ÷Æ®´Â »õ·Î¿î ³×Æ®¿÷ ÁÖ¼ÒÀÇ ¸í¼¼¸¦ Æ÷ÇÔÇÏ´Â ÆäÀÌÀúºíÀÌ °¡´ÉÇÑ ¹öÆÛ¸¦ ÇÒ´çÇÑ´Ù. Æ®·£½ºÆ÷Æ®´Â ¿ì¼± ÀÌ ¹öÆÛ¸¦ 0À¸·Î ÃʱâÈÇØ¾ßÇÑ´Ù. ±×¸®°í TA_ADDRESS ±¸Á¶Ã¼ÀÇ ¸â¹ö¸¦ ¼³Á¤ÇÑ´Ù. Æ®·£½ºÆ÷Æ®°¡ ÀÌ È£ÃâÀ» ÇÒ ¶§ Æ®·£½ºÆ÷Æ®´Â Address¿¡¼ ½ÃÀÛÇÏ´Â ¹öÆÛÀÇ ³ª¸ÓÁö¾ÈÀ¸·Î »õ·Î¿î ³×Æ®¿÷ ÁÖ¼Ò¸¸À» Á¦°øÇؾßÇÑ´Ù. Áï ¾î¶² Ãß°¡ÀûÀÎ ¸â¹ö°¡ Æ®·£½ºÆ÷Æ®ÀÇ ÇÁ·ÎÅäÄÝ Å¸ÀÔ Æ¯Á¤ TDI_ADDRESS_XXX ¼ºê±¸Á¶Ã¼¾È¿¡ ºÎ°¡Á¤º¸¸¦ À§Çؼ Á¤ÀÇµÆ´Ù¸é ±× ¸â¹öµéÀº Æ®·£½ºÆ÷Æ®°¡ TdiRegisterNetAddress ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ 0ÀÌ µÇ¾î¾ßÇÑ´Ù.
TdiRegisterNetAddress ÇÔ¼ö´Â Æ®·£½ºÆ÷Æ® Á¦°ø ÀåÄ¡ À̸§°ú ÄÁÅØ½ºÆ® µ¥ÀÌŸ¸¦ º¹»çÇÏÁö¸¸ ÀÌ È£ÃâÀÚ Á¦°ø Á¤º¸¸¦ ÇØ¼®ÇÏ·Á°í ÇÏÁö´Â ¾Ê´Â´Ù. Æ®·£½ºÆ÷Æ® °³¹ßÀÚÀÇ °áÁ¤¿¡¼ ÀÔ·Â ÄÁÅØ½ºÆ® Æ÷ÀÎÅÍ´Â NULLÀÏ ¼ö ÀÖ´Ù. ȤÀº »õ·Ó°Ô µî·ÏµÈ °¢°¢ÀÇ ³×Æ®¿÷ ÁÖ¼Ò¿¡ ´ëÇÑ Ãß°¡ÀûÀÎ ÇÁ·ÎÅäÄÝ Æ¯Á¤ Á¤º¸¸¦ Æ®·£½ºÆ÷Æ®¿¡¼ Ŭ¶óÀÌ¾ðÆ®·Î Àü´ÞÇϱâ À§Çؼ »ç¿ëµÉ ¼ö ÀÖ´Ù. Æ®·£½ºÆ÷Æ®°¡ °¢°¢ÀÇ Å¬¶óÀÌ¾ðÆ®¸¦ ÀνÄÇßÀ» ¶§ TdiRegisterNetAddress ÇÔ¼ö´Â º¹»çµÈ ÀåÄ¡ À̸§°ú ÄÁÅØ½ºÆ® Á¤º¸¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °¡Áö°í °¢°¢ÀÇ µî·ÏµÈ ClientPnPAddNetAddress ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
°¢°¢ÀÇ ClientPnPAddNetAddress ÇÔ¼ö´Â »õ·Î¿î ÁÖ¼Ò°¡ ±× Ŭ¶óÀÌ¾ðÆ®¿Í °ü°è°¡ ÀÖ´ÂÁö¸¦ °áÁ¤Çϱâ À§Çؼ ÇϺÎÀÇ Æ®·£½ºÆ÷Æ®°¡ Context¿Í ÀåÄ¡ À̸§¿¡ Á¦°øÇÑ ÄÁÅØ½ºÆ® Á¤º¸°¡ ¹«¾ùÀ̵çÁö°£¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Æ®·£½ºÆ÷Æ®°¡ ClientPnpDelNetAddress ·çƾÀÇ È£ÃâÀ» ¾ß±âÇÏ´Â TdiDeregisterNetAddress ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§±îÁö ÀÔ·Â Context Æ÷ÀÎÅÍ´Â À¯È¿ÇÏ´Ù. Æ®·£½ºÆ÷Æ®°¡ °ªÀÌ TDI_PNP_OP_DELÀÎ PnPOpcode¸¦ °¡Áö°í ClientPnPBindingChange ·çƾÀ¸·ÎÀÇ È£ÃâÀ» ¾ß±âÇÏ´Â TdiDeregisterDeviceObject ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§±îÁö ÀÔ·Â DeviceName Æ÷ÀÎÅÍ´Â À¯È¿ÇÏ´Ù. ±×·¯³ª ¸ðµç Ŭ¶óÀÌ¾ðÆ®´Â Àбâ Àü¿ë Á¤º¸·Î½á ÀÌ TDI »óŸ¦ ´Ù·ï¾ßÇÑ´Ù.
TdiRegisterNetAddress ÇÔ¼öÀÇ ¼º°øÀûÀΠȣÃâÀÚ´Â TdiDeregisterNetAddress ÇÔ¼ö·ÎÀÇ ¼øÂ÷ÀûÀÌ°í »óÈ£ÀûÀΠȣÃâÀ» À§Çؼ *AddrRegistrationHandle¿¡ ¸®ÅϰªÀ» ÀúÀåÇØ¾ßÇÑ´Ù.
TdiRegisterNetAddress ÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL < DISPATCH_LEVEL¿¡¼ ½ÇÇàµÇ¾î¾ßÇÑ´Ù.
|