NdisMSetMiniportSecondary
NDIS_STATUS
NdisMSetMiniportSecondary(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE PrimaryMiniportAdapterHandle
);
|
NdisMSetMiniportSecondary ÇÔ¼ö´Â ƯÁ¤ ¹Ì´ÏÆ÷Æ® ¾î´ðÅ͸¦ ¿ì¼± ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ¿¡ °ü°èÇØ¼ µÎ¹øÂ° ¿ªÇÒÀ» Çϵµ·Ï ¼³Á¤ÇÑ´Ù. ¿ì¼± ¹Ì´ÏÆ÷ºv ¾î´ðÅÍ´Â ¸ðµç ÆÐŶ Àü¼ÛµéÀ» ó¸®Çϰí ÇÁ·ÎÅäÄÝ µå¶óÀ̹öµé¿¡ ÀÇÇØ ÇàÇÏ´Â Á¤º¸ÀÇ ¿ä±¸µéÀ» ó¸®ÇÑ´Ù.
¸Å°³º¯¼ö
- MiniportAdapterHandle
- Àü¿¡ MiniportInitialize ÇÔ¼ö¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ ÀԷ¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
- PrimaryMiniportAdapterHandle
- MiniportInitialize ÇÔ¼ö¸¦ ÃʱâÈÇß´ø ¿ì¼± ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
¸®Åϰª
NdisMSetMiniportSecondary ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº °ªÀ» ¸®ÅÏÇÒ ¼ö ÀÖ´Ù. :
- NDIS_STATUS_SUCCESS
- ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ´Â ¿ì¼± ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ¿¡ ´ëÇÑ µÎ¹øÂ° ¿ªÇÒ·Î ¼³Á¤µÈ´Ù. ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ¿¬¼ÓÇØ¼ µÎ¹øÂ° ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ¿¡¼ ¿ì¼± ¿ªÇÒ·Î promoteÇÑ´Ù.
- NDIS_STATUS_FAILURE
- µÎ¹øÂ° ¿ªÇÒ·Î ÃʱâÈµÈ ¹Ì´ÏÆ÷Æ® ¾î´ðÅ͸¦ ¼³Á¤ÇÏ´Â ½Ãµµ°¡ ½ÇÆÐÇÑ´Ù.
ÁÖ¼®
ÇÁ·ÎÅäÄÝ µå¶óÀ̹öµéÀº ´ÜÁö ¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ ¿ì¼± ¾î´ðÅÍ·Î ¹ÙÀεåÇÒ ¼ö ÀÖ´Ù. ¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ µÎ¹øÂ° ¾î´ðÅ͵鿡 ´ëÇÑ ¹ÙÀεùµéÀº ²÷±ä´Ù.(tear down)
¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ¹Ì´ÏÆ÷Æ®ÀÇ MiniportInitialize ÇÔ¼ö³»·ÎºÎÅÍ µÎ¹øÂ° ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍÀÇ ÃʱâÈÇÏ´Â µ¿¾È NdisMSetMiniportSecondary ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ È£Ãâ¿¡¼, ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â MiniportAdapterHandle ¸Å°³º¯¼ö·Î ÃʱâÈµÈ ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ¿¡ ´ëÇÑ ÇÚµé°ú ÀÌ¹Ì PrimaryMiniportAdapterHandle ¸Å°³º¯¼ö·Î ÃʱâÈµÈ ¿ì¼± ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍÀÇ ÇÚµéÀ» Àü´ÞÇÑ´Ù. ¿ì¼± ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ´Â ÇÁ·ÎÅäÄÝ µå¶óÀ̹öµé¿¡ ÀÇÇØ ¸¸µé¾îÁø Á¤º¸¸¦ À§ÇÑ ¿ä±¸µé°ú ¸ðµç ÆÐŶ Àü¼ÛµéÀ» ´Ù·é´Ù. ±×·¯³ª, NDIS´Â ƯÁ¤ ¿ä±¸µéÀ» µÎ¹øÂ° ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ¿¡ º¸³¾ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, NDIS´Â ±×·¯ÇÑ ¹Ìµð¾î ¿¬°á¸¦ À§ÇØ ¸ðµç ¹Ì´ÏÆ÷Æ® ¾î´ðÅ͵éÀ» Äõ¸®ÇÑ´Ù. µÎ¹øÂ° ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ´Â ÀÌ·¯ÇÑ Äõ¸®¸¦ ó¸®ÇØ¾ß Çϰí ÀÀ´äÇØ¾ß ÇÑ´Ù.
µÎ¹øÂ° ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍÀÇ ÃʱâÈ ÈÄ¿¡, ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â µÎ¹øÂ° ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ¿¡¼ ¿ì¼± ¿ªÇÒ(¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ)·Î promoteÇϱâ À§ÇØ NdisMPromoteMiniport ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.
¹Ì´ÏÆ÷Æ®°¡ NdisMsetMiniportSecondary ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡, ¸¸¾à ÃʱâÈµÈ ¹Ì´ÏÆ÷Æ® ¾î´ðÅͰ¡ ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍÀÇ ¹Ì´ÏÆ÷Æ® bundleÀÇ ºÎºÐÀ̶ó¸éÀº óÀ½ °áÁ¤µÇ¾ß ÇÑ´Ù. ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ÀÌ ¹øµéÀ» »ç¿ëÇÏ¿© °¢ ¹Ì´ÏÆ÷Æ® ¾î´ðÅͰ¡ ½ÇÇàÇÏ´Â work load¸¦ ±ÕÇüÀâ°í ¸¸¾à ¿ì¼± ¹Ì´ÏÆ÷Æ® ¾î´ðÅͰ¡ ½ÇÆÐÇÑ´Ù¸éÀº µÎ¹øÂ° ¾î´ðÅͰ¡ Á¤º¸ ¿ä±¸µé°ú ÆÐŶ Àü¼ÛµéÀ» ¾çµµ¹Þµµ·Ï ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀº load balancing °ú fail over(LBFO)¶ó°í ºÒ¸°´Ù. ¿¹·Î, ¸¸¾à ¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ ¿ì¼± ¾î´ðÅͰ¡ ½ÇÆÐÇÑ´Ù¸éÀº, ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ±×¸®°í ¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ ¹øµé·ÎºÎÅÍ ¿ì¼± ¾î´ðÅ͸¦ Á¦°Å Çϱâ À§ÇØ NdisMRemoveMiniport ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ±×¸®°í ³ª¼ NdisMPromoteMiniport ÇÔ¼ö¸¦ È£ÃâÇØ¼ µÎ¹øÂ° ¾î´ðÅ͸¦ ¿ì¼± ¿ªÇÒ·Î promote ÇÒ ¼ö ÀÖ´Ù.
¸¸¾à ÃʱâÈµÈ ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö°¡ ¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ ¹øµéÀÇ ºÎºÐÀ̶ó´Â °ÍÀ» °áÁ¤Çϱâ À§ÇØ ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â óÀ½ ¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ ±¸¼º ¸Å°³º¯¼öµéÀÌ ÀúÀåµÈ ·¹Áö½ºÆ®¸® ۸¦ À§ÇÑ ÇÚµéÀ» ¾ò±â À§ÇØ NdisOpenConfiguration ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ´ÙÀ½, ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ¹Ì´ÏÆ÷Æ®ÀÇ ·¹Áö½ºÆ®¸® Ű ¾Æ·¡¿¡ ÀÖ´Â BundleIndentifier Ű¿öµå·ÎºÎÅÍ ¹®ÀÚ¿ °ª(REG_SZ)À» °Ë»öÇϱâ À§ÇØ NdisReadConfiguration ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ¹®ÀÚ¿ °ªÀ» ÃʱâÈµÈ ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ Æ¯Á¤ Á¤º¸¸¦ ¹Ì´ÏÆ÷Æ®°¡ ÀúÀåÇÏ´Â ¹Ì´ÏÆ÷Æ® ³»ºÎ ±¸Á¶Ã¼¿¡ º¹»çÇØ¾ß ÇÑ´Ù.
ÃʱâÈÇÏ´Â µ¿¾È, ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â µå¶óÀ̹ö°¡ ÀÌ¹Ì µ¿ÀÏÇÑ bundle-indentifier °ªÀ» °¡Áö´Â ÀνºÅϽº¸¦ À§Ä¡Çϱâ À§ÇØ ÀÌ¹Ì ÃʱâÈÇÏ´Â ¸ðµç ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ ÀνºÅϽºµéÀ» ÅëÇØ ã¾Æ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ °Ë»öÀ» ÇàÇϱâ À§ÇØ, ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â °¢ ÀνºÅϽºÀÇ MiniportAdapterContext¸¦ Á¶»çÇÑ´Ù. ¸¸¾à µå¶óÀ̹ö´Â match°¡ À§Ä¡ÇÑ´Ù¸éÀº, NdisMSetMiniportSecondary ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÏ°í ¿ì¼± ȤÀº µÎ¹øÂ° ¹Ì´ÏÆ÷Æ® ¾î´ðÅ͵éÀ» À§ÇØ ÇÚµéµéÀ» Àü´ÞÇÑ´Ù.
¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â NdisMSetMiniportSecondary ÇÔ¼ö¸¦ ¸î¸î ¹Ì´ÏÆ÷Æ® ¾î´ðÅ͵éÀÇ ¿¬¼ÓÀûÀÎ Ãʱâȵ¿¾È ±×µé ¸ðµÎ µÎ¹øÂ° ¿ªÇÒ·Î ¼³Á¤Çϱâ À§ÇØ È£ÃâÇÒ ¼ö ÀÖ´Ù. Áï, ´ÙÁß µÎ¹øÂ° ¹Ì´ÏÆ÷Æ® ¾î´ðÅ͵éÀº ¹øµé³»¿¡ Á¸ÀçÇÒ ¼ö ÀÖ´Ù. NDIS´Â ´ÜÁö transportsµé¿¡°Ô ¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ ¿ì¼± ¾î´ðÅ͸¦ expose ÇÒ °ÍÀÌ´Ù. ¸¸¾à transports(Àü¼Û °èÃþ) µéÀÌ ¹Ì´ÏÆ÷Æ®¿¡°Ô ÆÐŶµéÀ» º¸³»±â ¿ä±¸ÇÑ´Ù¸éÀº ȤÀº Á¤º¸¸¦ ¼³Á¤Çϰųª Äõ¸®Çϵµ·Ï ¿ä±¸ÇÑ´Ù¸éÀº, NDIS´Â ÀÌ·¯ÇÑ ¿ä±¸µéÀ» ¿ì¼± ¾î´ðÅ͸¦ »ç¿ëÇÏ¿© ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿¡°Ô Àü´ÞÇÒ °ÍÀÌ´Ù. ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â Àû´çÇÏ°Ô ÀÌ·¯ÇÑ ¿ä±¸µéÀ» À§ÇØ LBFO¸¦ Á¦°øÇØ¾ß ÇÑ´Ù. ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ´ÜÁö ¿ì¼± ¾î´ðÅÍ·Î ÇÚµéÀ» »ç¿ëÇÏ¿© ³×Æ®¿öÅ©À¸·ÎºÎÅÍ ¼ö½ÅµÈ ÆÐŶµéÀ» À§·Î ÀεðÄÉÀÌÆ®ÇÑ´Ù.
°°Àº ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿¡ ÀÇÇØ ÃʱâÈµÈ ±×¸®°í ¹Ì´ÏÆ÷Æ®ÀÇ ¹øµéÀÌ ¼ÓÇÑ ¹Ì´ÏÆ÷Æ® ¾î´ðÅÍ ÀνºÅϽºµéÀº MiniportMSetMiniportSecondary ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.
¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿¡ ´ëÇÑ LBFO ´É·ÂÀ» Ãß°¡ÇÏ´Â Á¤º¸¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â passthru µå¶óÀ̹ö¸¦ À§ÇÑ readme¸¦ ºÁ¶ó. ÀÌ·¯ÇÑ ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â Windows 2000 DDK³»¿¡ °°Àº ÀÎÅ͹̵ð¾ù ¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÌ´Ù.
NdisMSetMiniportSecondary ÇÔ¼öÀÇ È£ÃâÀÚµéÀº IRQL PASSIVE_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù.
|