EVT_VHF_ASYNC_OPERATION 콜백 함수(vhf.h)

HID 원본 드라이버는 HID 보고서를 가져와서 설정하는 4가지 비동기 작업 중 하나를 지원하려는 경우 이 이벤트 콜백을 구현합니다.

구문

EVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperation;

void EvtVhfAsyncOperation(
  [in]           PVOID VhfClientContext,
  [in]           VHFOPERATIONHANDLE VhfOperationHandle,
  [in, optional] PVOID VhfOperationContext,
  [in]           PHID_XFER_PACKET HidTransferPacket
)
{...}

매개 변수

[in] VhfClientContext

드라이버가 가상 HID 디바이스를 만들기 위해 VhfCreate에 제공된 VHF_CONFIG 구조체에 전달한 HID 원본 드라이버 정의 버퍼에 대한 불투명 포인터입니다.

[in] VhfOperationHandle

이 비동기 작업을 고유하게 식별하는 불투명 핸들입니다.

[in, optional] VhfOperationContext

작업을 서비스하기 위해 HID 원본 드라이버에서 사용할 수 있는 버퍼에 대한 포인터입니다. 버퍼의 크기는 VhfCreate에 제공된 VHF_CONFIG 구조의 HID 원본 드라이버에 의해 지정됩니다.

[in] HidTransferPacket

HID_XFER_PACKET 구조체에 대한 포인터입니다. HID 보고서에 대한 정보를 포함하며, I/O 요청에 대한 HID 소스 드라이버 및 HID 클래스/미니 드라이버 쌍에서 보고서를 얻거나 설정하는 데 사용됩니다.

반환 값

없음

설명

HID 원본 드라이버에서 지원할 수 있는 비동기 작업의 유형은 GetFeature, SetFeature, WriteReport, GetInputReport입니다.

참고 이러한 작업은 HID 전송 미니드라이버가 구현하는 IOCTL_HID_GET_FEATURE, IOCTL_HID_SET_FEATURE, IOCTL_HID_WRITE_REPORT IOCTL_HID_GET_INPUT_REPORT 요청과 유사합니다.
 
이러한 작업을 지원하려면 HID 원본 드라이버가 EvtVhfAsyncOperation 콜백 함수를 구현하고 WdfDeviceCreate를 호출한 후 VhfCreate 함수에 대한 드라이버 호출에서 VHF(Virtual HID Framework)에 등록해야 합니다. 예를 들어 GetFeature의 경우 드라이버는 EvtVhfAsyncOperation을 구현하고 VHF_CONFIGEvtVhfAsyncOperationGetFeature 멤버를 구현된 함수의 함수 포인터로 설정해야 합니다.

VHF가 HID 보고서를 설정하거나 쿼리하는 요청을 받으면 VHF는 이전에 등록된 EvtVhfAsyncOperation 콜백 함수를 호출하고 비동기 작업이 시작됩니다. 각 작업은 VHF에서 설정한 VHFOPERATIONHANDLE 핸들로 식별됩니다. 드라이버가 초기화하는 동안 VHF_CONFIGOperationContextSize 멤버에 0이 아닌 값을 지정한 경우 VHF는 해당 크기의 버퍼를 할당하고 EvtVhfAsyncOperation을 호출할 때 VhfOperationContext 매개 변수의 해당 버퍼에 포인터를 전달합니다.

HidTransferPacket 은 HID 보고서별 세부 정보를 포함하는 VHF 할당 구조를 가리키는 이 작업의 전송 버퍼입니다. 예를 들어 작업이 GetFeature인 경우 완료 시 버퍼는 HID 원본 드라이버에 의해 요청된 HID 기능 보고서로 채워집니다.

작업이 완료되면 HID 소스는 VhfAsyncOperationComplete를 호출하여 완료 상태 보고합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10
지원되는 최소 서버 지원되는 버전 없음
대상 플랫폼 데스크톱
머리글 vhf.h
IRQL <=DISPATCH_LEVEL

추가 정보

VHF(Virtual HID Framework)를 사용하여 HID 원본 드라이버 작성