FILTER_DIRECT_OID_REQUEST_COMPLETE función de devolución de llamada (ndis.h)
NDIS llama a la función FilterDirectOidRequestComplete para completar una solicitud de OID directa del controlador de filtro que consulta o establece información en un controlador subyacente.
Sintaxis
FILTER_DIRECT_OID_REQUEST_COMPLETE FilterDirectOidRequestComplete;
void FilterDirectOidRequestComplete(
[in] NDIS_HANDLE FilterModuleContext,
[in] PNDIS_OID_REQUEST OidRequest,
[in] NDIS_STATUS Status
)
{...}
Parámetros
[in] FilterModuleContext
Identificador del área de contexto del módulo de filtro. El controlador de filtro creó e inicializó este área de contexto en la función FilterAttach .
[in] OidRequest
Puntero a la estructura NDIS_OID_REQUEST que el controlador de filtro pasó anteriormente a . Función NdisFDirectOidRequest .
[in] Status
Estado final de la solicitud que estableció un controlador o NDIS subyacente. Este parámetro determina qué hace FilterDirectOidRequestComplete con la información de OidRequest . Para obtener una lista de los valores de estado posibles, vea los valores devueltos de NdisFDirectOidRequest.
Valor devuelto
None
Observaciones
FilterDirectOidRequestComplete 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 . Si un controlador de filtro define una función FilterDirectOidRequest , debe proporcionar la función FilterDirectOidRequestComplete .
Si la función NdisFDirectOidRequest devuelve NDIS_STATUS_PENDING, NDIS debe llamar a la función FilterDirectOidRequestComplete para completar la solicitud OID.
Si un controlador de filtro reenvía una solicitud que recibió en la función FilterDirectOidRequest ,
FilterDirectOidRequestComplete debe pasar el estado de finalización a la pila de controladores mediante una llamada a .
Función NdisFDirectOidRequestComplete . En este caso, el controlador de filtro debe llamar a NdisFreeCloneOidRequest para liberar la estructura NDIS_OID_REQUEST , antes de llamar a
NdisFDirectOidRequestComplete.
Un controlador de filtro debe realizar un seguimiento de las solicitudes que origina y asegurarse de que no llama a NdisFDirectOidRequestComplete cuando NDIS llama a FilterDirectOidRequestComplete para estas solicitudes.
NDIS llama a FilterDirectOidRequestComplete en IRQL <= DISPATCH_LEVEL.
Ejemplos
Para definir una función FilterDirectOidRequestComplete , 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 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 FilterDirectOidRequestComplete denominada "MyDirectOidRequestComplete", use el tipo FILTER_DIRECT_OID_REQUEST_COMPLETE como se muestra en este ejemplo de código:
FILTER_DIRECT_OID_REQUEST_COMPLETE MyDirectOidRequestComplete;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyDirectOidRequestComplete(
NDIS_HANDLE FilterModuleContext,
PNDIS_OID_REQUEST OidRequest,
NDIS_STATUS Status
)
{...}
El tipo de función FILTER_DIRECT_OID_REQUEST_COMPLETE 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_DIRECT_OID_REQUEST_COMPLETE 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 |
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