SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE構造体 (minitape.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
値に基づいて送信または要求される診断ページを指定します。 マイクロコード制御の診断ページの場合、値は0x0Eする必要があります。
SubEnclosureId
アプリケーション クライアントがマイクロコード イメージを送信するサブ エンクロージャを指定します。 値が SES_CONFIGURATION_DIAGNOSTIC_PAGEで見つかった有効なSUBENCLOSURE_IDENTIFIER フィールド値と一致しない場合、エンクロージャ サービス プロセスは、0x80の状態でマイクロコードのダウンロード操作を中止します。
PageLength[2]
診断ページに続くバイト数を指定します。
ExpectedGenerationCode[4]
生成コードの予期される値を指定します。 このパラメーターが現在の生成コードに設定されていない場合、エンクロージャ サービス プロセスは、0x80の状態でマイクロコードのダウンロード操作を中止します。
Mode
マイクロコードをダウンロードするモードを指定します。
価値 | 意味 |
---|---|
|
最後の SEND DIAGNOSTIC コマンドによってマイクロコード制御のダウンロード診断ページがサブエンクロアに配信された後、エンクロージャ サービス プロセスは完全なマイクロコード イメージ (ベンダー固有のチェックサムの実行など) を検証し、新しいマイクロコード イメージを不揮発性ストレージに保存します。
マイクロコード・イメージまたは保管操作にエラーがない場合、エンクロージャー・サービス・プロセスは、以下のいずれかのアクションを実行しなければなりません。
|
|
サブ保証に SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE を配信する最後の SEND DIAGNOSTIC コマンドが完了すると、エンクロージャ サービス プロセスは、完全なマイクロコード イメージ (ベンダー固有のチェックサムの実行など) を検証し、新しいマイクロコード イメージを不揮発性ストレージ (フラッシュ ROM など) に保存し、新しいマイクロコードのアクティブ化を延期します。
マイクロコード・イメージまたは保管操作にエラーがない場合、エンクロージャー・サービス・プロセスは、SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR の「状況」フィールドを SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGEの0x13 (要求された場合) に設定し、次のいずれかの後に新しいマイクロコードをアクティブにします。
|
|
このモードを指定する SEND DIAGNOSTIC コマンドが完了すると、エンクロージャ サービス プロセスによって遅延マイクロコード イメージがアクティブ化されます (存在する場合)。 |
|
将来の使用のために予約されています。 |
Reserved[2]
将来の使用のために予約されています。
BufferID
マイクロコード・イメージを受け取るエンクロージャー・サービス・プロセス内の特定のバッファーを指定します。 エンクロージャ サービス プロセスは、ベンダー固有のバッファー ID コードをバッファーに割り当てます (たとえば、メイン ファームウェア イメージはバッファー 00h に格納され、バックアップ ファームウェア イメージはバッファー 01h に格納される場合があります)。 エンクロージャ サービス プロセスでは、バッファー ID 値 00h をサポートする必要があります。 複数のバッファーがサポートされている場合、エンクロージャ サービス プロセスは、01h から始まる追加のバッファー ID コードを連続して割り当てる必要があります。 エンクロージャ サービス プロセスがサポートされていないバッファー ID コードを受け取った場合、マイクロコードのダウンロード操作を中止し、SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR の Status フィールドを SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE 構造体の0x80に設定します。
BufferOffset[4]
マイクロコード データが 4 の倍数で書き込まれるバッファー内のオフセットをバイト単位で指定します。 エンクロージャ サービス プロセスでは、連続する SEND DIAGNOSTIC コマンドでこのフィールドを連続して増加させる必要がある場合があります。
ImageLength[4]
は、アプリケーションが指定された BufferIDに送信するマイクロコード イメージの合計バイト数を指定します。
DataLength[4]
データの長さをバイト単位で指定します。
Data[ANYSIZE_ARRAY]
ベンダー固有のマイクロコード イメージの一部が含まれています。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 1709 以降のバージョンの Windows で使用できます。 |
ヘッダー | minitape.h (Minitape.h、Storport.h を含む) |