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
드라이버가 Vhf에 제공된 VHF_CONFIG 구조체에 전달한 HID 원본 드라이버 정의 버퍼에 대한 불투명 포인터 가상 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의 네 가지 유형이 있습니다.
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 |