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
값에 따라 전송되거나 요청되는 진단 페이지를 지정합니다. Microcode Control 진단 페이지의 경우 값을 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_PAGE0x13 설정하고 다음 중 하나 후에 새 마이크로코드를 활성화해야 합니다.
|
|
이 모드를 지정하는 SEND DIAGNOSTIC 명령이 완료된 후 엔클로저 서비스 프로세스는 지연된 마이크로코드 이미지(있는 경우)를 활성화해야 합니다. |
|
나중에 사용하기 위해 예약되어 있습니다. |
Reserved[2]
나중에 사용하기 위해 예약되어 있습니다.
BufferID
마이크로코드 이미지를 받을 엔클로저 서비스 프로세스 내의 특정 버퍼를 지정합니다. 엔클로저 서비스 프로세스는 공급업체별 버퍼 ID 코드를 버퍼에 할당합니다(예: 기본 펌웨어 이미지는 버퍼 00h에 저장되고 백업 펌웨어 이미지는 버퍼 01h에 저장될 수 있음). 엔클로저 서비스 프로세스는 버퍼 ID 값 00h를 지원해야 합니다. 둘 이상의 버퍼가 지원되는 경우 엔클로저 서비스 프로세스는 01h부터 연속적으로 추가 버퍼 ID 코드를 할당해야 합니다. 엔클로저 서비스 프로세스가 지원되지 않는 버퍼 ID 코드를 수신하는 경우 마이크로코드 다운로드 작업을 중단하고 SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR 상태 필드를 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 포함) |