다음을 통해 공유


RS_COMMAND_DESCRIPTOR 구조체(storport.h)

RS_COMMAND_DESCRIPTOR 구조에는 지원되는 단일 CDB(명령 설명자 블록)에 대한 정보가 포함되어 있습니다.

통사론

typedef struct {
  UCHAR OperationCode;
  UCHAR Reserved;
  UCHAR ServiceAction[2];
  UCHAR Reserved1;
  UCHAR ServiceActionValid : 1;
  UCHAR CommandTimeoutsDescriptorPresent : 1;
  UCHAR CommandDurationLimitPage : 2;
  UCHAR MultipleLogicalUnits : 2;
  UCHAR ReadWriteCommandDurationLimitsPage : 1;
  UCHAR Reserved2 : 1;
  UCHAR CdbLength[2];
} RS_COMMAND_DESCRIPTOR, *PRS_COMMAND_DESCRIPTOR;

회원

OperationCode

CDB(명령 설명자 블록)에서 요청하는 명령을 지정합니다.

Reserved

내부용으로 예약되어 있습니다.

ServiceAction[2]

일부 명령에 대해 OperationCode 필드에 대한 한정을 제공하여 다음을 허용합니다.

  • 보고서 지원 작업 코드 및 보고서 대상 포트 그룹 명령과 같은 동일한 작업 코드를 공유하는 관련 없는 명령입니다.
  • 동일한 작업 코드(예: Persistent Reserve In) 명령을 공유하는 관련 함수 집합입니다.

Reserved1

내부용으로 예약되어 있습니다.

ServiceActionValid

OperationCodeServiceAction 필드의 내용이 유효하다는 것을 나타냅니다.

CommandTimeoutsDescriptorPresent

명령 시간 제한 설명자가 이 명령 설명자에 포함되어 있음을 나타냅니다.

CommandDurationLimitPage

readWriteCommandDurationLimitsPage CommandDurationLimitPage 필드는 명령의 명령 기간 제한을 지정하는 모드 페이지를 나타냅니다.

MultipleLogicalUnits

MultipleLogicalUnits 필드는 다음 표에 설명되어 있습니다.

묘사
0 이 명령이 다른 논리 단위에 미치는 영향은 보고되지 않습니다.
1 이 명령은 이 논리 단위에만 영향을 줍니다.
2 이 명령은 이 대상 디바이스에 포함된 모든 논리 단위가 아닌 둘 이상의 논리 단위에 영향을 줍니다.
3 이 명령은 이 대상 디바이스에 포함된 모든 논리 단위에 영향을 줍니다.

ReadWriteCommandDurationLimitsPage

readWriteCommandDurationLimitsPage CommandDurationLimitPage 필드는 명령의 명령 기간 제한을 지정하는 모드 페이지를 나타냅니다.

Reserved2

내부용으로 예약되어 있습니다.

CdbLength[2]

OperationCode대한 명령 설명자 블록의 길이를 바이트 단위로 나타내며, ServiceActionValid TRUE 경우 ServiceAction 필드로 표시되는 작업입니다.

발언

다음 표에는 ReadWriteCommandDurationLimitsPageCommandDurationLimitPage 필드의 값이 반영되어 있습니다.

ReadWriteCommandDurationLimitsPage CommandDurationLimitPage 묘사
0 0 이 명령에는 명령 기간 제한 모드 페이지가 표시되지 않습니다.
1 0 예약
0 1 명령 기간 제한 A 모드 페이지
0 2 명령 기간 제한 B 모드 페이지
1 1 명령 기간 제한 T2A 모드 페이지
1 2 명령 기간 제한 T2B 모드 페이지
0 또는 1 3 예약

요구 사항

요구
헤더 storport.h