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 ¿¡¼ ½ÇÇàÇÑ´Ù.
|