PSCSIWMI_SET_DATAITEM 콜백 함수(scsiwmi.h)
미니포트 드라이버의 HwScsiWmiSetDataItem 루틴은 데이터 블록 인스턴스의 단일 데이터 항목을 변경하기 위해 호출됩니다. 이 루틴은 선택 사항입니다.
통사론
PSCSIWMI_SET_DATAITEM PscsiwmiSetDataitem;
BOOLEAN PscsiwmiSetDataitem(
[in] PVOID DeviceContext,
[in] PSCSIWMI_REQUEST_CONTEXT RequestContext,
[in] ULONG GuidIndex,
[in] ULONG InstanceIndex,
[in] ULONG DataItemId,
[in] ULONG BufferSize,
[in] PUCHAR Buffer
)
{...}
매개 변수
[in] DeviceContext
ScsiPortWmiDispatchFunction전달된 미니포트 드라이버 정의 컨텍스트 값을 가리킵니다.
[in] RequestContext
미니포트 드라이버가 ScsiPortWmiDispatchFunction전달한 SCSIWMI_REQUEST_CONTEXT 구조를 가리킵니다.
[in] GuidIndex
미니포트 드라이버가 ScsiPortWmiDispatchFunction전달한 SCSI_WMILIB_CONTEXT 구조체의 GUID 목록에 대한 인덱스의 데이터 블록을 지정합니다.
[in] InstanceIndex
GuidIndex 지정된 블록에 여러 인스턴스가 있는 경우 InstanceIndex 인스턴스를 지정합니다.
[in] DataItemId
설정할 데이터 항목의 ID를 지정합니다.
[in] BufferSize
Buffer버퍼의 크기(바이트)를 지정합니다.
[in] Buffer
데이터 항목에 대한 새 값이 포함된 버퍼를 가리킵니다.
반환 값
HwScsiWmiSetDataItem 요청이 보류 중인 경우 SRB_STATUS_PENDING 반환하거나 요청이 완료된 경우 0이 아닌 SRB 상태 값을 반환합니다. 이 루틴에서 반환된 SRB 상태 값은 HwScsiWmiSetDataItem전달된 값과 동일합니다. 반환 값 데이터 형식이 BOOLEAN이지만 HwScsiWmiSetDataItem 루틴은 실제로 SRB 상태 값을 반환합니다.
발언
미니포트 드라이버는 Function 멤버가 SRB_FUNCTION_WMI 설정된 SRB를 받으면 초기화된 SCSI_WMILIB_CONTEXT 구조에 대한 포인터를 사용하여 ScsiPortWmiDispatchFunction 호출하고 MinorFunction Srb->WmiSubFunction 설정합니다. MinorFunction 데이터 블록 인스턴스의 항목 변경 요청을 나타내는 경우 SCSI 포트 드라이버는 미니포트 드라이버의 HwScsiWmiSetDataItem 루틴을 호출합니다.
미니포트 드라이버가 HwScsiWmiSetDataItem 루틴을 구현하지 않는 경우 미니포트 드라이버가 ScsiPortWmiDispatchFunction전달하는 SCSI_WMILIB_CONTEXT SetWmiDataItem NULL 설정해야 합니다. 이 경우 포트 드라이버는 호출자에게 SRB_STATUS_ERROR 반환합니다.
요청이 보류되지 않으면 미니포트 드라이버는 HwScsiWmiSetDataItem 콜백에서 ScsiPortWmiPostProcess 호출해야 합니다. 그렇지 않으면 미니포트 드라이버는 요청이 실제로 완료될 때 ScsiPortWmiPostProcess 호출해야 합니다. 미니포트 드라이버는 적절한 SrbStatus 값으로 ScsiPortWmiPostProcess 호출해야 합니다.
항목이 읽기 전용인 경우 미니포트 드라이버는 SRB_STATUS_ERROR 사용하여 ScsiPortWmiPostProcess 호출합니다. 그렇지 않으면 미니포트 드라이버가 항목을 변경하고 SRB_STATUS_SUCCESS ScsiPortWmiPostProcess 호출합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | scsiwmi.h(Scsiwmi.h 포함) |