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.
Utilice estas reglas para verificar que su controlador llama correctamente a los DDIs que son de especial interés para los controladores de miniport virtual de Storport (VMiniport).
En esta sección
| Tema | Descripción |
|---|---|
Esta regla comprueba que el controlador no intenta liberar el mismo bloque de memoria del grupo dos veces. |
|
Esta regla comprueba que no se llama a KeSetEvent dos veces en el mismo objeto de evento. Si se pasa el mismo objeto de evento a la rutina, el controlador incumple la regla. |
|
Esta regla verifica que un IRP que fue asignado por IoAllocateIrp sea liberado por IoFreeIrp o que su rutina de finalización se establezca mediante IoSetCompletionRoutine. |
|
Esta regla comprueba que, tras salir de la rutina HwStorFindAdapter , el campo VirtualDevice de la estructura PORT_CONFIGURATION_INFORMATION (Storport) se ha establecido en FALSE. La regla solo se aplica a los miniportes físicos de StorPort. |
|
Esta regla comprueba que al salir de la rutina HwStorFindAdapter , el campo VirtualDevice de la estructura PORT_CONFIGURATION_INFORMATION (Storport) se ha establecido en TRUE. La regla solo se aplica a los miniportes de StorPort virtuales. |
|
Esta regla comprueba que las llamadas del controlador a determinadas funciones de sincronización solo se realizan mientras se deshabilita la entrega normal de APC del kernel. |
|
Esta regla comprueba que el identificador de una clave del Registro creada con ZwCreateKey lo usan posteriormente otras rutinas ZwXxx correctamente. No se debe llamar a la rutina ZwOpenKey en un identificador ya abierto. Las rutinas ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose y ZwDeleteKey no deben llamarse en un identificador que no esté abierto. El identificador también debe cerrarse antes de devolverlo. |
|
Esta regla comprueba que el identificador de la clave del Registro que se abre a través de ZwOpenKey lo usan posteriormente otras rutinas ZwXxx correctamente. Las rutinas ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose y ZwDeleteKey no deben llamarse en un identificador que no esté abierto. El identificador también debe cerrarse antes de devolverlo. |
Para seleccionar el conjunto de reglas VirtualStorport
Seleccione el proyecto de controlador (.vcxProj) en Microsoft Visual Studio. En el menú Controlador , haga clic en Iniciar comprobador de controladores estáticos....
Haga clic en la pestaña Reglas . En Conjuntos de reglas, seleccione VirtualStorport.
Para seleccionar el conjunto de reglas predeterminado en una ventana de símbolo del sistema de desarrolladores de Visual Studio, especifique VirtualStorport.sdv con la opción /check. Por ejemplo:
msbuild /t:sdv /p:Inputs="/check:VirtualStorport.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Para obtener más información, consulte Uso del comprobador de controladores estáticos para buscar defectos en controladores y comandos de comprobador de controladores estáticos (MSBuild).