structure SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE (minitape.h)
La structure SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE contient une image de microcode spécifique au fournisseur (c’est-à-dire microprogramme) à utiliser par le processus des services de boîtier.
Syntaxe
typedef struct _SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE {
UCHAR PageCode;
UCHAR SubEnclosureId;
UCHAR PageLength[2];
UCHAR ExpectedGenerationCode[4];
UCHAR Mode;
UCHAR Reserved[2];
UCHAR BufferID;
UCHAR BufferOffset[4];
UCHAR ImageLength[4];
UCHAR DataLength[4];
UCHAR Data[ANYSIZE_ARRAY];
} SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE, *PSES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE;
Membres
PageCode
Spécifie la page de diagnostic envoyée ou demandée en fonction de la valeur. Pour une page de diagnostic du contrôle Microcode, la valeur doit être 0x0E.
SubEnclosureId
Spécifie le sous-boîtier auquel le client d’application envoie l’image de microcode. Si la valeur ne correspond pas à une valeur de champ SUBENCLOSURE_IDENTIFIER valide trouvée dans l'SES_CONFIGURATION_DIAGNOSTIC_PAGE, le processus des services de boîtier abandonne l’opération de microcode de téléchargement avec l’état de 0x80.
PageLength[2]
Spécifie le nombre d’octets qui suivent dans la page de diagnostic.
ExpectedGenerationCode[4]
Spécifie la valeur attendue du code de génération. Si ce paramètre n’est pas défini sur le code de génération actuel, le processus de services de boîtier abandonne l’opération de microcode de téléchargement avec l’état de 0x80.
Mode
Spécifie le mode avec lequel télécharger le microcode.
Valeur | Signification |
---|---|
|
Une fois la dernière commande SEND DIAGNOSTIC remise une page de diagnostic Download Microcode Control à la sous-protection terminée, le processus des services de boîtier vérifie l’image de microcode complète (par exemple, effectuer une somme de contrôle spécifique à un fournisseur) et enregistrer la nouvelle image de microcode dans un stockage nonvolatile.
S’il n’existe aucune erreur dans l’image de microcode ou dans l’opération d’enregistrement, le processus des services de boîtier doit effectuer l’une des actions suivantes :
|
|
Une fois la dernière commande SEND DIAGNOSTIC remise une SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE à la sous-fermeture terminée, le processus des services de boîtier vérifie l’image de microcode complète (par exemple, effectuer une somme de contrôle spécifique à un fournisseur), enregistrer la nouvelle image de microcode dans un stockage nonvolatile (par exemple, flash ROM) et différer l’activation du nouveau microcode.
S’il n’y a pas d’erreur dans l’image de microcode ou dans l’opération d’enregistrement, le processus des services de boîtier doit définir le champ état SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR dans SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR pour 0x13 dans le SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE, le cas échéant, et activer le nouveau microcode après :
|
|
Une fois la commande SEND DIAGNOSTIC spécifiant ce mode terminée, le processus des services de boîtier active l’image de microcode différée, le cas échéant. |
|
Réservé pour une utilisation ultérieure. |
Reserved[2]
Réservé pour une utilisation ultérieure.
BufferID
Spécifie une mémoire tampon spécifique dans le processus de services de boîtier pour recevoir l’image de microcode. Le processus des services de boîtier affecte des codes d’ID de mémoire tampon spécifiques au fournisseur aux mémoires tampons (par exemple, l’image du microprogramme principale peut être stockée dans la mémoire tampon 00h et une image de microprogramme de sauvegarde peut être stockée dans la mémoire tampon 01h). Le processus des services de boîtier prend en charge une valeur d’ID de mémoire tampon de 00h. Si plusieurs mémoires tampons sont prises en charge, le processus des services de boîtier doit affecter des codes d’ID de mémoire tampon supplémentaires contigus, à compter de 01h. Si le processus des services de boîtier reçoit un code d’ID de mémoire tampon non pris en charge, il abandonne l’opération de microcode de téléchargement et définit le champ Status dans SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR sur 0x80 dans la structure SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE.
BufferOffset[4]
Spécifie le décalage en octets dans la mémoire tampon dans laquelle les données de microcode sont écrites en multiples de quatre. Le processus des services de boîtier peut exiger que ce champ augmente contiguëment dans les commandes SEND DIAGNOSTIC consécutives.
ImageLength[4]
spécifie le nombre total d’octets dans l’image de microcode que l’application a l’intention d’envoyer au BufferID spécifié.
DataLength[4]
Spécifie la longueur de data, en octets.
Data[ANYSIZE_ARRAY]
Contient une partie de l’image microcode spécifique du fournisseur.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows 10, version 1709 et versions ultérieures de Windows. |
d’en-tête | minitape.h (include Minitape.h, Storport.h) |