Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
NDIS llama a la función filterCancelOidRequest de un controlador de filtro para cancelar una solicitud OID.
Sintaxis
FILTER_CANCEL_OID_REQUEST FilterCancelOidRequest;
void FilterCancelOidRequest(
[in] NDIS_HANDLE FilterModuleContext,
[in] PVOID RequestId
)
{...}
Parámetros
[in] FilterModuleContext
Identificador del área de contexto del módulo de filtro que es el destino de esta solicitud. El controlador de filtro creó e inicializó este área de contexto en la función FilterAttach.
[in] RequestId
Identificador de cancelación de la solicitud. Este identificador especifica las estructuras de NDIS_OID_REQUEST que se van a cancelar.
Valor devuelto
Ninguno
Observaciones
filterCancelOidRequest es una función opcional. Si un controlador de filtro no usa solicitudes OID, puede establecer el punto de entrada de esta función en NULL cuando llama a . función NdisFRegisterFilterDriver.
Cuando NDIS llama a filterCancelOidRequest, el controlador de filtro debe intentar llamar a NdisFOidRequestComplete función lo antes posible.
Los parámetros de solicitud se definen en la estructura de NDIS_OID_REQUEST en OidRequest .
Si un controlador de filtro no pone en cola las solicitudes de OID, no es necesario que el controlador proporcione una función FilterCancelOidRequest. Si el controlador de filtro no especifica un filterCancelOidRequest punto de entrada, NDIS llama a la función de solicitud OID cancel del controlador subyacente.
NDIS llama a la función filterCancelOidRequest de cuando el originador de la solicitud cancela la solicitud o cuando expira el tiempo de espera especificado en el miembro timeout de.
Si el procesamiento de solicitudes sigue sin completarse en un controlador de filtro, el controlador llama a la función NdisFOidRequestComplete con el estado establecido en NDIS_STATUS_REQUEST_ABORTED.
Si el controlador de filtro reenvía la solicitud a un controlador subyacente y el procesamiento sigue sin completarse, el controlador de filtro llama al NdisFCancelOidRequest función con el parámetro OidRequest establecido en el valor que envió al controlador subyacente.
NDIS llama FilterCancelOidRequest en IRQL <= DISPATCH_LEVEL.
Ejemplos de
Para definir un función FilterCancelOidRequest, primero debe proporcionar una declaración de función que identifique el tipo de función que va a definir. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.Por ejemplo, para definir una función FilterCancelOidRequest denominada "MyCancelOidRequest", use el tipo FILTER_CANCEL_OID_REQUEST como se muestra en este ejemplo de código:
FILTER_CANCEL_OID_REQUEST MyCancelOidRequest;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyCancelOidRequest(
NDIS_HANDLE FilterModuleContext,
PVOID RequestId
)
{...}
El tipo de función FILTER_CANCEL_OID_REQUEST se define en el archivo de encabezado Ndis.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función FILTER_CANCEL_OID_REQUEST en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declaración de funciones mediante el uso de tipos de roles de función para controladores NDIS.
Para obtener información sobre Use_decl_annotations, vea Anotación del comportamiento de la función.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite en NDIS 6.0 y versiones posteriores. |
de la plataforma de destino de | Windows |
encabezado de | ndis.h (incluya Ndis.h) |
irQL | <= DISPATCH_LEVEL |