Функция NdisReadConfiguration (ndis.h)

Функция NdisReadConfiguration возвращает значение именованной записи указанного типа из реестра с учетом дескриптора открытого раздела реестра. Эта функция должна вызываться последовательно относительно самой себя и функции NdisWriteConfiguration .

Синтаксис

void NdisReadConfiguration(
  [out] PNDIS_STATUS                  Status,
  [out] PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
  [in]  NDIS_HANDLE                   ConfigurationHandle,
  [in]  PNDIS_STRING                  Keyword,
  [in]  NDIS_PARAMETER_TYPE           ParameterType
);

Параметры

[out] Status

Указатель на переменную, предоставленную вызывающей стороны, в которой эта функция возвращает состояние вызова в виде одного из следующих значений.

Значение Значение
NDIS_STATUS_SUCCESS
Буфер в ParameterValue содержит возвращаемые сведения о конфигурации.
NDIS_STATUS_RESOURCES
NDIS не удалось выделить ресурсы( обычно достаточно памяти) для возврата запрошенных сведений.
NDIS_STATUS_FAILURE
Не удалось найти запрошенные сведения в открытом разделе реестра, назначенном ConfigurationHandle.

[out] ParameterValue

Указатель на расположение памяти, где NDIS предоставляет указатель на NDIS_CONFIGURATION_PARAMETER структуру, если вызов NdisReadConfiguration выполнен успешно. NDIS выделяет память для NDIS_CONFIGURATION_PARAMETER структура.

[in] ConfigurationHandle

Дескриптор раздела реестра, возвращенного NdisOpenConfigurationEx, NdisOpenConfigurationKeyByIndex или Функция NdisOpenConfigurationKeyByName .

[in] Keyword

Указатель на предоставленный вызывающим NDIS_STRING тип, описывающий подсчитываемую строку в системной кодировке по умолчанию, указывающую имя записи в открытом разделе реестра, для которой возвращается значение.

Кроме того, указатель на предоставленный вызывающим NDIS_STRING_CONSTANT с указанием одного из следующих предопределенных имен записей вместе с предопределенными возвращаемыми значениями:

Предопределенное имя записи Предопределенные возвращаемые значения
ProcessorType (Тип процессора)
  • NdisProcessorX86
  • NdisProcessorAmd64
  • NdisProcessorIA64
  • NdisProcessorAlpha
Следующее возможно только в том случае, если старый (до NDIS 6.0) драйвер:
  • NdisProcessorMips
  • NdisProcessorPpc
NdisVersion 0xMMMMmmmm, где MMMM — основная версия, а mmmm — номер дополнительной версии. Например, 0x00050000 указывает, что самая высокая поддерживаемая системой версия NDIS — основная версия 5, дополнительная версия 0.

[in] ParameterType

Тип записи значения, указанной в качестве одного из NDIS_PARAMETER_TYPE значений перечисления. Этот параметр игнорируется в Windows NT и более поздних версиях.

Возвращаемое значение

None

Remarks

В реестре конфигурации Windows 2000 и более поздних версий ключевое слово NDIS является синонимом имени записи значения. Такое имя — это подсчитываемая последовательность символов Юникода, заканчиваемая значением NULL.

Каждый драйвер NDIS может настроить сведения о конфигурации в реестре для себя с помощью директивы AddReg в INF-файле. Например, драйвер протокола может хранить собственное имя в виде записи с предварительно отформатированным строковым значением, которое можно передать в вызовах кФункция NdisRegisterProtocolDriver. Дополнительные сведения см. в разделе Add-registry-sections in a Network INF File.

Каждый драйвер мини-порта также имеет связанные записи значений в реестре. Записи значений для любого конкретного драйвера мини-порта могут быть зависимыми от устройства по своей природе. Например, драйвер мини-порта может иметь такие ключевые слова, как *FlowControl, *SpeedDuplex и *InterruptModeration. Значение, связанное с таким ключевое слово NDIS, может быть целым числом (тип ULONG) или строкой (тип NDIS_STRING). Например, набором возможных значений для уже упомянутой записи *FlowControl могут быть значения NdisParameterInteger 0, 1, 2 или 3 или эквиваленты в шестнадцатеричном формате как значения NdisParameterHexInteger .

NdisReadConfiguration буферизует и копирует строку, предоставленную вызывающим объектом, в ключевом слове , и освобождает хранилище, выделяемое для этой копии, прежде чем вернуть управление вызывающему объекту. Память, выделенная для NDIS_CONFIGURATION_PARAMETER структура освобождается, когда драйвер выпускает ConfigurationHandle с функцией NdisCloseConfiguration . Вызывающий объект NdisReadConfiguration отвечает за освобождение буферизованной строки в ключевом слове.

Обратите внимание, что NDIS не проверяет значения, которые драйвер считывает из реестра. Поэтому вызывающий объект NdisReadConfiguration не должен делать никаких предположений относительно таких значений и должен проверять каждое значение, прочитанное из реестра. Если вызывающий объект определяет, что значение выходит за пределы границ, он должен использовать значение по умолчанию.

Дополнительные сведения о файлах установки и установки см. в статье Общие сведения об установке устройств.

Требования

Требование Значение
Минимальная версия клиента Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisReadConfiguration (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisReadConfiguration (NDIS 5.1)) в Windows XP.
Целевая платформа Универсальное
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL PASSIVE_LEVEL
Правила соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также раздел

ANSI_STRING

NDIS_CONFIGURATION_PARAMETER

NDIS_PARAMETER_TYPE

NdisAnsiStringToUnicodeString

NdisCloseConfiguration

NdisFreeString

NdisInitAnsiString

NdisInitUnicodeString

NdisInitializeString

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadNetworkAddress

NdisUnicodeStringToAnsiString

NdisWriteConfiguration

UNICODE_STRING