estrutura VHF_CONFIG (vhf.h)
Contém informações de configuração iniciais fornecidas pelo driver de origem HID quando ele chama VhfCreate para criar um dispositivo HID virtual.
Sintaxe
typedef struct _VHF_CONFIG {
ULONG Size;
PVOID VhfClientContext;
ULONG OperationContextSize;
#ifdef _KERNEL_MODE
PDEVICE_OBJECT DeviceObject;
#else
HANDLE FileHandle;
#endif
USHORT VendorID;
USHORT ProductID;
USHORT VersionNumber;
GUID ContainerID;
USHORT InstanceIDLength;
_Field_size_bytes_full_(InstanceIDLength)
PWSTR InstanceID;
USHORT ReportDescriptorLength;
_Field_size_full_(ReportDescriptorLength)
PUCHAR ReportDescriptor;
PEVT_VHF_READY_FOR_NEXT_READ_REPORT EvtVhfReadyForNextReadReport;
PEVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperationGetFeature;
PEVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperationSetFeature;
PEVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperationWriteReport;
PEVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperationGetInputReport;
PEVT_VHF_CLEANUP EvtVhfCleanup;
USHORT HardwareIDsLength;
_Field_size_bytes_full_(HardwareIDsLength)
PWSTR HardwareIDs;
} VHF_CONFIG, *PVHF_CONFIG;
Membros
Size
Obrigatórios. Tamanho dessa estrutura inicializada por VHF_CONFIG_INIT.
VhfClientContext
Opcional. Um ponteiro opaco para a memória alocada pelo driver de origem HID que o VHF (Virtual HID Framework) passa quando invoca essas funções de retorno de chamada.
OperationContextSize
Opcional. Tamanho do buffer que o VHF deve alocar para uma operação assíncrona iniciada por EvtVhfAsyncOperation. Se não for zero, o VHF alocará um buffer desse tamanho e passará um ponteiro para esse buffer no parâmetro VhfOperationContext sempre que ele invocar EvtVhfAsyncOperation para iniciar uma nova operação.
DeviceObject
Necessário para drivers no modo kernel. Um ponteiro para a estrutura de DEVICE_OBJECT para o driver de origem HID. Obtenha esse ponteiro chamando WdfDeviceWdmGetDeviceObject e passando o identificador WDFDEVICE que o driver recebeu na chamada WdfDeviceCreate .
FileHandle
Necessário para drivers de modo de usuário. Um identificador de arquivo obtido chamando WdfIoTargetWdmGetTargetFileHandle. Para abrir um WDFIOTARGET, um driver de origem VHF do modo de usuário (UMDF) deve chamar WdfIoTargetOpen com OpenParams.Type definido como WdfIoTargetOpenLocalTargetByFile.
VendorID
Opcional. ID do fornecedor do dispositivo HID virtual a ser criado.
ProductID
Opcional. ID do produto do dispositivo HID virtual a ser criado.
VersionNumber
Opcional. Número de versão do dispositivo HID virtual a ser criado.
ContainerID
Opcional. ID do contêiner do dispositivo HID virtual a ser criado.
InstanceIDLength
InstanceID
ReportDescriptorLength
Obrigatórios. O comprimento do Descritor de Relatório HID contido em um buffer apontado por ReportDescriptor.
ReportDescriptor
Obrigatórios. Um ponteiro para um buffer alocado pelo driver de origem HID que contém o Descritor de Relatório HID.
EvtVhfReadyForNextReadReport
Opcional. Um ponteiro para um retorno de chamada EvtVhfReadyForNextReadReport . O driver de origem HID deve implementar e registrar essa função de retorno de chamada se quiser manipular a política de buffer para enviar relatórios de entrada HID. Se esse retorno de chamada for especificado, o VHF não armazenará esses relatórios em buffer. O driver de origem HID deve enviar um relatório chamando VhfReadReportSubmit, sempre que o VHF invocar EvtVhfReadyForNextReadReport.
EvtVhfAsyncOperationGetFeature
Opcional. Um ponteiro para um retorno de chamada EvtVhfAsyncOperation . O driver de origem HID deve implementar e registrar essa função de retorno de chamada se quiser obter um Relatório de Recursos HID associado a uma Coleção de Nível Superior do par de driver de classe HID. O driver só poderá obter um Relatório de Recursos se o Descritor de Relatório o declarar.
EvtVhfAsyncOperationSetFeature
Opcional. Um ponteiro para um retorno de chamada EvtVhfAsyncOperation . O driver de origem HID deve implementar e registrar essa função de retorno de chamada se quiser enviar um Relatório de Recursos HID associado a uma Coleção de Nível Superior para o par de driver de classe HID. O driver pode definir um Relatório de Recursos somente se o Descritor de Relatório o declarar.
EvtVhfAsyncOperationWriteReport
Opcional. Um ponteiro para um retorno de chamada EvtVhfAsyncOperation . O driver de origem HID deve implementar e registrar essa função de retorno de chamada se quiser dar suporte a Relatórios de Saída hid e enviá-los para o par de driver de classe HID.
EvtVhfAsyncOperationGetInputReport
Opcional. Um ponteiro para um retorno de chamada EvtVhfAsyncOperation . O driver de origem HID deve implementar e registrar essa função de retorno de chamada se quiser dar suporte à consulta sob demanda para Relatórios de Entrada.
EvtVhfCleanup
Opcional. Um ponteiro para um retorno de chamada EvtVhfCleanup . O driver de origem HID poderá implementar e registrar essa função de retorno de chamada se quiser liberar os recursos alocados para o dispositivo HID virtual.
HardwareIDsLength
HardwareIDs
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 |
Servidor mínimo com suporte | Nenhum compatível |
Cabeçalho | vhf.h |
Confira também
Gravar um driver de origem HID usando a VHF (Estrutura HID Virtual)