Extensiones de registro de eventos de Storport
Al igual que muchos otros tipos de controladores, los controladores de miniport storport deben crear entradas en el registro de eventos del sistema para mantener a los administradores informados de la condición de los dispositivos de almacenamiento conectados. Estas entradas del registro de eventos se suelen crear en respuesta a errores relacionados con el dispositivo. Los eventos también se pueden registrar para la telemetría, la depuración y la optimización.
Aunque el propio kernel de Windows proporciona una interfaz flexible para crear entradas de registro de eventos, el modelo de miniport de Storport no permite que los controladores de miniporte accedan directamente a esa interfaz. En su lugar, Storport proporciona un contenedor alrededor de la instalación del registro de eventos del sistema del kernel y los controladores de minipuerto usan el contenedor para crear entradas del registro de eventos.
En concreto, Storport proporciona las siguientes rutinas de registro de eventos:
- StorPortLogTelemetryEx permite a un miniporte registrar medidas de registro de seguimiento o eventos de telemetría con datos personalizados de miniporte (Windows 10 versión 1903 y posteriores).
- StorPortEtwChannelEvent2, StorPortEtwChannelEvent4 y StorPortEtwChannelEvent8 permiten que los miniportes publiquen eventos ETW en un canal de seguimiento de almacenamiento (Windows 10 versión 1809 y posteriores).
- StorPortLogSystemEvent permite a los miniportes crear una entrada de registro de eventos (Windows 7 y versiones más recientes).
Storport registra eventos en el nombre del proveedor "Microsoft-Windows-Storage-Storport". Los errores se registran en el canal operativo y los debug/analytics se registran en Diagnostic (Analytics y Debug). Al usar la aplicación Visor de eventos, primero debe habilitar el canal Diagnosticar para verlo (para habilitarlo, haga clic en Ver mostrar> registros analíticos y de depuración).
Las funciones anteriores se implementan como funciones extendidas de Storport y están disponibles para los controladores de minipuerto mediante la interfaz de función extendida existente. El uso de la interfaz de función extendida evita una referencia directa de vínculo dinámico a la nueva función. Al evitar esa referencia directa, los controladores de minipuerto que usan la nueva función se cargan correctamente en sistemas operativos que no admiten la función, con la función que devuelve STOR_STATUS_NOT_IMPLEMENTED cuando no se admite. De este modo, los proveedores pueden crear un único controlador de minipuerto que se ejecute en varias versiones del sistema operativo, aprovechando la nueva función de registro de eventos donde se admite.
Nota: En versiones de Storport anteriores a Windows 7, la interfaz del registro de eventos del sistema de Storport, StorPortLogError, dio acceso a los controladores de miniporte a una pequeña fracción de las funcionalidades de la instalación de registro de eventos del sistema del kernel, lo que afecta a la utilidad de las entradas del registro de eventos de miniporte.
Para obtener información general sobre los eventos de Windows, vea Eventos de Windows.