FILTER_CANCEL_DIRECT_OID_REQUEST función de devolución de llamada (ndis.h)
NDIS llama a la función FilterCancelDirectOidRequest del controlador de filtro para cancelar una solicitud OID directa.
Sintaxis
FILTER_CANCEL_DIRECT_OID_REQUEST FilterCancelDirectOidRequest;
void FilterCancelDirectOidRequest(
[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 solicitudes OID directas que coinciden con este valor en el miembro RequestId de la estructura NDIS_OID_REQUEST .
Valor devuelto
None
Observaciones
FilterCancelDirectOidRequest es una función opcional. Si un controlador de filtro no usa solicitudes OID directas, puede establecer el punto de entrada de esta función en NULL cuando llama a . Función NdisFRegisterFilterDriver .
Cuando NDIS llama a FilterCancelDirectOidRequest, el controlador de filtro debe intentar llamar a Función NdisFDirectOidRequestComplete lo antes posible.
Si un controlador de filtro no pone en cola las solicitudes OID directas, el controlador no es necesario para proporcionar una función FilterCancelDirectOidRequest . Si el controlador de filtro no especifica un punto de entrada FilterCancelDirectOidRequest , NDIS llama a la función de solicitud OID de cancelación del controlador subyacente.
NDIS llama a la función FilterCancelDirectOidRequest cuando el autor de la solicitud cancela la solicitud.
Si el procesamiento de solicitudes sigue sin completarse en un controlador de filtro, el controlador llama a la función NdisFDirectOidRequestComplete 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 a . Función NdisFCancelDirectOidRequest con el parámetro OidRequest establecido en el valor que envió al controlador subyacente.
NDIS llama a FilterCancelDirectOidRequest en IRQL <= DISPATCH_LEVEL.
Ejemplos
Para definir una función FilterCancelDirectOidRequest , primero debe proporcionar una declaración de función que identifique el tipo de función que está definiendo. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a Code Analysis for Drivers, Static Driver Verifier (SDV) y otras herramientas de comprobación a encontrar errores y es un requisito para escribir controladores para el sistema operativo Windows.Por ejemplo, para definir una función FilterCancelDirectOidRequest denominada "MyCancelDirectOidRequest", use el tipo FILTER_CANCEL_DIRECT_OID_REQUEST tal como se muestra en este ejemplo de código:
FILTER_CANCEL_DIRECT_OID_REQUEST MyCancelDirectOidRequest;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyCancelDirectOidRequest(
NDIS_HANDLE FilterModuleContext,
PVOID RequestId
)
{...}
El tipo de función FILTER_CANCEL_DIRECT_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_DIRECT_OID_REQUEST en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, consulte 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, consulte Anotación del comportamiento de la función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite en NDIS 6.1 y versiones posteriores. |
Plataforma de destino | Windows |
Encabezado | ndis.h (incluya Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | SpinLock(ndis), SpinLockBalanced(ndis), SpinLockDpr(ndis) |
Consulte también
NdisFDirectOidRequestCompleteComentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de