다음을 통해 공유


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

마이크로코드를 다운로드할 모드를 지정합니다.

의미
오프셋이 있는 마이크로코드 다운로드, 저장 및 활성화
0x07
마지막 SEND DIAGNOSTIC 명령이 하위 엔클로저에 마이크로코드 제어 진단 다운로드 페이지를 전달한 후 엔클로저 서비스 프로세스는 전체 마이크로코드 이미지(예: 공급업체별 체크섬 수행)를 확인하고 새 마이크로코드 이미지를 비휘발성 스토리지에 저장해야 합니다.

마이크로코드 이미지 또는 저장 작업에 오류가 없는 경우 엔클로저 서비스 프로세스는 다음 작업 중 하나를 수행해야 합니다.

  • 요청된 경우 0x10 SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR 상태 필드를 설정하고 마이크로코드 상태 다운로드 진단 페이지, 전원 켜기 또는 독립 실행형 엔클로저 서비스 프로세스의 경우 하드 재설정을 반환한 후 새 마이크로코드 이미지를 활성화합니다.
  • SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR 상태 필드를 0x11 설정하고, 요청된 경우 독립 실행형 엔클로저 서비스 프로세스에 대해서만 전원을 켜거나 하드 재설정한 후 새 마이크로코드 이미지를 활성화합니다.
  • 요청된 경우 SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR상태 필드를 0x12 설정하고 전원이 켜진 후 새 마이크로코드 이미지를 활성화합니다.
오프셋이 있는 마이크로코드 다운로드, 저장 및 활성화 연기
0x0E
하위 엔클로저에 SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE 제공하는 마지막 SEND DIAGNOSTIC 명령이 완료되면 엔클로저 서비스 프로세스는 전체 마이크로코드 이미지(예: 공급업체별 체크섬 수행)를 확인하고, 새 마이크로코드 이미지를 비휘발성 스토리지(예: 플래시 ROM)에 저장하고, 새 마이크로코드의 활성화를 연기해야 합니다.

마이크로코드 이미지 또는 저장 작업에 오류가 없는 경우 엔클로저 서비스 프로세스는 SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR 상태 필드를 요청된 경우 SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE0x13 설정하고 다음 중 하나 후에 새 마이크로코드를 활성화해야 합니다.

  • 모드 필드가 0x0F 설정된 상태에서 이 구조체 처리(예: 지연된 마이크로코드 활성화)
  • 전원 켜기
  • 하드 리셋
지연된 마이크로코드 활성화
0x0F
이 모드를 지정하는 SEND DIAGNOSTIC 명령이 완료된 후 엔클로저 서비스 프로세스는 지연된 마이크로코드 이미지(있는 경우)를 활성화해야 합니다.
Reserved
기타 모든 값
나중에 사용하기 위해 예약되어 있습니다.

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 포함)