NdisIMInitializeDeviceInstanceEx

NDIS_STATUS

  NdisIMInitializeDeviceInstanceEx(

    IN NDIS_HANDLE  DriverHandle,

    IN PNDIS_STRING  DriverInstance,

    IN NDIS_HANDLE  DeviceContext  OPTIONAL

    );

NdisIMInitializeDeviceInstanceEx ÇÔ¼ö´Â µå¶óÀ̹öÀÇ °¡»ó NICÀ» ÃʱâÈ­Çϱâ À§ÇØ ±×¸®°í ¼±ÅÃÀûÀ¸·Î ¿¬¼ÓÀûÀÎ ¹ÙÀεåµÈ ÇÁ·ÎÅäÄݵéÀ» À§ÇÑ µå¶óÀ̹öÀÇ °¡»ó NIC¿¡ ´ëÇÑ »óÅ Á¤º¸¸¦ ¼³Á¤Çϱâ À§ÇØ NDIS ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ MiniportInitialize ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

¸Å°³º¯¼ö

DriverHandle
NdisIMRegisterLayeredMiniport ÇÔ¼ö¿¡ ÀÇÇØ ¸®ÅÏµÈ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.

DriverInstance
µå¶óÀ̹ö°¡ °¡»ó NIC¿¡ ´ëÇÑ Á¤º¸¿Í ¹ÙÀεù ƯÁ¤ Á¤º¸¸¦ ÀúÀåÇÏ´Â ·¹Áö½ºÆ®¸® Ű À̸§À» °¡Áø ½Ã½ºÅÛ µðÆúÆ® ¹®ÀÚ ÁýÇÕÀ¸·Î ¹öÆÛÈ­µÈ È£ÃâÀÚ ÃʱâÈ­µÈ counted ¹®ÀÚ¿­À» °¡¸®Å°³®. À©µµ¿ìÁî 2000 ¿¡¼­´Â, ÀÌ °ªÀº counted Unicode ¹®ÀÚ¿­ÀÌ´Ù.

ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ ¼³Ä¡ ½ºÅ©¸³Æ®´Â HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services ·¹Áö½ºÆ®¸® Æ®¸®³»¿¡ DeviceInstance °ª¿¡ ÀÇÇØ ÇÒ´çµÈ ۸¦ ¸¸µç´Ù.

DeviceContext
ÀÌ·¯ÇÑ °¡»ó NIC¿¡ ¹ÙÀεåµÈ »óÀ§ ·¹º§ ÇÁ·ÎÅäÄݵéÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Â °¡»ó NIC¿¡ ´ëÇÑ µå¶óÀ̹ö Á¤ÀÇ ÀåÄ¡ ÄÁÅØ½ºÆ® Á¤º¸¸¦ ¼³Á¤Çϴ ȣÃâÀÚ Á¦°ø ¸Þ¸ð¸®¸¦ °¡¸®Å²´Ù. ÀÌ ¸Å°³º¯¼ö´Â ¸¸¾à ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö°¡ ±×·¯ÇÑ ÀåÄ¡ ÄÁÅØ½ºÆ® ¿µ¿ªÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù¸éÀº NULLÀÌ´Ù.

¸®Åϰª

NdisIMInitializeDeviceInstanceEx ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº °ªÀ» ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.

NDIS_STATUS_SUCCESS
ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ °¡»ó NICÀº ¼º°øÀûÀ¸·Î ÃʱâÈ­µÇ¾ú´Ù.

NDIS_STATUS_NOT_ACCEPTED
NdisIMInitializeDeviceInstanceEx ÇÔ¼ö´Â DriverHandle¿¡ ÀÇÇØ ÁöÁ¤µÈ ÀåÄ¡´Â ÀÌ¹Ì ÃʱâÈ­µÇ¾ú±â ¶§¹®¿¡ ½ÇÆÐÇÑ´Ù.

ÁÖ¼®

NDIS ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö´Â NDIS°¡ µå¶óÀ̹öÀÇ °¡»ó NICÀ» ¼³Á¤Çϱâ À§ÇØ µå¶óÀ̹öÀÇ MiniportInitialize ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ Á¦¾îÇÏ´Â ProtocolBindAdapter ÇÔ¼ö·ÎºÎÅÍ NdisIMInitializeDeviceInstanceEx ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. NDIS ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö·ÎºÎÅÍ NdisIMInitializeDeviceInstanceEx ÇÔ¼ö ȤÀº NdisIMInitializeDeviceInstance ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °Í¿¡ ´ëÇÑ ½ÇÆÐ´Â ±×·¯ÇÑ µå¶óÀ̹ö°¡ ¼º°øÀûÀ¸·Î ·ÎµùÇÏ´Â °ÍÀ» ¸·´Â´Ù. ±×·¯ÇÑ µå¶óÀ̹ö´Â ¸¸¾à MiniportInitialize ÇÔ¼ö°¡ ½ÇÇàÇÏÁö ¾Ê´Â´Ù¸éÀº »óÀ§ ·¹º§ ÇÁ·ÎÅäÄݵéÀ» À§ÇØ °¡»ó NICÀÌ ¿¬»êÀ» ÇÒ ¼ö ¾ø´Ù.

