SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR structure (minitape.h)
The SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR structure specifies the status and additional status of a download microcode.
Syntax
typedef struct _SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR {
UCHAR Reserved1;
UCHAR SubEnclosureId;
UCHAR Status;
UCHAR AdditionalStatus;
UCHAR MaximumImageSize[4];
UCHAR Reserved2[3];
UCHAR ExpectedBufferId;
UCHAR ExpectedBufferOffset;
} SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR, *PSES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR;
Members
Reserved1
Reserved for future use.
SubEnclosureId
Specifies the subenclosure to which the download microcode status descriptor applies to.
Status
Specifies the status of download microcode operations for the subenclosure. After reporting a code indicating completion, the enclosure services process shall set this field to 0x00 and shall set the AdditionalStatus field to 0x00. Status may can contain one of the following values:
Value | Meaning |
---|---|
|
No download microcode operation is in progress. |
|
Download microcode operation is in progress. The enclosure services process has received one or more Download Microcode Control diagnostic pages and is awaiting additional microcode data. |
|
Download microcode operation data transfer is complete, currently updating nonvolatile storage. |
|
The enclosure services process is currently updating nonvolatile storage with deferred microcode. |
|
Reserved for codes indicating interim status |
|
Download microcode operation complete with no error. The enclosure services process begins using the new microcode after returning this status. |
|
Download microcode operation complete with no error. The enclosure services process (e.g., a standalone enclosure services process) begins using the new microcode after the next hard reset or power on. |
|
Download microcode operation complete with no error. The enclosure services process (e.g., an attached enclosure services process) begins using the new microcode after the next power on. |
|
Download microcode operation complete with no error. The enclosure services process (e.g., an attached enclosure services process) begins using the new microcode after either processing a SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE specifying the activate deferred microcode mode, hard reset, or power on. |
|
Reserved for codes indicating no error. |
|
Vendor specific |
|
Error in one or more of the Download Microcode Control diagnostic page fields. |
|
Specifies a Microcode image error. |
|
Download microcode timeout. The enclosure services process may discard microcode data after a vendor specific amount of time, if it does not receive the entire microcode image. |
|
Internal error in the download microcode operation. New microcode image is needed before a hard reset or power on |
|
Internal error in the download microcode operation. Hard reset and power on safe |
|
Processed a SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE with the Mode field set to 0x0F (i.e., activate deferred microcode), if there is no deferred microcode. |
|
Reserved for codes indicating errors. |
|
Vendor Specific |
AdditionalStatus
Provides an additional status value for certain values of Status .
MaximumImageSize[4]
Indicates the maximum size in bytes of the microcode image that the enclosure services process accepts. The image may be delivered using one or more SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE.
Reserved2[3]
Reserved for future use.
ExpectedBufferId
Indicates the next value that the enclosure services process expects in the BufferId field in SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE.
ExpectedBufferOffset
Indicates the next value that the enclosure services process expects in the BufferOffset field in SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE. If the enclosure services process accepts arbitrary BufferOffset values, then it shall set ExpectedBufferOffset to 0xFFFFFFFF.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows 10, version 1709 and later versions of Windows. |
Header | minitape.h (include Minitape.h, Storport.h) |