Comprobación de Storport

La característica Comprobación de Storport supervisa la interacción entre un controlador de miniport de Storport y el controlador de puerto. Si el controlador de miniporte usa una rutina, responde incorrectamente a una solicitud del controlador de puerto o tarda un tiempo excesivo en responder a una solicitud, se emite una comprobación de errores.

Nota:

La característica Comprobación de Storport solo está disponible en Windows Vista y versiones posteriores de Windows.

Infracciones detectadas por la comprobación de Storport

La característica De verificación de Storport puede detectar varios usos incorrectos de las rutinas de Storport. También es posible deshabilitar individualmente algunas de estas comprobaciones.

La característica De comprobación de Storport emite la comprobación de errores 0xF1 o comprobación de errores 0xC4 si un controlador de minipuerto de Storport confirma una de las siguientes infracciones:

  • El controlador de minipuerto pasa un argumento incorrecto (un puntero NULL) a la rutina StorPortInitialize .

  • El controlador de minipuerto llama a StorPortStallExecution y especifica un retraso superior a 0,1 segundos, lo que detiene el procesador durante un período excesivo de tiempo.

  • Solo se puede llamar a StorPortFreeDeviceBase desde la rutina HwStorFindAdapter del controlador de miniport.

  • Solo se puede llamar a StorPortGetUncachedExtension desde la rutina HwStorFindAdapter del controlador de miniporte y solo se puede llamar a para un adaptador maestro de bus. Un miniport debe establecer SrbExtensionSize de la estructura HW_INITIALIZATION_DATA (Storport) antes de llamar a StorPortGetUncachedExtension.

  • La rutina StorPortGetDeviceBase solo admite las direcciones asignadas al controlador por el administrador del sistema Plug and Play (PnP).

  • El controlador de minipuerto pasa una dirección virtual no válida a una de las rutinas StorPortReadxxx o StorPortWritexxx (por ejemplo, StorPortReadRegisterUchar o StorPortWritePortBufferUlong). Esto suele significar que la dirección proporcionada no se asigna al área de búfer común. El registro o el puerto especificados deben estar en el intervalo de espacio de memoria asignado devuelto por la rutina StorPortGetDeviceBase . Esta comprobación solo se admite en sistemas basados en x86.

Para obtener una lista de los parámetros de comprobación de errores que usa la comprobación de Storport, consulte Comprobación de errores 0xF1 (SCSI_VERIFIER_DETECTED_VIOLATION). Además de la comprobación de errores 0xF1, la comprobación de Storport también usa el 0xC4 de comprobación de errores (DRIVER_VERIFIER_DETECTED_VIOLATION).

Nota:

La comprobación de errores 0xF1 se usa para la comprobación SCSI y la comprobación de Storport.

Activación de la opción de comprobación de Storport

El procedimiento para activar la opción De verificación de Storport es diferente de los procedimientos para activar otras opciones del Comprobador de controladores.

  1. Con el Administrador del comprobador de controladores o la línea de comandos Verifier.exe , inicie una comprobación del controlador de miniporte. Dado que la comprobación de Storport no estará disponible como opción, debe seleccionar al menos una otra opción comprobador de controladores. Para obtener más información, vea Seleccionar opciones del comprobador de controladores y Seleccionar controladores que se van a comprobar.

  2. Abra el registro mediante regedit.exe. En la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort , agregue una subclave denominada Comprobador. Si la clave StorPort no existe, debe crearla. En la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\STORPort\Verifier , agregue una entrada de REG_DWORD denominada VerifyLevel. El valor asignado a esta entrada determinará qué pruebas de comprobación de Storport estarán activas. El valor 0x1 proporcionará la comprobación máxima.

  3. Reinicie el equipo.

Si el valor VerifyLevel no existe o es igual a 0xFFFFFFFF, se deshabilitará la comprobación de Storport.

Activación sin reiniciar

En general, no puede activar ni desactivar la comprobación de Storport sin reiniciar (reiniciar) el equipo en ningún sistema operativo Windows. El controlador StorPort.sys lee la entrada del Registro VerifyLevel solo cuando se carga, que suele estar en tiempo de arranque. Sin embargo, si el controlador deStorPort.sys no se carga al agregar la entrada del Registro, o si se descarga y se vuelve a cargar, puede habilitar la comprobación de Storport en Windows Vista y versiones posteriores de Windows sin reiniciar el equipo.