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 |
---|---|
|
La operación de solicitud se completó correctamente. |
|
La solicitud se controla de forma asincrónica y NDIS llamará al autor de la llamada. Función ProtocolCoOidRequestComplete cuando se completa la solicitud. |
|
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. |
|
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 . |
|
Los datos proporcionados en InformationBuffer en la estructura de NDIS_OID_REQUEST especificada no eran válidos para el código OID_XXX especificado. |
|
El controlador cliente no admite la operación solicitada. |
|
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. |
|
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. |
|
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) |