ScsiPortWmiPostProcess 함수(scsiwmi.h)
ScsiPortWmiPostProcess 루틴은 WMI SRB에 대한 요청 컨텍스트를 업데이트합니다.
구문
void ScsiPortWmiPostProcess(
[in] PSCSIWMI_REQUEST_CONTEXT RequestContext,
[in] UCHAR SrbStatus,
[in] ULONG BufferUsed
);
매개 변수
[in] RequestContext
이 SRB에 대한 요청 컨텍스트에 대한 포인터입니다.
[in] SrbStatus
유효한 SRB 상태를 지정합니다. 미니포트 드라이버에 전달된 출력 버퍼가 너무 작아서 요청의 모든 데이터를 포함할 수 없는 경우 미니포트 드라이버는 SrbStatus 를 SRB_STATUS_DATA_OVERRUN 설정합니다.
[in] BufferUsed
SrbStatus가 성공을 나타내는 경우 미니포트 드라이버는 BufferUsed를 버퍼에 기록된 데이터 바이트 수로 설정합니다. SrbStatus가 SRB_STATUS_DATA_OVERRUN 경우 미니포트 드라이버는 BufferUsed를 SRB를 성공적으로 완료하는 데 필요한 바이트 수로 설정합니다.
반환 값
없음
설명
미니포트 드라이버는 WMI SRB 요청이 처리되고 완료될 준비가 된 후에 ScsiPortWmiPostProcess 를 호출해야 합니다.
동기 SRB의 경우 콜백 루틴에서 ScsiPortWmiPostProcess 가 호출됩니다.
보류 중인 SRB의 경우 SRB가 처리된 후 완료되기 전에 ScsiPortWmiPostProcess 가 호출됩니다.
미니포트 드라이버가 SrbStatus 를 SRB_STATUS_DATA_OVERRUN 설정하고 BufferUsed를 설정하는 경우 할당된 버퍼가 BufferUsed 바이트보다 크거나 같은 연속적인 동일한 WMI SRB가 성공합니다. 드라이버가 SRB_STATUS_DATA_OVERRUN 동일한 SrbStatus를 사용하여 ScsiPortWmiPostProcess를 호출할 때 요청을 완료하는 데 필요한 BufferUsed의 정확한 값을 설정하는 경우 이 작업을 수행해야 합니다. 변수 크기 출력 구조의 경우 SRB의 입력 데이터 버퍼에는 정확한 BufferUsed 값을 결정하기에 충분한 정보가 있어야 합니다. 입력 데이터 버퍼에 충분한 정보가 없는 경우 드라이버는 SRB_STATUS_DATA_OVERRUN 동일한 SRB를 두 번 실패해서는 안 됩니다. 대신 드라이버는 SRB_STATUS_DATA_OVERRUN 설정하고 먼저 출력 버퍼에 필요한 최소 크기를 요청한 다음 SRB_STATUS_SUCCESS 설정하고 출력 버퍼의 내용에 오류를 표시해야 합니다.
요구 사항
| 대상 플랫폼 | 데스크톱 |
| 헤더 | scsiwmi.h(Miniport.h, Scsi.h 포함) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기