Función NdisReadConfiguration (ndis.h)

La función NdisReadConfiguration devuelve el valor de una entrada con nombre del tipo especificado del Registro, dado el identificador a una clave del Registro abierta. Esta función se debe invocar en serie con respecto a sí misma y a la función NdisWriteConfiguration .

Sintaxis

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

Parámetros

[out] Status

Puntero a una variable proporcionada por el autor de la llamada en la que esta función devuelve el estado de la llamada como uno de los valores siguientes.

Valor Significado
NDIS_STATUS_SUCCESS
El búfer de ParameterValue contiene la información de configuración devuelta.
NDIS_STATUS_RESOURCES
NDIS no pudo asignar recursos, normalmente suficiente memoria, para devolver la información solicitada.
NDIS_STATUS_FAILURE
No se encontró la información solicitada en la clave del Registro abierta designada por ConfigurationHandle.

[out] ParameterValue

Puntero a una ubicación de memoria donde NDIS proporciona un puntero a un NDIS_CONFIGURATION_PARAMETER estructura si la llamada a NdisReadConfiguration se realiza correctamente. NDIS asigna memoria para el NDIS_CONFIGURATION_PARAMETER estructura.

[in] ConfigurationHandle

Identificador de una clave del Registro devuelta por NdisOpenConfigurationEx, NdisOpenConfigurationKeyByIndex o Función NdisOpenConfigurationKeyByName .

[in] Keyword

Puntero a un tipo de NDIS_STRING proporcionado por el autor de la llamada que describe una cadena contada, en el juego de caracteres predeterminado del sistema, especificando el nombre de la entrada en la clave del Registro abierta para la que se va a devolver el valor.

Como alternativa, puntero a un NDIS_STRING_CONSTANT proporcionado por el autor de la llamada que especifica uno de los siguientes nombres de entrada predefinidos junto con valores devueltos predefinidos:

Nombre de entrada predefinido Valores devueltos predefinidos
ProcessorType
  • NdisProcessorX86
  • NdisProcessorAmd64
  • NdisProcessorIA64
  • NdisProcessorAlpha
Los siguientes son posibles solo si un controlador antiguo (anterior a NDIS 6.0):
  • NdisProcessorMips
  • NdisProcessorPpc
NdisVersion 0xMMMMmmmm, donde MMMM es la versión principal y mmmm es el número de versión secundaria. Por ejemplo, 0x00050000 indica que la versión NDIS más alta compatible con el sistema es la versión principal 5, versión secundaria 0.

[in] ParameterType

Tipo de la entrada de valor que se especifica como uno de los valores de enumeración de NDIS_PARAMETER_TYPE . Este parámetro se omite en Windows NT y versiones posteriores.

Valor devuelto

None

Observaciones

En el Registro de configuración de Windows 2000 y versiones posteriores, una palabra clave NDIS es un sinónimo de un nombre de entrada de valor. Este nombre es una secuencia contada de caracteres Unicode, terminada con un valor NULL.

Cada controlador NDIS puede configurar información de configuración en el Registro para sí misma mediante la directiva AddReg en su archivo INF. Por ejemplo, un controlador de protocolo podría almacenar su propio nombre como una entrada con un valor de cadena con formato previo que se puede pasar a las llamadas a . Función NdisRegisterProtocolDriver . Para obtener más información, consulte Add-registry-sections in a Network INF File.

Cada controlador de minipuerto también tiene entradas de valor asociadas en el Registro. Las entradas de valor de cualquier controlador de miniporte determinado pueden depender del dispositivo por naturaleza. Por ejemplo, un controlador de minipuerto podría tener palabras clave como *FlowControl, *SpeedDuplex y *InterruptModeration. El valor asociado a esta palabra clave NDIS puede ser un entero (tipo ULONG) o una cadena (NDIS_STRING-type). Por ejemplo, el conjunto de valores posibles para la entrada *FlowControl ya mencionada podría ser NdisParameterInteger valores 0, 1, 2 o 3, o los equivalentes en hexadecimal como valores NdisParameterHexInteger .

NdisReadConfiguration almacena en búferes y copia la cadena proporcionada por el autor de la llamada en Keyword y libera el almacenamiento que asigna para esta copia antes de devolver el control al autor de la llamada. Memoria que asigna para el NDIS_CONFIGURATION_PARAMETER estructura se libera cuando el controlador libera ConfigurationHandle con la función NdisCloseConfiguration . El autor de la llamada de NdisReadConfiguration es responsable de liberar la cadena almacenada en búfer en Palabra clave.

Tenga en cuenta que NDIS no valida los valores que lee un controlador del registro. Por lo tanto, el autor de la llamada de NdisReadConfiguration no debe realizar ninguna suposición sobre estos valores y debe validar cada valor leído del Registro. Si el autor de la llamada determina que un valor está fuera de los límites, debe usar un valor predeterminado en su lugar.

Para obtener más información sobre los archivos de instalación e instalación, consulte Información general sobre la instalación de dispositivos.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte NdisReadConfiguration (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisReadConfiguration (NDIS 5.1)) en Windows XP.
Plataforma de destino Universal
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI Irql_Miscellaneous_Function(ndis)

Consulte también

ANSI_STRING

NDIS_CONFIGURATION_PARAMETER

NDIS_PARAMETER_TYPE

NdisAnsiStringToUnicodeString

NdisCloseConfiguration

NdisFreeString

NdisInitAnsiString

NdisInitUnicodeString

NdisInitializeString

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadNetworkAddress

NdisUnicodeStringToAnsiString

NdisWriteConfiguration

UNICODE_STRING