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_REPORTIOCTL_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 를 호출하여 완료 상태를 보고합니다.

요구 사항

   
지원되는 최소 클라이언트 윈도우 10
지원되는 최소 서버 지원되는 버전 없음
대상 플랫폼 데스크톱
헤더 vhf.h
IRQL <=DISPATCH_LEVEL

참고 항목

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