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 를 호출하여 요청 컨텍스트를 업데이트할 때까지 유효하지 않습니다.
설명
미니포트 드라이버는 함수 멤버가 SRB_FUNCTION_WMI 설정된 SRB를 받으면 요청 컨텍스트에 대한 포인터를 포함하여 요청 매개 변수를 사용하여 ScsiPortWmiDispatchFunction 을 호출합니다. ScsiPortWmiDispatchFunction은 요청 컨텍스트를 미니포트 드라이버의 적절한 HwScsiWmiXxx 루틴에 전달합니다.
미니포트 드라이버가 SRB 처리를 완료하고 SRB를 완료하기 전에 미니포트 드라이버는 ScsiPortWmiPostProcess 를 호출하여 요청 컨텍스트의 ReturnStatus 및 ReturnSize 멤버를 업데이트해야 합니다. 미니포트 드라이버는 ScsiPortWmiGetReturnSize 및 ScsiPortWmiGetReturnStatus를 호출하여 SRB의 데이터 전송 길이 및 상태 이러한 값으로 업데이트합니다. 각각.
요청 컨텍스트는 SRB를 처리하는 동안 유효한 상태를 유지해야 합니다. SRB가 보류될 수 있는 경우 미니포트 드라이버는 SRB가 완료될 때까지 유효한 상태로 유지되도록 SRB 확장에서 SCSIWMI_REQUEST_CONTEXT 구조를 할당해야 합니다. 사용되지 않는 SRB의 경우 구조체는 scope 벗어나지 않는 스택 프레임에서 할당할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | scsiwmi.h(Scsiwmi.h 포함) |