Compartir a través de


Función NdisMCmOidRequest (ndis.h)

La función NdisMCmOidRequest envía una solicitud OID desde un controlador del administrador de llamadas de miniporte (MCM) a un cliente de CoNDIS.

Sintaxis

NDIS_STATUS NdisMCmOidRequest(
  [in]           NDIS_HANDLE       NdisAfHandle,
  [in, optional] NDIS_HANDLE       NdisVcHandle,
  [in, optional] NDIS_HANDLE       NdisPartyHandle,
                 PNDIS_OID_REQUEST NdisOidRequest
);

Parámetros

[in] NdisAfHandle

Identificador que identifica la familia de direcciones (AF) e implícitamente al cliente, a la que se dirige la solicitud OID. El controlador MCM obtuvo originalmente este identificador como parámetro de entrada para su función ProtocolCmOpenAf .

[in, optional] NdisVcHandle

Identificador que identifica la conexión virtual (VC) para la que el autor de la llamada solicita o establece información, si la solicitud es específica de VC. De lo contrario, si esta solicitud no es específica de VC, este parámetro es NULL. Para cualquier solicitud específica de VC, el autor de la llamada obtuvo originalmente este identificador cuando creó la credencial verificable con la función NdisMCmCreateVc , o como parámetro de entrada para su función ProtocolCoCreateVc .

[in, optional] NdisPartyHandle

Identificador que identifica a la entidad en una credencial verificable de varios puntos para la que el autor de la llamada solicita o establece información, si la solicitud es específica de la entidad. De lo contrario, si esta solicitud no es específica de terceros, este parámetro es NULL. Para cualquier solicitud específica de la entidad, el controlador MCM obtuvo originalmente este identificador como parámetro de entrada para su función ProtocolCmAddParty .

NdisOidRequest

Puntero a un búfer asignado por el autor de la llamada que contiene una estructura de NDIS_OID_REQUEST .

Valor devuelto

NdisMCmOidRequest devuelve uno de los siguientes valores:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
La operación de solicitud se completó correctamente.
NDIS_STATUS_PENDING
La solicitud se controla de forma asincrónica y NDIS llamará al autor de la llamada. Función ProtocolCoOidRequestComplete cuando se completa la solicitud.
NDIS_STATUS_INVALID_OID
El código OID_XXX especificado en el miembro Oid de la estructura NDIS_OID_REQUEST en el parámetro OidRequest no es válido o no es compatible con el controlador subyacente.
NDIS_STATUS_INVALID_LENGTH o NDIS_STATUS_BUFFER_TOO_SHORT
El valor especificado en el miembro InformationBufferLength de la estructura NDIS_OID_REQUEST en OidRequest no coincide con los requisitos del código OID_XXX especificado. Si el búfer de información es demasiado pequeño, el miembro BytesNeeded de NDIS_OID_REQUEST contiene el valor correcto para InformationBufferLength, cuando devuelve NdisMCmOidRequest .
NDIS_STATUS_INVALID_DATA
Los datos proporcionados en InformationBuffer en la estructura de NDIS_OID_REQUEST especificada no eran válidos para el código OID_XXX especificado.
NDIS_STATUS_NOT_SUPPORTED o NDIS_STATUS_NOT_RECOGNIZED
El controlador cliente no admite la operación solicitada.
NDIS_STATUS_RESOURCES
No se pudo satisfacer la solicitud debido a una escasez de recursos. Normalmente, este valor devuelto indica que un intento de asignar memoria no se realizó correctamente, pero no indica necesariamente que la misma solicitud, si se envía más adelante, producirá un error por el mismo motivo.
NDIS_STATUS_FAILURE
Este valor suele ser un valor predeterminado no específico que se devuelve cuando no se aplica ninguno de los códigos de estado NDIS_STATUS_XXX más específicos.
NDIS_STATUS_REQUEST_ABORTED
El controlador de destino detuvo el procesamiento de la solicitud.

Comentarios

Para iniciar solicitudes de OID a los clientes de CoNDIS, los controladores MCM llaman a la función NdisMCmOidRequest . Antes de que un controlador MCM llame a NdisMCmOidRequest, el controlador asigna memoria para su solicitud e inicializa una estructura de NDIS_OID_REQUEST . McM establece el miembro Oid de la estructura NDIS_OID_REQUEST con un código OID de CoNDIS.

Un controlador MCM puede llamar a NdisMCmOidRequest para comunicar información orientada a la conexión, como un cambio en las direcciones al cliente que identifica el parámetro NdisAfHandle .

Después de que MCM llame a NdisMCmOidRequest, NDIS llama a la función ProtocolCoOidRequest del cliente.

Si la solicitud del controlador MCM es específica de VC o específica de una entidad, el controlador MCM también pasa un valor distinto de NULL en el parámetro NdisVcHandle o NdisPartyHandle , respectivamente.

Si NdisMCmOidRequest devuelve NDIS_STATUS_PENDING, la solicitud se controla de forma asincrónica y NDIS llamará al MCM. Función ProtocolCoOidRequestComplete cuando se completa la solicitud. Si NdisMCmOidRequest devuelve cualquier otro estado, la solicitud se completa cuando NdisMCmOidRequest devuelve y NDIS no llama a ProtocolCoOidRequestComplete.

Para obtener más información sobre los OID que se definen para su uso con NdisMCmOidRequest, consulte NDIS OIDS.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI Irql_MCM_Function(ndis)

Consulte también

NDIS_OID_REQUEST

NdisMCmCreateVc

ProtocolCmAddParty

ProtocolCmOpenAf

ProtocolCoCreateVc

ProtocolCoOidRequest

ProtocolCoOidRequestComplete