다음을 통해 공유


SCSIWMI_REQUEST_CONTEXT 구조체(scsiwmi.h)

SCSIWMI_REQUEST_CONTEXT 구조체에는 WMI SRB에 대한 컨텍스트 정보가 포함됩니다.

메모

SCSI 포트 드라이버 및 SCSI 미니포트 드라이버 모델은 나중에 변경되거나 사용할 수 없습니다. 대신 Storport 드라이버 사용하고 storport 미니포트 드라이버 모델을 것이 좋습니다.

통사론

typedef struct {
  PVOID  UserContext;
  ULONG  BufferSize;
  PUCHAR Buffer;
  UCHAR  MinorFunction;
  UCHAR  ReturnStatus;
  ULONG  ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;

회원

UserContext

미니포트 드라이버가 SRB를 처리하는 데 필요한 모든 데이터를 포함하는 미니포트 드라이버 버퍼를 가리킵니다. 미니포트 드라이버의 HW_DEVICE_EXTENSION 구조 또는 다른 버퍼에 대한 포인터일 수 있습니다.

BufferSize

시스템 사용을 위해 예약되었으며 미니포트 드라이버에서 사용할 수 없습니다.

Buffer

시스템 사용을 위해 예약되었으며 미니포트 드라이버에서 사용할 수 없습니다.

MinorFunction

시스템 사용을 위해 예약되었으며 미니포트 드라이버에서 사용할 수 없습니다.

ReturnStatus

SRB의 반환 상태를 나타냅니다. 이 멤버는 미니포트 드라이버가 요청 컨텍스트를 업데이트하기 위해 ScsiPortWmiPostProcess 호출한 후에야 유효하지 않습니다.

ReturnSize

SRB에 대해 전송된 데이터의 바이트 수를 나타냅니다. 이 멤버는 미니포트 드라이버가 요청 컨텍스트를 업데이트하기 위해 ScsiPortWmiPostProcess 호출한 후에야 유효하지 않습니다.

발언

미니포트 드라이버는 Function 멤버가 SRB_FUNCTION_WMI 설정된 SRB를 받으면 요청 컨텍스트에 대한 포인터를 포함하여 요청 매개 변수를 사용하여 ScsiPortWmiDispatchFunction 호출합니다. ScsiPortWmiDispatchFunction 요청 컨텍스트를 미니포트 드라이버의 적절한 HwScsiWmiXxx 루틴에 전달합니다.

미니포트 드라이버가 SRB 처리를 완료하고 SRB를 완료하기 전에 미니포트 드라이버는 ScsiPortWmiPostProcess 호출하여 ReturnStatus 업데이트하고 요청 컨텍스트의 ReturnSize 멤버를 합니다. 미니포트 드라이버는 ScsiPortWmiGetReturnSizeScsiPortWmiGetReturnStatus호출하여 SRB의 데이터 전송 길이 및 상태를 이러한 값으로 업데이트합니다. 각각.

요청 컨텍스트는 SRB를 처리하는 동안 유효한 상태를 유지해야 합니다. SRB가 보류될 수 있는 경우 미니포트 드라이버는 SRB가 완료될 때까지 유효한 상태로 유지되도록 SRB 확장에서 SCSIWMI_REQUEST_CONTEXT 구조를 할당해야 합니다. 사용되지 않는 SRB의 경우 범위를 벗어나지 않는 스택 프레임에서 구조를 할당할 수 있습니다.

요구 사항

요구
헤더 scsiwmi.h(Scsiwmi.h 포함)

참고 항목

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess