Función StorPortLogSystemEvent (storport.h)
La rutina StorPortLogSystemEvent proporciona acceso completo a los controladores de miniportar a las funcionalidades de la instalación de eventos del kernel de Windows, lo que permite a los controladores de miniportar crear entradas de registro de eventos que son realmente útiles para solucionar problemas de almacenamiento. Proporciona una mejor alternativa a la función de registro de eventos del controlador de miniport existente, StorPortLogError.
Sintaxis
ULONG StorPortLogSystemEvent(
[in] PVOID HwDeviceExtension,
[in, out] PSTOR_LOG_EVENT_DETAILS LogDetails,
[in, out] PULONG MaximumSize
);
Parámetros
[in] HwDeviceExtension
Puntero a la extensión de dispositivo de hardware. Se trata de un área de almacenamiento por HBA que el controlador de puerto asigna e inicializa en nombre del controlador de miniport. Los controladores de miniportar suelen almacenar información específica de HBA en esta extensión, como el estado del HBA y los intervalos de acceso asignados para el HBA. Esta área está disponible para el miniporte inmediatamente después de que el controlador de miniporte llame a StorPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.
[in, out] LogDetails
Estructura STOR_LOG_EVENT_DETAILS que contiene información que aparece en la entrada del registro de eventos del sistema.
[in, out] MaximumSize
Variable para recibir el tamaño máximo combinado de los datos y cadenas de volcado de miniporte. Solo se devuelve si se produce un error en la función y devuelve un valor STOR_STATUS_INVALID_BUFFER_SIZE. Este parámetro es opcional.
Valor devuelto
Código devuelto | Descripción |
---|---|
|
Esta función no se implementa en el sistema operativo activo. |
|
Se pasó un parámetro no válido. |
|
La llamada se realizó en irQL > DISPATCH_LEVEL. |
|
No había recursos del sistema suficientes para completar la solicitud. |
|
Se especificó una versión no admitida (por ejemplo, más actual) de la estructura STOR_LOG_EVENT_DETAILS. Cuando se devuelve esto, LogDetails->InterfaceRevision se establece en la versión compatible más reciente. |
|
Los búferes pasados a la función eran demasiado grandes. Cuando se devuelve este valor, MaximumSize se establece en el tamaño máximo combinado de los datos y cadenas de volcado de memoria del miniporte. |
|
La operación de registro se completó correctamente. |
Observaciones
Para comprender cómo puede usar códigos de error personalizados para obtener las mejores ventajas, consulte extensiones de registro de errores de Storport. Se debe llamar a la rutina StorPortLogSystemEvent en IRQL <= DISPATCH_LEVEL. Si pasa una versión más reciente de STOR_LOG_EVENT_DETAILS que la admitida por esta compilación, esta función cambia el campo InterfaceRevision a la versión compatible más reciente y devuelve STOR_STATUS_UNSUPPORTED_VERSION. El campo InterfaceRevision de STOR_LOG_EVENT_DETAILS es un valor de 32 bits. Sin embargo, solo se usan los tres bytes más significativos para la validación. El byte bajo está reservado para distinguir entre variaciones secundarias compatibles de una versión determinada. Por ejemplo, una revisión 0x00000101 estructura es compatible con un Storport que implementa la revisión 0x00000100 de la interfaz, aunque es posible que se pierda alguna funcionalidad secundaria y no crítica. Si especifica un tamaño combinado de datos de volcado de memoria y cadenas que supera el tamaño máximo permitido de entrada del registro de eventos, el entero al que apunta MaximumSize se establece en el tamaño máximo permitido de los datos y cadenas de volcado de miniporte, y se devuelve STOR_INVALID_BUFFER_SIZE. Aunque esta función acepta valores de ULONG para los especificadores de dirección de ruta de acceso, destino y LUN, los valores se truncan en valores UCHAR porque Storport solo admite internamente valores de 8 bits para estos especificadores.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
encabezado de | storport.h (incluya Storport.h) |
reglas de cumplimiento de DDI | storPortIrql(storport) |