Funzione StorPortLogSystemEvent (storport.h)

La routine StorPortLogSystemEvent fornisce ai driver miniport l'accesso completo alle funzionalità della funzionalità dell'evento kernel di Windows, consentendo ai driver miniport di creare voci del registro eventi che sono veramente utili per la risoluzione dei problemi di archiviazione. Offre un'alternativa migliore alla funzione di registrazione eventi del driver miniport esistente , StorPortLogError.

Sintassi

ULONG StorPortLogSystemEvent(
  [in]      PVOID                   HwDeviceExtension,
  [in, out] PSTOR_LOG_EVENT_DETAILS LogDetails,
  [in, out] PULONG                  MaximumSize
);

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo hardware. Si tratta di un'area di archiviazione hbA per ogni area di archiviazione che il driver di porta alloca e inizializza per conto del driver miniport. I driver Miniport archivia in genere informazioni specifiche dell'HBA in questa estensione, ad esempio lo stato dell'HBA e gli intervalli di accesso mappati per l'HBA. Questa area è disponibile per il miniport subito dopo che il driver miniport chiama StorPortInitialize. Il driver della porta libera questa memoria quando rimuove il dispositivo.

[in, out] LogDetails

Struttura STOR_LOG_EVENT_DETAILS che contiene informazioni da visualizzare nella voce del registro eventi di sistema.

[in, out] MaximumSize

Variabile per ricevere la dimensione massima combinata dei dati e delle stringhe di dump del miniport. Restituito solo se la funzione ha esito negativo e restituisce un valore STOR_STATUS_INVALID_BUFFER_SIZE. Questo parametro è facoltativo e,

Valore restituito

Codice restituito Descrizione
STOR_STATUS_NOT_IMPLEMENTED
Questa funzione non viene implementata nel sistema operativo attivo.
STOR_STATUS_INVALID_PARAMETER
È stato passato un parametro non valido.
STOR_STATUS_INVALID_IRQL
La chiamata è stata effettuata al > DISPATCH_LEVEL IRQL.
STOR_STATUS_INSUFFICIENT_RESOURCES
Le risorse di sistema non sono sufficienti per completare la richiesta.
STOR_STATUS_UNSUPPORTED_VERSION:
È stata specificata una versione non supportata (ad esempio, più corrente) della struttura STOR_LOG_EVENT_DETAILS. Quando viene restituito, LogDetails->InterfaceRevision è impostato sulla versione supportata più recente.
STOR_STATUS_INVALID_BUFFER_SIZE
I buffer passati alla funzione erano troppo grandi. Quando viene restituito questo valore, MaximumSize viene impostato sulla dimensione massima combinata dei dati e delle stringhe di dump del miniport.
STOR_STATUS_SUCCESS
L'operazione di log è stata completata correttamente.

Commenti

Per comprendere come usare codici di errore personalizzati per sfruttare al meglio i vantaggi, vedere Estensioni del log degli errori storport. La routine StorPortLogSystemEvent deve essere chiamata in IRQL <= DISPATCH_LEVEL. Se si passa una versione più recente di STOR_LOG_EVENT_DETAILS rispetto a quella supportata da questa build, questa funzione modifica il campo InterfaceRevision alla versione supportata più recente e restituisce STOR_STATUS_UNSUPPORTED_VERSION. Il campo InterfaceRevision di STOR_LOG_EVENT_DETAILS è un valore a 32 bit. Per la convalida vengono tuttavia usati solo i tre byte più significativi. Il byte basso è riservato per distinguere tra varianti compatibili e secondarie di una determinata versione. Ad esempio, una struttura di revisione 0x00000101 è compatibile con storport che implementa la revisione 0x00000100 dell'interfaccia, anche se è possibile che alcune funzionalità secondarie e non critiche vadano perse. Se si specificano dimensioni combinate di dati e stringhe di dump che superano le dimensioni massime consentite per la voce del registro eventi, il numero intero a cui punta MaximumSize viene impostata sulla dimensione massima consentita di dati e stringhe di dump del miniport e viene restituito STOR_INVALID_BUFFER_SIZE. Sebbene questa funzione accetti i valori ULONG per gli identificatori di indirizzo path, target e LUN, i valori vengono troncati ai valori UCHAR perché Storport supporta internamente solo i valori a 8 bit per questi identificatori.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione storport.h (include Storport.h)
Regole di conformità DDI StorPortIrql(storport)

Vedi anche

StorPortLogError