NdisIMInitializeDeviceInstanceEx ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡, ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö°¡ ÇÁ·ÎÅäÄݷμ­ ¾Æ·¡ NIC ¹Ì´ÏÆ÷Æ®¿¡ ¹ÙÀεùÇϱâ À§ÇØ ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ ProtocolBindAdapter ÇÔ¼ö´Â NdisOpenAdapter ÇÔ¼ö¿¡ ´ëÇÑ ¼º°øÀûÀΠȣÃâÀ» ÇØ¾ß ÇÑ´Ù. ProtocolBindAdapter ÇÔ¼ö´Â ProtocolBindAdapter ÇÔ¼ö¿¡ ÀÇÇØ ¸ð¾ÆÁø ¾Æ·¡ NICÀÇ ´É·Âµé¿¡ ´ëÇÑ ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö °áÁ¤ Á¤º¸¸¦ ¼³Á¤Çϸ鼭 DeviceContext ¿µ¿ªÀ» ÇÒ´çÇÒ ¼ö ÀÖ´Ù. ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ MiniportInitialize ÇÔ¼ö´Â µå¶óÀ̹öÀÇ °¡»ó NIC¿¡ ´ëÇÑ Á¤º¸·Î ÀÌ·¯ÇÑ ÄÁÅØ½ºÆ® ¿µ¿ªÀ» ¼³Á¤Çϱâ À§ÇØ ±×·¯ÇÑ Á¤º¸¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù.

NdisOpenAdapter ÇÔ¼ö¿¡ ´ëÇÑ ¼º°øÀûÀΠȣÃâ ÈÄ¿¡, NdisIMInitializeDeviceInstanceEx ÇÔ¼ö¿¡ ´ëÇÑ ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ ¿¬¼ÓÀûÀΠȣÃâÀº NDIS¿¡°Ô ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ MiniportInitialize ÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ÇÑ´Ù. MiniportInitialize ÇÔ¼ö´Â NdisMSetAttributesEx ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °Í°ú °°Àº ³×Æ®¿öÅ© I/O ¿¬»êµéÀ» ½ÇÇàÇÏ´Â µ¥ ÇÊ¿äÇÏ°í ¿¬»ê »óÅ¿¡ ´ëÇÑ µå¶óÀ̹öÀÇ °¡»ó NIC À» ÃʱâÈ­ÇÏ´Â µ¥ ÇÊ¿äÇÑ ¾î¶² ÀÚ¿øµéÀ» ÇÒ´çÇÑ´Ù. ±×¸®°í ³ª¼­ ¾ÆÁ÷ »óÀ§ ·¹º§ µå¶óÀ̹ö´Â ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ ÃʱâÈ­°¡ ¼º°øÀûÀ¸·Î ¿Ï¼ºµÉ ¶§ °¡»ó NIC°ú ¹ÙÀεåÇÒ ¼ö ÀÖ´Ù. ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ MiniportInitialize ÇÔ¼ö´Â ¸¸¾à ±×·¯ÇÑ ¿µ¿ªÀÌ ProtocolBindAdapter ÇÔ¼ö¿¡ ÀÇÇØ Á¦°øµÈ´Ù¸éÀº DeviceContext ¿µ¿ª¿¡ ´ëÇÑ Á¢±ÙÀ» ¾ò±â À§ÇØ NdisIMGetDeviceContext ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.

MiniportInitialize ÇÔ¼ö¿¡ ´ëÇÑ Á¦¾î¸¦ ¸®ÅÏÇÑ ÈÄ¿¡, ÀÎÅ͹̵ð¾ù µå¶óÀ̹öÀÇ ÀåÄ¡ ÄÁÅØ½ºÆ® ¿µ¿ªÀº ±×·¯ÇÑ ÄÁÅØ½ºÆ® ¿µ¿ª¿¡¼­ Á¤º¸¸¦ Á¢±ÙÇϱâ À§ÇØ °°Àº °¡»ó NIC¿¡ ´ëÇÑ ¹ÙÀεåµÈ ¸ðµç »óÀ§ ·¹º§ ÇÁ·ÎÅäÄݵéÀ» Çã¶ôÇÏ´Â ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö Á¤ÀÇ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ±×·¯ÇÑ »óÀ§ ·¹º§ ÇÁ·ÎÅäÄÝÀº NdisIMGetBindingContext ÇÔ¼ö¿¡ ´ëÇÑ ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö Á¦°ø ÀåÄ¡ ÄÁÅØ½ºÆ®¸¦ Äõ¸®ÇÒ ¼ö ÀÖ´Ù.

NdisIMInitializeDeviceInstanceEx ÇÔ¼ö´Â IRQL < DISPATCH_LEVEL ¿¡¼­ ½ÇÇàÇÑ´Ù.