NdisReadConfiguration
VOID
NdisReadConfiguration(
OUT PNDIS_STATUS Status,
OUT PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
IN NDIS_HANDLE ConfigurationHandle,
IN PNDIS_STRING Keyword,
IN NDIS_PARAMETER_TYPE ParameterType
);
|
NdisReadConfigurationÀº ¿¸° ·¹Áö½ºÆ®¸® Ű¿¡ ´ëÇÑ ÇÚµéÀÌ ÁÖ¾îÁø´Ù¸éÀº ·¹Áö½ºÆ®¸®·ÎºÎÅÍ Æ¯Á¤ ŸÀÔÀÇ À̸§À» °¡Áø ¿£Æ®¸®¿¡ ´ëÇÑ °ªÀ» ¸®ÅÏÇÑ´Ù.
¸Å°³º¯¼ö
- Status
- ÀÌ ÇÔ¼ö°¡ ´ÙÀ½°ú °°Àº ÇϳªÀÇ °ªÀ¸·Î È£Ãâ¿¡ ´ëÇÑ »óŸ¦ ¸®ÅÏÇϴ ȣÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù.
- NDIS_STATUS_SUCCESS
- ParameterValue¿¡ ÁöÁ¤µÈ ¹öÆÛ´Â ¸®ÅÏµÈ ±¸¼º Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
- NDIS_STATUS_RESOURCES
- NDIS´Â ¿ä±¸µÈ Á¤º¸¸¦ ¸®ÅÏÇϱâ À§ÇÑ ÃæºÐÇÑ ¸Þ¸ð¸®·Î ÀÚ¿øÀ» ÇÒ´çÇÒ ¼ö ¾ø´Ù.
- NDIS_STATUS_FAILURE
- ¿ä±¸µÈ Á¤º¸´Â ConfigurationHandle¿¡ ÀÇÇØ ÁöεÈ(designated) ¿¸° ·¹Áö½ºÆ®¸® Ű ¾Æ·¡¿¡ ¹ß°ßµÉ ¼ö ¾ø´Ù.
- ParameterValue
- NdisReadConfiguration¿¡ ´ëÇÑ ¼º°øÀûÀΠȣÃâÀÌ ¾Æ·¡ Á¤ÀÇµÈ NDIS_CONFIGURATION_PARAMETER¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¸®ÅÏÇϴ ȣÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù.
typedef struct _NDIS_CONFIGURATION_PARAMETER
{
NDIS_PARAMETER_TYPE ParameterType;
union
{
ULONG IntegerData;
NDIS_STRING StringData;
} ParameterData;
} NDIS_CONFIGURATION_PARAMETER, *PNDIS_CONFIGURATION_PARAMETER;
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹ö´Â ´ÙÀ½ÀÇ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ´Ù.
- ParameterType
- ¸¸¾à È£ÃâÀÌ ¼º°øÀûÀ̶ó¸éÀº ParameterType¿¡ °ªÀÌ ÀÏÄ¡ÇÑ´Ù.
- ParameterData
- ÁÖ¾îÁø À̸§ÀÇ ¿£Æ®¸® °ªÀ» ÁöÁ¤ÇÑ´Ù. ¸¸¾à ParameterTypeÀÌ ¹®ÀÚ¿ ŸÀÔÀ̸éÀº ÀÌ ¸â¹ö´Â ½Ã½ºÅÛ µðÆúÆ® ¹®ÀÚ ¼ÂÀÎ ¹öÆÛȵǰí, Ä«¿îÆ®ÈµÈ ¹®ÀÚ¿ Æ÷ÀÎÅÍÀÌ´Ù. À©µµ¿ìÁî NT¿¡¼ ±×·¯ÇÑ ¹®ÀÚ¿Àº À¯´ÏÄÚµå ¹®ÀÚµéÀ» Æ÷ÇÔÇÑ´Ù.
- ConfigurationHandle
- NIC µå¶óÀ̹öÀÇ ..\DriverName\Parameters ·¹Áö½ºÆ®¸® ŰÀÎ NdisOpenConfiguration¿¡ ÀÇÇØ ¸®ÅÏµÈ ÇÚµéÀ» ÁöÁ¤Çϰųª ·¹Áö½ºÆ®¸®ÀÇ ÇÁ·ÎÅäÄÝ ¼½¼Ç ºÎºÐ¿¡ ÇÁ·ÎÅäÄÝÀÇ ..\NICDriverInstance\Parameters\ProtocolName ŰÀÎ NdisOpenProtocolConfiguration¿¡ ÀÇÇØ ¸®ÅÏµÈ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
- keyword
- °ªÀ» ¸®ÅÏÇϱâ À§ÇØ ¿¸° ·¹Áö½ºÆ®¸® Ű ¾Æ·¡¿¡ ¿£Æ®¸®ÀÇ À̸§À» ÁöÁ¤ÇÏ´Â ½Ã½ºÅÛ µðÆúÆ® ¹®ÀÚ¼ÂÀΠȣÃâÀÚ Á¦°ø Ä«¿îÆ®µÈ ¹®ÀÚ¿À» °¡¸®Å²´Ù.
ÀÌ ¸Å°³º¯¼ö´Â ¶ÇÇÑ ¸ðµç NDIS µå¶óÀ̹öµéÀ» À§ÇØ ´ÙÀ½¿¡ ¹Ì¸® Á¤ÀÇµÈ ±Û·Î¹ú Ű¿öµåÁß¿¡ Çϳª¸¦ °¡¸®Å³ ¼ö ÀÖ´Ù.
| ¹Ì¸® Á¤ÀÇµÈ Å°¿öµå |
¹Ì¸® Á¤ÀÇµÈ ¸®Åϰª |
| Environment |
NdisEnvironmentWindowsNt
NdisEnvironmentWindows |
| ProcessorType |
NdisProcessorX86
//
// Following possible only if
// current machine's Environment ==
// NdisEnvironmentWindowsNt
//
NdisProcessorAlpha
// Following possible only if legacy driver
NdisProcessorMips
NdisProcessorPpc |
| NdisVersion |
0xMMMMmmmm
// where MMMM is the major version and
// mmmm the minor version number.
// For example, 0x00050000 indicates the
// the driver is connection-oriented
// (current version of NDIS library), while
// 0x00040000 indicates the driver
// uses underlying connectionless media. |
- ParameterType
- ´ÙÀ½Áß Çϳª·Î¼ °ª ¿£Æ®¸® ŸÀÔÀ» ÁöÁ¤ÇÑ´Ù.
- NdisParameterInteger
- ½ÊÁø Ç¥±â·Î Á¤¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
- NdisParameterHexInteger
- 16Áø Ç¥½Ã·Î Á¤¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
- NdisParameterString
- ŸÀÔ NDIS_STRINGÀÇ ¹®ÀÚ¿À» ÁöÁ¤ÇÑ´Ù. À©µµ¿ìÁî NT µå¶óÀ̹ö¸¦ À§ÇØ, ÀÌ °ªÀº ¼ýÀÚÈµÈ À¯´ÏÄÚµå ¹®ÀÚ¿ÀÌ´Ù.
- NdisParameterMultiString
- À©µµ¿ìÁî NT Á¤ÀÇµÈ REG_MULTI_SZ ŸÀÔÀÇ ¸ÖƼ ¹®ÀÚ¿ ¸Å°³º¯¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
ÁÖ¼®
À©µµ¿ìÁî NT ±¸¼º ·¹Áö½ºÆ®¸®¿¡¼ NDIS Ű¿öµå´Â °ª ¿£Æ®¸® À̸§°ú ºñ½ÁÇÏ´Ù. ±×·¯ÇÑ À̸§Àº 0À¸·Î ³¡³ª´Â ¼ýÀÚÈµÈ ¿¬¼ÓÀûÀÎ À¯´ÏÄÚµå ¹®ÀÚµéÀÌ´Ù.
¸ðµç NDIS µå¶óÀ̹ö´Â ¼³Ä¡ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© µå¶óÀ̹öÀÇ Parameters Ű ¾Æ·¡¿¡ ·¹Áö½ºÆ®¸®³»¿¡ ±¸¼º Á¤º¸¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â NdisRegisterProtocol È£Ãâ¿¡ Àü´ÞµÉ ¼ö ÀÖ´Â ¹Ì¸® Æ÷¸ËÈµÈ ¹®ÀÚ¿ °ªÀ» ¿£Æ®¸®·Î¼ ÀÚ½ÅÀÇ À̸§À» ÀúÀåÇÒ ¼ö ÀÖ´Ù.
°¢ NIC µå¶óÀ̹ö´Â ¶ÇÇÑ µå¶óÀ̹öÀÇ Parameters ·¹Áö½ºÆ®¸® Ű ¾Æ·¡¿¡ °ª ¿£Æ®¸®µéÀÌ °ü·ÃµÇ¾î ÀÖ´Ù. ¾î¶² ƯÁ¤ NIC µå¶óÀ̹ö¸¦ À§ÇØ °ª ¿£Æ®¸®µéÀº ¿ø·¡ ÀåÄ¡ Á¾¼ÓÀÌ µÉ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ÀÌ´õ³Ý NIC µå¶óÀ̹ö´Â InterruptNumber, SharedMemoryAddress, MulticastListSize ¿Í °°Àº Ű¿öµåµéÀ» °¡Áú °ÍÀÌ´Ù. ±×·¯ÇÑ NDIS Ű¿öµå °°Àº °ü·ÃµÈ °ªÀº Á¤¼ö(ULONG-ŸÀÔ) ȤÀº ¹®ÀÚ¿ (NDIS_STRING - ŸÀÔ)ÀÌ µÉ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ÀÌ¹Ì ¾ð±ÞµÈ InterruptNumber ¿£Æ®¸®¸¦ À§ÇÑ °¡´ÉÇÑ °ªµéÀº NdisParameterInter °ªµé 2, 3, 4, 5 ȤÀº NdisParameterHexInteger °ªÀ¸·Î 16Áø¼ö·Î °°Àº °ªÀÌ µÉ ¼ö ÀÖ´Ù.
NdisReadConfiguration Keyword¿¡ È£ÃâÀÚ Á¦°ø ¹®ÀÚ¿À» ¹öÆÛÈÇϰí Ä«ÇÇÇϰí È£ÃâÀÚ¿¡°Ô Á¦¾î¸¦ ¸®ÅÏÇϱâ Àü¿¡ ÀÌ º¹»ç¸¦ À§ÇØ ÇÒ´çµÈ ÀúÀå°ø°£À» ÇØÁ¦ÇÑ´Ù. NDIS_CONFIGURATION_PARAMETER ±¸Á¶Ã¼¸¦ À§ÇØ ÇÒ´çµÈ ¸Þ¸ð¸®´Â µå¶óÀ̹ö°¡ NdisCloseConfiguration¿¡ ConfigurationHandleÀ» ÇØÁ¦ÇÒ ¶§ ÇØÁ¦µÇ¾îÁø´Ù. NdisReadConfigurationÀÇ È£ÃâÀÚ´Â Keyword¿¡ ¹öÆÛÈµÈ ¹®ÀÚ¿À» ÇØÁ¦ÇÒ Ã¥ÀÓÀÌ ÀÖ´Ù.
¼Â¾÷°ú ¼³Ä¡ ½ºÅ©¸³Æ®¿¡ °üÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, Programmer's Guide¸¦ ºÁ¶ó.
NdisReadConfiguration¿¡ ´ëÇÑ È£ÃâÀÚ´Â IRQL PASSIVE_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù.
|