EVT_VHF_ASYNC_OPERATION 콜백 함수(vhf.h)
HID 원본 드라이버는 HID 보고서를 가져와서 설정하는 네 가지 비동기 작업 중 하나를 지원하려는 경우 이 이벤트 콜백을 구현합니다.
통사론
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 보고서에 대한 정보를 포함하며, HID 원본 드라이버와 I/O 요청에 대한 HID 클래스/미니 드라이버 쌍에서 보고서를 얻거나 설정하는 데 사용됩니다.
반환 값
없음
발언
HID 원본 드라이버에서 지원할 수 있는 비동기 작업의 네 가지 유형은 GetFeature, SetFeature, WriteReport, GetInputReport.
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 원본 드라이버 작성