estructura VHF_CONFIG (vhf.h)
Contiene información de configuración inicial proporcionada por el controlador de origen HID cuando llama a VhfCreate para crear un dispositivo HID virtual.
Sintaxis
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;
Miembros
Size
Obligatorio. Tamaño de esta estructura inicializada por VHF_CONFIG_INIT.
VhfClientContext
Opcional. Puntero opaco a la memoria asignada por el controlador de origen HID que pasa virtual HID Framework (VHF) cuando invoca esas funciones de devolución de llamada.
OperationContextSize
Opcional. Tamaño del búfer que VHF debe asignar para una operación asincrónica iniciada por EvtVhfAsyncOperation. Si no es cero, VHF asigna un búfer de este tamaño y pasa un puntero a ese búfer en el parámetro VhfOperationContext cada vez que invoca EvtVhfAsyncOperation para iniciar una nueva operación.
DeviceObject
Necesario para controladores en modo kernel. Puntero a la estructura DEVICE_OBJECT del controlador de origen HID. Obtenga ese puntero llamando a WdfDeviceWdmGetDeviceObject y pasando el controlador WDFDEVICE que el controlador recibió en la llamada WdfDeviceCreate.
FileHandle
Necesario para controladores en modo de usuario. Identificador de archivo obtenido llamando a WdfIoTargetWdmGetTargetFileHandle. Para abrir un WDFIOTARGET, un controlador de origen VHF en modo de usuario (UMDF) debe llamar a WdfIoTargetOpenOpen con OpenParams.Type establecido en WdfIoTargetOpenLocalTargetByFile.
VendorID
Opcional. Identificador de proveedor del dispositivo HID virtual que se va a crear.
ProductID
Opcional. Id. de producto del dispositivo HID virtual que se va a crear.
VersionNumber
Opcional. Número de versión del dispositivo HID virtual que se va a crear.
ContainerID
Opcional. Identificador de contenedor del dispositivo HID virtual que se va a crear.
InstanceIDLength
InstanceID
ReportDescriptorLength
Obligatorio. Longitud del descriptor de informe HID contenido en un búfer al que apunta ReportDescriptor.
ReportDescriptor
Obligatorio. Puntero a un búfer asignado por el controlador de origen HID que contiene el descriptor de informe HID.
EvtVhfReadyForNextReadReport
Opcional. Puntero a una devolución de llamada EvtVhfReadyForNextRead Report. El controlador de origen HID debe implementar y registrar esta función de devolución de llamada si quiere controlar la directiva de almacenamiento en búfer para enviar informes de entrada HID. Si se especifica esta devolución de llamada, VHF no almacena en búfer esos informes. El controlador de origen HID debe enviar un informe llamando a VhfReadReportSubmit, cada vez que VHF invoca EvtVhfReadyForNextReadReport.
EvtVhfAsyncOperationGetFeature
Opcional. Puntero a una devolución de llamada EvtVhfAsyncOpera tion. El controlador de origen HID debe implementar y registrar esta función de devolución de llamada si desea obtener un informe de características HID asociado a un colección deTop-Level del par de controladores de clase HID. El controlador solo puede obtener un informe de características si el descriptor de informe lo declara.
EvtVhfAsyncOperationSetFeature
Opcional. Puntero a una devolución de llamada EvtVhfAsyncOpera tion. El controlador de origen HID debe implementar y registrar esta función de devolución de llamada si desea enviar un informe de características HID asociado a un colección deTop-Level al par de controladores de clase HID. El controlador solo puede establecer un informe de características si el descriptor de informe lo declara.
EvtVhfAsyncOperationWriteReport
Opcional. Puntero a una devolución de llamada EvtVhfAsyncOpera tion. El controlador de origen HID debe implementar y registrar esta función de devolución de llamada si quiere un informe de salida HID compatible y enviarlos al par de controladores de clase HID.
EvtVhfAsyncOperationGetInputReport
Opcional. Puntero a una devolución de llamada EvtVhfAsyncOpera tion. El controlador de origen HID debe implementar y registrar esta función de devolución de llamada si quiere admitir la consulta a petición para los informes de entrada.
EvtVhfCleanup
Opcional. Puntero a un EvtVhfCleanup devolución de llamada. El controlador de origen HID puede implementar y registrar esta función de devolución de llamada si quiere liberar los recursos asignados para el dispositivo HID virtual.
HardwareIDsLength
HardwareIDs
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 10 |
servidor mínimo admitido | No se admite ninguna |
encabezado de | vhf.h |
Consulte también
Escribir un controlador de origen HID mediante virtual HID Framework (VHF)