共用方式為


VHF_CONFIG結構 (vhf.h)

包含 HID 來源驅動程式呼叫 VhfCreate 建立虛擬 HID 裝置時所提供的初始組態資訊。

語法

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;

成員

Size

必填。 由 VHF_CONFIG_INIT初始化的這個結構大小。

VhfClientContext

自選。 虛擬 HID 架構 (VHF) 在叫用這些回呼函式時所傳遞之 HID 來源驅動程式設定的記憶體不透明指標。

OperationContextSize

自選。 VHF 必須配置給由 EvtVhfAsyncOperation啟動之異步作的緩衝區大小。 如果不是零,VHF 會配置這個大小的緩衝區,並在每次叫用 EvtVhfAsyncOperation 時,將指標傳遞至該緩衝區 VhfOperationContext 參數,以啟動新的作業。

DeviceObject

內核模式驅動程式的必要專案。 HID 來源驅動程式 DEVICE_OBJECT 結構的指標。 呼叫 WdfDeviceWdmGetDeviceObject 並傳遞驅動程式 在 WdfDeviceCreate 呼叫中收到的 WDFDEVICE 句柄,以取得該指標。

FileHandle

使用者模式驅動程式的必要專案。 呼叫 WdfIoTargetWdmGetTargetFileHandle取得的檔案句柄。 若要開啟 WDFIOTARGET,使用者模式 (UMDF) VHF 來源驅動程式應該呼叫 WdfIoTargetOpen,且 openParams.Type 設定為 WdfIoTargetOpenLocalTargetByFile

VendorID

自選。 要建立之虛擬 HID 裝置的廠商標識碼。

ProductID

自選。 要建立之虛擬 HID 裝置的產品標識碼。

VersionNumber

自選。 要建立之虛擬 HID 裝置的版本號碼。

ContainerID

自選。 要建立之虛擬 HID 裝置的容器標識碼。

InstanceIDLength

InstanceID

ReportDescriptorLength

必填。 ReportDescriptor 所指向之緩衝區中包含的 HID 報表描述元長度,

ReportDescriptor

必填。 包含 HID 報表描述元之 HID 來源驅動程式配置的緩衝區指標。

EvtVhfReadyForNextReadReport

自選。 EvtVhfReadyForNextReadReport 回呼的指標。 如果 HID 來源驅動程式想要處理提交 HID 輸入報告的緩衝原則,則必須實作並註冊此回呼函式。 如果指定此回呼,VHF 不會緩衝這些報告。 每次 VH F 叫用 evtVhfReadyForNextReadReport時,HID 來源驅動程式應該呼叫 VhfReadReportSubmit來提交一份報告。

EvtVhfAsyncOperationGetFeature

自選。 EvtVhfAsyncOperation 回呼的指標。 如果 HID 來源驅動程式想要從 HID 類別驅動程式組取得與 Top-Level 集合相關聯的 HID 功能報表,則必須實作並註冊此回呼函式。 只有在報表描述項宣告時,驅動程式才能取得功能報表。

EvtVhfAsyncOperationSetFeature

自選。 EvtVhfAsyncOperation 回呼的指標。 如果 HID 來源驅動程式想要將與 Top-Level 集合相關聯的 HID 功能報告傳送至 HID 類別驅動程式組,則必須實作並註冊此回呼函式。 只有當報表描述項宣告時,驅動程式才能設定功能報表。

EvtVhfAsyncOperationWriteReport

自選。 EvtVhfAsyncOperation 回呼的指標。 如果 HID 來源驅動程式想要支援 HID 輸出報告,並將其傳送至 HID 類別驅動程式組,則必須實作並註冊此回呼函式。

EvtVhfAsyncOperationGetInputReport

自選。 EvtVhfAsyncOperation 回呼的指標。 如果 HID 來源驅動程式想要支援輸入報表的隨選查詢,則必須實作並註冊此回呼函式。

EvtVhfCleanup

自選。 EvtVhfCleanup 回呼的指標。 如果 HID 來源驅動程式想要釋放虛擬 HID 裝置的配置資源,則可以實作並註冊此回呼函式。

HardwareIDsLength

HardwareIDs

要求

要求 價值
最低支援的用戶端 Windows 10
支援的最低伺服器 不支援
標頭 vhf.h

另請參閱

使用虛擬 HID 架構 (VHF) 撰寫 HID 來源驅動程式