PSHED_PI_INJECT_ERROR fonction de rappel (ntddk.h)

La fonction de rappel InjectError d’un plug-in PSHED injecte une erreur dans la plateforme matérielle.

Syntaxe

PSHED_PI_INJECT_ERROR PshedPiInjectError;

NTSTATUS PshedPiInjectError(
  [in, out, optional] PVOID PluginContext,
  [in]                ULONGLONG ErrorType,
  [in]                ULONGLONG Parameter1,
  [in]                ULONGLONG Parameter2,
  [in]                ULONGLONG Parameter3,
  [in]                ULONGLONG Parameter4
)
{...}

Paramètres

[in, out, optional] PluginContext

Pointeur vers la zone de contexte spécifiée dans le membre Context de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET lorsque le plug-in PSHED a appelé la fonction PshedRegisterPlugin pour s’inscrire auprès du PSHED.

[in] ErrorType

Type d’erreur à injecter dans la plateforme matérielle. Les valeurs possibles sont les suivantes :

INJECT_ERRTYPE_PROCESSOR_CORRECTABLE

Erreur de processeur corrigeable.

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLENONFATAL

Erreur de processeur non irrécupérable.

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLEFATAL

Erreur irrécupérable irrécupérable du processeur.

INJECT_ERRTYPE_MEMORY_CORRECTABLE

Erreur de mémoire corrigeable.

INJECT_ERRTYPE_MEMORY_UNCORRECTABLENONFATAL

Erreur de mémoire non irrécupérable non irrécupérable.

INJECT_ERRTYPE_MEMORY_UNCORRECTABLEFATAL

Erreur de mémoire irrécupérable irrécupérable.

INJECT_ERRTYPE_PCIEXPRESS_CORRECTABLE

Erreur PCI Express corrigeable.

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLENONFATAL

Erreur PCI Express non irrécupérable non irrécupérable.

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLEFATAL

Erreur PCI Express irrécupérable irrécupérable.

INJECT_ERRTYPE_PLATFORM_CORRECTABLE

Erreur de plateforme corrigeable.

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLENONFATAL

Erreur de plateforme non irrécupérable non irrécupérable.

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLEFATAL

Erreur de plateforme irrécupérable irrécupérable.

[in] Parameter1

Paramètre générique qui contient des données supplémentaires transmises par l’application de gestion WHEA qui injecte l’erreur.

[in] Parameter2

Paramètre générique qui contient des données supplémentaires transmises par l’application de gestion WHEA qui injecte l’erreur.

[in] Parameter3

Paramètre générique qui contient des données supplémentaires transmises par l’application de gestion WHEA qui injecte l’erreur.

[in] Parameter4

Paramètre générique qui contient des données supplémentaires transmises par l’application de gestion WHEA qui injecte l’erreur.

Valeur retournée

La fonction de rappel InjectError d’un plug-in PSHED retourne l’un des codes NTSTATUS suivants :

Code de retour Description
STATUS_SUCCESS L’erreur a été correctement injectée dans la plateforme matérielle.
STATUS_UNSUCCESSFUL Une erreur est survenue. Pour les erreurs injectées qui sont irrécupérables ou irrécupérables, cette fonction de rappel peut ne pas être retournée avant que le système d’exploitation ne génère un bogue case activée en réponse à la condition d’erreur.

Remarques

Un plug-in PSHED qui participe à l’injection d’erreurs définit les membres Callbacks.GetInjectionCapabilities et Callbacks.InjectError de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET pour pointer vers ses fonctions de rappel GetInjectionCapabilities et InjectError lorsque le plug-in appelle la fonction PshedRegisterPlugin pour s’inscrire auprès du PSHED. Le plug-in PSHED doit également définir l’indicateur PshedFAErrorInjection dans le membre FunctionalAreaMask de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.

Lorsqu’une application de gestion WHEA effectue une demande d’injection d’une erreur matérielle, le noyau Windows appelle le PSHED pour injecter l’erreur dans la plateforme matérielle. Si un plug-in PSHED est inscrit pour participer à l’injection d’erreurs, il appelle la fonction de rappel InjectError du plug-in PSHED pour effectuer l’opération d’injection d’erreurs.

L’application de gestion WHEA qui injecte l’erreur peut transmettre des données supplémentaires spécifiques à l’erreur à la fonction de rappel InjectError du plug-in PSHED à l’aide des paramètres Parameter1 à Parameter4. Par exemple, sur les systèmes Itanium, certaines opérations d’injection d’erreurs nécessitent une adresse associée. Dans ce cas, l’application de gestion WHEA peut passer l’adresse à la fonction de rappel InjectError du plug-in PSHED à l’aide de l’un de ces paramètres.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans Windows Server 2008, Windows Vista SP1 et les versions ultérieures de Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ntddk.h (incluez Ntddk.h)
IRQL IRQL = DISPATCH_LEVEL

Voir aussi

GetInjectionCapabilities

PshedRegisterPlugin

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET