Función MmIsDriverVerifyingByAddress (wdm.h)
La rutina MmIsDriverVerifyingByAddress comprueba si el controlador en modo kernel identificado por la dirección de imagen especificada se está comprobando o llama a un controlador comprobado por el Comprobador de controladores.
Sintaxis
LOGICAL MmIsDriverVerifyingByAddress(
[in] PVOID AddressWithinSection
);
Parámetros
[in] AddressWithinSection
Puntero a la dirección virtual dentro de la imagen del controlador. MmIsDriverVerifyingByAddress usa esta dirección para determinar qué controlador comprobar.
Valor devuelto
MmIsDriverVerifyingByAddress devuelve TRUE si el controlador especificado está en la lista de comprobación de controladores o importa llamadas a puntos de entrada de un controlador que se encuentra en la lista de comprobación de controladores. De lo contrario, esta rutina devuelve FALSE.
Comentarios
Un controlador en modo kernel puede llamar a esta rutina para determinar si está supervisando u otro controlador mediante el Comprobador de controladores. El comprobador de controladores supervisa los controladores en modo kernel para detectar llamadas o acciones de función no válidas que podrían dañar el sistema. Para seleccionar controladores que se van a comprobar, puede usar la línea de comandos del comprobador o el Administrador del comprobador de controladores. Para obtener más información sobre cómo agregar controladores a la lista de comprobación de controladores, consulte Selección de controladores que se van a comprobar.
Una rutina similar, MmIsDriverVerifying, indica si un controlador identificado por un objeto de controlador se está comprobando o llama a un controlador que se está comprobando.
Otra rutina relacionada, MmIsDriverSuspectForVerifier, indica si un controlador representado por un objeto driver está en la lista de controladores seleccionados para comprobarse.
Por ejemplo, si el controlador A tiene una tabla de importación a través de la que llama a uno o varios puntos de entrada en el controlador B, y el controlador B está en la lista de comprobación del controlador, MmIsDriverVerifyingByAddress(Aobj)
devuelve TRUE y MmIsDriverSuspectForVerifier(Badr)
devuelve TRUE, donde Aobj
es un puntero al objeto de controlador para A y Badr
es una dirección en el controlador B. Si el controlador A no está en la lista de comprobación del controlador, MmIsDriverSuspectForVerifier(Aobj)
devuelve FALSE. Incluso si el controlador B no llama a los puntos de entrada de los controladores que están en la lista de comprobación de controladores, MmIsDriverVerifyingByAddress(Badr)
devuelve TRUE porque el controlador B está en la lista de comprobación de controladores. Si un controlador C no está en la lista de comprobación de controladores y no llama a los puntos de entrada en ningún controlador que esté en la lista de comprobación del controlador y MmIsDriverVerifyingByAddress(Cadr)
MmIsDriverSuspectForVerifier(Cobj)
ambos devuelven FALSE.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Vista. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |