SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE estructura (scsi.h)
La estructura de SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE contiene una imagen específica del microcódigo del proveedor (es decir, firmware) para que la use el 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 según el valor. Para una página de diagnóstico de control de microcódigo, el valor debe ser 0x0E.
SubEnclosureId
Especifica el subconsulta 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 SUBENCLOSURE_IDENTIFIER válido que se encuentra en el SES_CONFIGURATION_DIAGNOSTIC_PAGE, el proceso de servicios del 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 microcódigo al subenclosure completado, el proceso de servicios del contenedor 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 del 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), guarde la nueva imagen de microcódigo en almacenamiento no volátil (por ejemplo, ROM flash) y aplaza la activación del nuevo microcódigo.
Si no hay errores en la imagen de microcódigo o en la operación de guardado, el proceso de servicios de gabinete establecerá el campo Estado en SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR en 0x13 en el 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 un uso futuro. |
Reserved[2]
Reservado para un 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 identificador de búfer no admitido, anulará la operación de microcódigo de descarga y establecerá el campo Estado 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 CONSECUTIVOs SEND DIAGNOSTIC.
ImageLength[4]
especifica el número total de bytes en la imagen de microcódigo que la aplicación pretende enviar al bufferID especificado.
DataLength[4]
Especifica la longitud de Datos, en bytes.
Data[ANYSIZE_ARRAY]
Contiene parte de la imagen de microcódigo específica del proveedor.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows 10, versión 1709 y versiones posteriores de Windows. |
Encabezado | scsi.h (incluya Minitape.h, Storport.h) |