estructura SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE (minitape.h)
La estructura SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE contiene una imagen de microcódigo específica del proveedor (es decir, firmware) para su uso por parte del proceso de servicios de gabinete.
Sintaxis
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;
Miembros
PageCode
Especifica la página de diagnóstico que se envía o solicita en función del valor. Para una página de diagnóstico de control de microcódigo, el valor debe ser 0x0E.
SubEnclosureId
Especifica el subconsulto al que el cliente de la aplicación envía la imagen de microcódigo. Si el valor no coincide con un valor de campo de SUBENCLOSURE_IDENTIFIER válido que se encuentra en el SES_CONFIGURATION_DIAGNOSTIC_PAGE, el proceso de servicios de contenedor anulará la operación de microcódigo de descarga con un estado de 0x80.
PageLength[2]
Especifica el número de bytes siguientes en la página de diagnóstico.
ExpectedGenerationCode[4]
Especifica el valor esperado del código de generación. Si este parámetro no se establece en el código de generación actual, el proceso de servicios de gabinete anulará la operación de microcódigo de descarga con un estado de 0x80.
Mode
Especifica el modo con el que descargar el microcódigo.
Valor | Significado |
---|---|
|
Después de que el último comando SEND DIAGNOSTIC entregue una página de diagnóstico descargar control de microcódigo a la subenclosure completada, el proceso de servicios de gabinete comprobará la imagen de microcódigo completa (por ejemplo, realizar una suma de comprobación específica del proveedor) y guardar la nueva imagen de microcódigo en almacenamiento no volátil.
Si no hay errores en la imagen de microcódigo o en la operación de guardado, el proceso de servicios de gabinete realizará una de las siguientes acciones:
|
|
Una vez completado el último comando SEND DIAGNOSTIC que entrega una SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE a la subenclosure, el proceso de servicios de gabinete comprobará la imagen completa de microcódigo (por ejemplo, realizar una suma de comprobación específica del proveedor), guardar la nueva imagen de microcódigo en almacenamiento no volátil (por ejemplo, ROM flash) y aplazar la activación del nuevo microcódigo.
Si no hay ningún error en la imagen de microcódigo o en la operación de guardado, el proceso de servicios de gabinete establecerá el campo estado de en SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR en 0x13 en la SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE, si se solicita y activará el nuevo microcódigo después de:
|
|
Una vez completado el comando SEND DIAGNOSTIC que especifica este modo, el proceso de servicios de gabinete activará la imagen diferida de microcódigo, si existe. |
|
Reservado para uso futuro. |
Reserved[2]
Reservado para uso futuro.
BufferID
Especifica un búfer específico dentro del proceso de servicios de gabinete para recibir la imagen de microcódigo. El proceso de servicios de gabinete asigna códigos de identificador de búfer específicos del proveedor a los búferes (por ejemplo, la imagen de firmware principal se puede almacenar en el búfer 00h y una imagen de firmware de copia de seguridad se puede almacenar en el búfer 01h). El proceso de servicios de gabinete admitirá un valor de identificador de búfer de 00h. Si se admite más de un búfer, el proceso de servicios de gabinete asignará códigos de identificador de búfer adicionales de forma contigua, a partir de 01h. Si el proceso de servicios de gabinete recibe un código de id. de búfer no admitido, anulará la operación de microcódigo de descarga y establecerá el campo estado de en SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR en 0x80 en la estructura de SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE.
BufferOffset[4]
Especifica el desplazamiento en bytes dentro del búfer en el que se escriben los datos de microcódigo en múltiplos de cuatro. El proceso de servicios de gabinete puede requerir que este campo aumente contiguamente en comandos SEND DIAGNOSTIC consecutivos.
ImageLength[4]
especifica el número total de bytes de la imagen de microcódigo que la aplicación pretende enviar al BufferID especificado.
DataLength[4]
Especifica la longitud de Data, en bytes.
Data[ANYSIZE_ARRAY]
Contiene parte de la imagen de microcódigo específica del proveedor.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows 10, versión 1709 y versiones posteriores de Windows. |
encabezado de | minitape.h (include Minitape.h, Storport.h) |