SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE結構 (scsi.h)
SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE結構包含廠商特定的微碼 (,也就是機箱服務程式要使用的韌體) 映射。
語法
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;
成員
PageCode
指定要根據值傳送或要求的診斷頁面。 對於 Microcode Control 診斷頁面,此值應該0x0E。
SubEnclosureId
指定應用程式用戶端傳送微碼影像至其中的子機箱。 如果值不符合SES_CONFIGURATION_DIAGNOSTIC_PAGE中找到的有效 SUBENCLOSURE_IDENTIFIER域值,則機箱服務程式應中止下載微碼作業,狀態為 0x80。
PageLength[2]
指定診斷頁面中後續的位元組數目。
ExpectedGenerationCode[4]
指定產生程式代碼的預期值。 如果此參數未設定為目前的產生程式代碼,則機箱服務程式應中止下載微碼作業,狀態為 0x80。
Mode
指定要下載微碼的模式。
值 | 意義 |
---|---|
|
在最後一個 SEND DIAGNOSTIC 命令將 [下載微碼控制] 診斷頁面傳遞給子保護完成之後,機箱服務程式應確認完整的微碼映像 (例如,執行廠商特定的總和檢查碼) ,並將新的微碼映像儲存到非卷積記憶體。
如果微碼映像或儲存作業中沒有任何錯誤,則機箱服務程式應該執行下列其中一個動作:
|
|
在最後一個 SEND DIAGNOSTIC 命令將 SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE 傳遞給子保護完成之後,機箱服務程式應確認完整的微碼映像 (例如,執行廠商特定的總和檢查碼) 、將新的微碼映像儲存到非卷積記憶體 (例如 flash ROM) ,以及延遲啟用新的微碼。
如果微碼映像或儲存作業中沒有任何錯誤,則機箱服務程式應將SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR中的 [狀態] 字段設定為0x13 SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE,如有要求,並在下列其中一項之後啟用新的微碼:
|
|
指定此模式的 SEND DIAGNOSTIC 命令完成之後,如果有任何,機箱服務程式應該會啟用延後微碼映像。 |
|
保留供未來使用。 |
Reserved[2]
保留供未來使用。
BufferID
指定機箱服務程式內要接收微碼影像的特定緩衝區。 機箱服務程式會將廠商特定的緩衝區標識符代碼指派給緩衝區 (例如,主要韌體映射可能會儲存在緩衝區 00h,而備份韌體映射可能會儲存在緩衝區 01h) 。 機箱服務程式應支援緩衝區標識碼值為 00h。 如果支援多個緩衝區,則機箱服務程式應該連續指派額外的緩衝區標識碼,從01h開始。 如果機箱服務進程收到不支援的緩衝區標識碼,則它應該中止下載微碼作業,並將SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR中的 [狀態] 字段設定為SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE結構中的 [0x80]。
BufferOffset[4]
指定在緩衝區內以位元組為單位的位移,而微碼數據會以四的倍數寫入緩衝區內。 機箱服務程式可能需要連續增加此欄位,以連續的 SEND DIAGNOSTIC 命令。
ImageLength[4]
會指定應用程式想要傳送至指定 BufferID 之微碼影像中的位元組總數。
DataLength[4]
指定 Data 的長度,以位元組為單位。
Data[ANYSIZE_ARRAY]
包含廠商特定微碼影像的一部分。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1709 和更新版本的 Windows 中提供。 |
標頭 | scsi.h (包含 Minitape.h、Storport.h) |