PSHED_PI_GET_ALL_ERROR_SOURCES funzione di callback (ntddk.h)
Un plug-in PSHED GetAllErrorSources funzione di callback restituisce un elenco di strutture del descrittore di origine degli errori che rappresentano tutte le origini degli errori implementate dalla piattaforma hardware.
Sintassi
PSHED_PI_GET_ALL_ERROR_SOURCES PshedPiGetAllErrorSources;
NTSTATUS PshedPiGetAllErrorSources(
[in, out, optional] PVOID PluginContext,
[in, out] PULONG Count,
[in, out] PWHEA_ERROR_SOURCE_DESCRIPTOR *ErrorSrcs,
[in, out] PULONG Length
)
{...}
Parametri
[in, out, optional] PluginContext
Puntatore all'area di contesto specificata nel Context membro della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET quando il plug-in PSHED ha chiamato il PshedRegisterPlugin funzione per registrarsi con PSHED.
[in, out] Count
Puntatore a una variabile tipizzata ULONG. Quando viene chiamata la GetAllErrorSources funzione di callback, questa variabile contiene il numero di strutture del descrittore di origine degli errori contenute nel buffer a cui punta il parametro ErrorSources fornito dal PSHED. Se il GetAllErrorSources funzione di callback modifica il numero di strutture del descrittore di origine degli errori presenti nel buffer, è necessario impostare questa variabile sul nuovo numero di strutture del descrittore di origine degli errori prima che venga restituito.
[in, out] ErrorSrcs
Puntatore a un buffer che riceve una matrice di strutture WHEA_ERROR_SOURCE_DESCRIPTOR che rappresenta tutte le origini di errore implementate dalla piattaforma hardware. Quando viene chiamato il GetAllErrorSources funzione di callback, questo buffer contiene un elenco iniziale di strutture del descrittore di origine degli errori fornite dal PSHED. Il plug-in PSHED può apportare modifiche all'elenco in modo che rappresenti in modo accurato tutte le origini di errore implementate dalla piattaforma hardware.
[in, out] Length
Puntatore a una variabile tipizzata ULONG contenente le dimensioni, in byte, del buffer a cui punta il parametro ErrorSources. Se le dimensioni sono troppo piccole per contenere l'elenco modificato di strutture del descrittore di origine degli errori, la funzione di callback GetAllErrorSources imposta questa variabile sulla dimensione del buffer necessaria per contenere l'elenco e restituisce STATUS_BUFFER_TOO_SMALL.
Valore restituito
Un plug-in PSHED GetAllErrorSources funzione di callback restituisce uno dei codici NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_SUCCESS | L'elenco modificato delle strutture del descrittore di origine degli errori è stato restituito correttamente nel buffer a cui punta il parametro ErrorSources. |
STATUS_BUFFER_TOO_SMALL | La dimensione del buffer a cui punta il parametro ErrorSources è troppo piccola per contenere l'elenco delle strutture del descrittore di origine degli errori. |
STATUS_UNSUCCESSFUL | Si è verificato un errore. |
Osservazioni
Un plug-in PSHED che partecipa all'individuazione dell'origine degli errori imposta il Callbacks.GetAllErrorSources membro della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET in modo che punti alla relativa funzione di callback GetAllErrorSources quando il plug-in chiama la funzione PshedRegisterPlugin per registrarsi con PSHED. Il plug-in PSHED deve anche impostare il flag PshedFADiscoverynel membro FunctionalAreaMask della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.
All'avvio del sistema operativo, il kernel windows chiama nel PSHED per recuperare l'elenco delle strutture del descrittore di origine degli errori che rappresenta tutte le origini di errore implementate dalla piattaforma hardware. PSHED crea un elenco iniziale di strutture del descrittore di origine degli errori. Se un plug-in PSHED è registrato per partecipare all'individuazione dell'origine degli errori, PSHED chiama il plug-in PSHED GetAllErrorSources funzione di callback. Il plug-in PSHED può apportare qualsiasi combinazione delle modifiche seguenti all'elenco delle strutture del descrittore di origine degli errori in modo che rappresenti in modo accurato tutte le origini di errore implementate dalla piattaforma hardware.
Modificare il contenuto di una o più strutture del descrittore di origine degli errori.
Rimuovere una o più strutture del descrittore di origine degli errori dall'elenco.
Aggiungere una o più nuove strutture del descrittore di origine degli errori all'elenco.
Se il plug-in PSHED deve aggiungere una o più nuove strutture del descrittore di origine degli errori all'elenco e le dimensioni del buffer sono troppo piccole per includere le strutture aggiuntive, il plug-in PSHED GetAllErrorSources funzione di callback deve impostare la variabile a cui punta il parametro Length alle dimensioni del buffer necessarie per contenere l'elenco con le strutture aggiuntive e restituire STATUS_BUFFER_TOO_SMALL. In questo caso, PSHED allocherà un buffer più grande, copia l'elenco delle strutture del descrittore di origine degli errori nel nuovo buffer e chiamerà il plug-in PSHED GetAllErrorSources funzione di callback una seconda volta.
Un plug-in PSHED che partecipa all'individuazione dell'origine degli errori può implementare anche un facoltativo GetErrorSourceInfo funzione di callback. In questo caso, il plug-in PSHED imposta anche il Callbacks.GetErrorSourceInfo membro della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET in modo che punti alla relativa funzione di callback GetErrorSourceInfo quando chiama la funzione di PshedRegisterPlugin per registrarsi con PSHED.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | ntddk.h (include Ntddk.h) |
IRQL | IRQL = DISPATCH_LEVEL |