reactos/sdk/lib/drivers/wdf/umdf/fxlib/version/vffxdynamics.h
Victor Perevertkin 8a978a179f
[WDF] Add Windows Driver Framework files
Takern from Microsoft GitHub repo:
d9c6040fe9

Licensed under MIT
2020-11-03 00:06:26 +03:00

3911 lines
82 KiB
C

/*++
Module Name: VfFxDynamics.h
Abstract:
Generated header for WDF API Verifier hooks
Environment:
user mode only
Warning: manual changes to this file will be lost.
--*/
#ifndef _VFFXDYNAMICS_H_
#define _VFFXDYNAMICS_H_
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfCollectionCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES CollectionAttributes,
_Out_
WDFCOLLECTION* Collection
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG
VFWDFEXPORT(WdfCollectionGetCount)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfCollectionAdd)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection,
_In_
WDFOBJECT Object
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfCollectionRemove)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection,
_In_
WDFOBJECT Item
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfCollectionRemoveItem)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
VFWDFEXPORT(WdfCollectionGetItem)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
VFWDFEXPORT(WdfCollectionGetFirstItem)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
VFWDFEXPORT(WdfCollectionGetLastItem)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
PWDFCXDEVICE_INIT
VFWDFEXPORT(WdfCxDeviceInitAllocate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFCXDEVICE_INIT CxDeviceInit,
_In_
PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFCXDEVICE_INIT CxDeviceInit,
_In_
PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig,
_In_opt_
PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);
WDFAPI
VOID
VFWDFEXPORT(WdfCxVerifierKeBugCheck)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
WDFOBJECT Object,
_In_
ULONG BugCheckCode,
_In_
ULONG_PTR BugCheckParameter1,
_In_
ULONG_PTR BugCheckParameter2,
_In_
ULONG_PTR BugCheckParameter3,
_In_
ULONG_PTR BugCheckParameter4
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceGetDeviceState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_Out_
PWDF_DEVICE_STATE DeviceState
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceSetDeviceState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_STATE DeviceState
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceWdmDispatchIrp)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PIRP Irp,
_In_
WDFCONTEXT DispatchContext
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PIRP Irp,
_In_
WDFQUEUE Queue,
_In_
ULONG Flags
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDRIVER
VFWDFEXPORT(WdfDeviceGetDriver)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFIOTARGET
VFWDFEXPORT(WdfDeviceGetIoTarget)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceAssignS0IdleSettings)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceAssignSxWakeSettings)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceOpenRegistryKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
ULONG DeviceInstanceKeyType,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceOpenDevicemapKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PCUNICODE_STRING KeyName,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_PNPPOWER_EVENT_CALLBACKS PnpPowerEventCallbacks
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
BOOLEAN IsPowerPolicyOwner
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitSetIoType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
WDF_DEVICE_IO_TYPE IoType
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_FILEOBJECT_CONFIG FileObjectConfig,
_In_opt_
PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitSetRequestAttributes)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_Inout_
PWDFDEVICE_INIT* DeviceInit,
_In_opt_
PWDF_OBJECT_ATTRIBUTES DeviceAttributes,
_Out_
WDFDEVICE* Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceSetStaticStopRemove)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
BOOLEAN Stoppable
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceCreateDeviceInterface)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
CONST GUID* InterfaceClassGUID,
_In_opt_
PCUNICODE_STRING ReferenceString
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
CONST GUID* InterfaceClassGUID,
_In_opt_
PCUNICODE_STRING ReferenceString,
_In_
BOOLEAN IsInterfaceEnabled
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
CONST GUID* InterfaceClassGUID,
_In_opt_
PCUNICODE_STRING ReferenceString,
_In_
WDFSTRING String
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceCreateSymbolicLink)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PCUNICODE_STRING SymbolicLinkName
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceQueryProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
ULONG BufferLength,
_Out_writes_bytes_all_(BufferLength)
PVOID PropertyBuffer,
_Out_
PULONG ResultLength
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceAllocAndQueryProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceSetPnpCapabilities)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_PNP_CAPABILITIES PnpCapabilities
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceSetPowerCapabilities)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceSetFailed)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
WDF_DEVICE_FAILED_ACTION FailedAction
);
_Must_inspect_result_
_When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL))
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceStopIdleNoTrack)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
BOOLEAN WaitForD0
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceResumeIdleNoTrack)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL))
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceStopIdleActual)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
BOOLEAN WaitForD0,
_In_opt_
PVOID Tag,
_In_
LONG Line,
_In_z_
PCHAR File
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceResumeIdleActual)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_opt_
PVOID Tag,
_In_
LONG Line,
_In_z_
PCHAR File
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFFILEOBJECT
VFWDFEXPORT(WdfDeviceGetFileObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PFILE_OBJECT FileObject
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFQUEUE
VFWDFEXPORT(WdfDeviceGetDefaultQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceConfigureRequestDispatching)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
WDFQUEUE Queue,
_In_
_Strict_type_match_
WDF_REQUEST_TYPE RequestType
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_opt_
WDFDRIVER Driver,
_In_
UCHAR MajorFunction,
_In_
PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDisptach,
_In_opt_
WDFCONTEXT DriverContext
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
POWER_ACTION
VFWDFEXPORT(WdfDeviceGetSystemPowerAction)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitSetIoTypeEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_IO_TYPE_CONFIG IoTypeConfig
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDevicePostEvent)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
REFGUID EventGuid,
_In_
WDF_EVENT_TYPE WdfEventType,
_In_reads_bytes_(DataSizeCb)
BYTE* Data,
_In_
ULONG DataSizeCb
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceMapIoSpace)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PHYSICAL_ADDRESS PhysicalAddress,
_In_
SIZE_T NumberOfBytes,
_In_
MEMORY_CACHING_TYPE CacheType,
_Out_
PVOID* PseudoBaseAddress
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceUnmapIoSpace)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PVOID PseudoBaseAddress,
_In_
SIZE_T NumberOfBytes
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
PVOID
VFWDFEXPORT(WdfDeviceGetHardwareRegisterMappedAddress)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PVOID PseudoBaseAddress
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
SIZE_T
VFWDFEXPORT(WdfDeviceReadFromHardware)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
WDF_DEVICE_HWACCESS_TARGET_TYPE Type,
_In_
WDF_DEVICE_HWACCESS_TARGET_SIZE Size,
_In_
PVOID TargetAddress,
_Out_writes_all_opt_(Count)
PVOID Buffer,
_In_opt_
ULONG Count
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceWriteToHardware)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
WDF_DEVICE_HWACCESS_TARGET_TYPE Type,
_In_
WDF_DEVICE_HWACCESS_TARGET_SIZE Size,
_In_
PVOID TargetAddress,
_In_
SIZE_T Value,
_In_reads_opt_(Count)
PVOID Buffer,
_In_opt_
ULONG Count
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceAssignInterfaceProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
_In_
DEVPROPTYPE Type,
_In_
ULONG BufferLength,
_In_reads_bytes_opt_(BufferLength)
PVOID PropertyBuffer
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceAllocAndQueryInterfaceProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
_In_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory,
_Out_
PDEVPROPTYPE Type
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceQueryInterfaceProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
_In_
ULONG BufferLength,
_Out_writes_bytes_opt_(BufferLength)
PVOID PropertyBuffer,
_Out_
PULONG ResultLength,
_Out_
PDEVPROPTYPE Type
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceGetDeviceStackIoType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_Out_
WDF_DEVICE_IO_TYPE* ReadWriteIoType,
_Out_
WDF_DEVICE_IO_TYPE* IoControlIoType
);
_Must_inspect_result_
_IRQL_requires_max_(APC_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceQueryPropertyEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
ULONG BufferLength,
_Out_
PVOID PropertyBuffer,
_Out_
PULONG RequiredSize,
_Out_
PDEVPROPTYPE Type
);
_Must_inspect_result_
_IRQL_requires_max_(APC_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory,
_Out_
PDEVPROPTYPE Type
);
_Must_inspect_result_
_IRQL_requires_max_(APC_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceAssignProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
DEVPROPTYPE Type,
_In_
ULONG Size,
_In_opt_
PVOID Data
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFIOTARGET
VFWDFEXPORT(WdfDeviceGetSelfIoTarget)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDriverCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PDRIVER_OBJECT DriverObject,
_In_
PCUNICODE_STRING RegistryPath,
_In_opt_
PWDF_OBJECT_ATTRIBUTES DriverAttributes,
_In_
PWDF_DRIVER_CONFIG DriverConfig,
_Out_opt_
WDFDRIVER* Driver
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
PWSTR
VFWDFEXPORT(WdfDriverGetRegistryPath)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDriverOpenParametersRegistryKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDriverRetrieveVersionString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver,
_In_
WDFSTRING String
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfDriverIsVersionAvailable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver,
_In_
PWDF_DRIVER_VERSION_AVAILABLE_PARAMS VersionAvailableParams
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfFdoInitOpenRegistryKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
ULONG DeviceInstanceKeyType,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfFdoInitQueryProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
ULONG BufferLength,
_Out_writes_bytes_all_opt_(BufferLength)
PVOID PropertyBuffer,
_Out_
PULONG ResultLength
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfFdoInitQueryPropertyEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
ULONG BufferLength,
_Out_
PVOID PropertyBuffer,
_Out_
PULONG ResultLength,
_Out_
PDEVPROPTYPE Type
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory,
_Out_
PDEVPROPTYPE Type
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfFdoInitSetFilter)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
PUNICODE_STRING
VFWDFEXPORT(WdfFileObjectGetFileName)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFFILEOBJECT FileObject
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
VFWDFEXPORT(WdfFileObjectGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFFILEOBJECT FileObject
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
ULONG
VFWDFEXPORT(WdfFileObjectGetInitiatorProcessId)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFFILEOBJECT FileObject
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
WDFFILEOBJECT
VFWDFEXPORT(WdfFileObjectGetRelatedFileObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFFILEOBJECT FileObject
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfDeviceInitEnableHidInterface)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfDeviceHidNotifyPresence)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
BOOLEAN IsPresent
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfInterruptCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_INTERRUPT_CONFIG Configuration,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFINTERRUPT* Interrupt
);
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfInterruptQueueDpcForIsr)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfInterruptQueueWorkItemForIsr)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfInterruptSynchronize)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt,
_In_
PFN_WDF_INTERRUPT_SYNCHRONIZE Callback,
_In_
WDFCONTEXT Context
);
_IRQL_requires_max_(DISPATCH_LEVEL + 1)
WDFAPI
VOID
VFWDFEXPORT(WdfInterruptAcquireLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
_Acquires_lock_(_Curr_)
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(DISPATCH_LEVEL + 1)
WDFAPI
VOID
VFWDFEXPORT(WdfInterruptReleaseLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_held_(_Curr_)
_Releases_lock_(_Curr_)
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfInterruptEnable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfInterruptDisable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfInterruptGetInfo)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt,
_Out_
PWDF_INTERRUPT_INFO Info
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfInterruptSetPolicy)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt,
_In_
WDF_INTERRUPT_POLICY Policy,
_In_
WDF_INTERRUPT_PRIORITY Priority,
_In_
KAFFINITY TargetProcessorSet
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfInterruptSetExtendedPolicy)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt,
_In_
PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);
WDFAPI
WDFDEVICE
VFWDFEXPORT(WdfInterruptGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_Must_inspect_result_
_Post_satisfies_(return == 1 || return == 0)
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfInterruptTryToAcquireLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
_When_(return!=0, _Acquires_lock_(_Curr_))
WDFINTERRUPT Interrupt
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoQueueCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_IO_QUEUE_CONFIG Config,
_In_opt_
PWDF_OBJECT_ATTRIBUTES QueueAttributes,
_Out_opt_
WDFQUEUE* Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDF_IO_QUEUE_STATE
VFWDFEXPORT(WdfIoQueueGetState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_Out_opt_
PULONG QueueRequests,
_Out_opt_
PULONG DriverRequests
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoQueueStart)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoQueueStop)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_When_(Context != 0, _In_)
_When_(Context == 0, _In_opt_)
PFN_WDF_IO_QUEUE_STATE StopComplete,
_When_(StopComplete != 0, _In_)
_When_(StopComplete == 0, _In_opt_)
WDFCONTEXT Context
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoQueueStopSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
VFWDFEXPORT(WdfIoQueueGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoQueueRetrieveNextRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_Out_
WDFREQUEST* OutRequest
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_In_
WDFFILEOBJECT FileObject,
_Out_
WDFREQUEST* OutRequest
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoQueueFindRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_In_opt_
WDFREQUEST FoundRequest,
_In_opt_
WDFFILEOBJECT FileObject,
_Inout_opt_
PWDF_REQUEST_PARAMETERS Parameters,
_Out_
WDFREQUEST* OutRequest
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_In_
WDFREQUEST FoundRequest,
_Out_
WDFREQUEST* OutRequest
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoQueueDrainSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoQueueDrain)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_When_(Context != 0, _In_)
_When_(Context == 0, _In_opt_)
PFN_WDF_IO_QUEUE_STATE DrainComplete,
_When_(DrainComplete != 0, _In_)
_When_(DrainComplete == 0, _In_opt_)
WDFCONTEXT Context
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoQueuePurgeSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoQueuePurge)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_When_(Context != 0, _In_)
_When_(Context == 0, _In_opt_)
PFN_WDF_IO_QUEUE_STATE PurgeComplete,
_When_(PurgeComplete != 0, _In_)
_When_(PurgeComplete == 0, _In_opt_)
WDFCONTEXT Context
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoQueueReadyNotify)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_In_opt_
PFN_WDF_IO_QUEUE_STATE QueueReady,
_In_opt_
WDFCONTEXT Context
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoQueueStopAndPurge)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_When_(Context != 0, _In_)
_When_(Context == 0, _In_opt_)
PFN_WDF_IO_QUEUE_STATE StopAndPurgeComplete,
_When_(StopAndPurgeComplete != 0, _In_)
_When_(StopAndPurgeComplete == 0, _In_opt_)
WDFCONTEXT Context
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_opt_
PWDF_OBJECT_ATTRIBUTES IoTargetAttributes,
_Out_
WDFIOTARGET* IoTarget
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetOpen)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
PWDF_IO_TARGET_OPEN_PARAMS OpenParams
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoTargetCloseForQueryRemove)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfIoTargetClose)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetStart)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_When_(Action == 3, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(Action == 0 || Action == 1 || Action == 2, _IRQL_requires_max_(PASSIVE_LEVEL))
WDFAPI
VOID
VFWDFEXPORT(WdfIoTargetStop)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
_Strict_type_match_
WDF_IO_TARGET_SENT_IO_ACTION Action
);
_When_(Action == 2, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(Action == 0 || Action == 1, _IRQL_requires_max_(PASSIVE_LEVEL))
WDFAPI
VOID
VFWDFEXPORT(WdfIoTargetPurge)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
_Strict_type_match_
WDF_IO_TARGET_PURGE_IO_ACTION Action
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDF_IO_TARGET_STATE
VFWDFEXPORT(WdfIoTargetGetState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
VFWDFEXPORT(WdfIoTargetGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
HANDLE
VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetSendReadSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_MEMORY_DESCRIPTOR OutputBuffer,
_In_opt_
PLONGLONG DeviceOffset,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_opt_
PULONG_PTR BytesRead
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetFormatRequestForRead)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFREQUEST Request,
_In_opt_
WDFMEMORY OutputBuffer,
_In_opt_
PWDFMEMORY_OFFSET OutputBufferOffset,
_In_opt_
PLONGLONG DeviceOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetSendWriteSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_MEMORY_DESCRIPTOR InputBuffer,
_In_opt_
PLONGLONG DeviceOffset,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_opt_
PULONG_PTR BytesWritten
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetFormatRequestForWrite)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFREQUEST Request,
_In_opt_
WDFMEMORY InputBuffer,
_In_opt_
PWDFMEMORY_OFFSET InputBufferOffset,
_In_opt_
PLONGLONG DeviceOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_opt_
WDFREQUEST Request,
_In_
ULONG IoctlCode,
_In_opt_
PWDF_MEMORY_DESCRIPTOR InputBuffer,
_In_opt_
PWDF_MEMORY_DESCRIPTOR OutputBuffer,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_opt_
PULONG_PTR BytesReturned
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFREQUEST Request,
_In_
ULONG IoctlCode,
_In_opt_
WDFMEMORY InputBuffer,
_In_opt_
PWDFMEMORY_OFFSET InputBufferOffset,
_In_opt_
WDFMEMORY OutputBuffer,
_In_opt_
PWDFMEMORY_OFFSET OutputBufferOffset
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFQUEUE Queue
);
_Must_inspect_result_
_When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL))
_When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL))
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfMemoryCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
ULONG PoolTag,
_In_
_When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
size_t BufferSize,
_Out_
WDFMEMORY* Memory,
_Outptr_opt_result_bytebuffer_(BufferSize)
PVOID* Buffer
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfMemoryCreatePreallocated)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_In_ __drv_aliasesMem
PVOID Buffer,
_In_
_When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
size_t BufferSize,
_Out_
WDFMEMORY* Memory
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PVOID
VFWDFEXPORT(WdfMemoryGetBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFMEMORY Memory,
_Out_opt_
size_t* BufferSize
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfMemoryAssignBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFMEMORY Memory,
_Pre_notnull_ _Pre_writable_byte_size_(BufferSize)
PVOID Buffer,
_In_
_When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
size_t BufferSize
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfMemoryCopyToBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFMEMORY SourceMemory,
_In_
size_t SourceOffset,
_Out_writes_bytes_( NumBytesToCopyTo )
PVOID Buffer,
_In_
_When_(NumBytesToCopyTo == 0, __drv_reportError(NumBytesToCopyTo cannot be zero))
size_t NumBytesToCopyTo
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfMemoryCopyFromBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFMEMORY DestinationMemory,
_In_
size_t DestinationOffset,
_In_
PVOID Buffer,
_In_
_When_(NumBytesToCopyFrom == 0, __drv_reportError(NumBytesToCopyFrom cannot be zero))
size_t NumBytesToCopyFrom
);
WDFAPI
PVOID
FASTCALL
VFWDFEXPORT(WdfObjectGetTypedContextWorker)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Handle,
_In_
PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo
);
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfObjectAllocateContext)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Handle,
_In_
PWDF_OBJECT_ATTRIBUTES ContextAttributes,
_Outptr_opt_
PVOID* Context
);
WDFAPI
WDFOBJECT
FASTCALL
VFWDFEXPORT(WdfObjectContextGetObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PVOID ContextPointer
);
WDFAPI
VOID
VFWDFEXPORT(WdfObjectReferenceActual)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Handle,
_In_opt_
PVOID Tag,
_In_
LONG Line,
_In_z_
PCHAR File
);
WDFAPI
VOID
VFWDFEXPORT(WdfObjectDereferenceActual)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Handle,
_In_opt_
PVOID Tag,
_In_
LONG Line,
_In_z_
PCHAR File
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfObjectCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFOBJECT* Object
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfObjectDelete)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Object
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfObjectQuery)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Object,
_In_
CONST GUID* Guid,
_In_
ULONG QueryBufferLength,
_Out_writes_bytes_(QueryBufferLength)
PVOID QueryBuffer
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryOpenKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
WDFKEY ParentKey,
_In_
PCUNICODE_STRING KeyName,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryCreateKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
WDFKEY ParentKey,
_In_
PCUNICODE_STRING KeyName,
_In_
ACCESS_MASK DesiredAccess,
_In_
ULONG CreateOptions,
_Out_opt_
PULONG CreateDisposition,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRegistryClose)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
HANDLE
VFWDFEXPORT(WdfRegistryWdmGetHandle)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryRemoveKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryRemoveValue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryQueryValue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
ULONG ValueLength,
_Out_writes_bytes_opt_( ValueLength)
PVOID Value,
_Out_opt_
PULONG ValueLengthQueried,
_Out_opt_
PULONG ValueType
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryQueryMemory)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES MemoryAttributes,
_Out_
WDFMEMORY* Memory,
_Out_opt_
PULONG ValueType
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryQueryMultiString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_opt_
PWDF_OBJECT_ATTRIBUTES StringsAttributes,
_In_
WDFCOLLECTION Collection
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryQueryUnicodeString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_Out_opt_
PUSHORT ValueByteLength,
_Inout_opt_
PUNICODE_STRING Value
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryQueryString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
WDFSTRING String
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryQueryULong)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_Out_
PULONG Value
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryAssignValue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
ULONG ValueType,
_In_
ULONG ValueLength,
_In_reads_( ValueLength)
PVOID Value
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryAssignMemory)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
ULONG ValueType,
_In_
WDFMEMORY Memory,
_In_opt_
PWDFMEMORY_OFFSET MemoryOffsets
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryAssignMultiString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
WDFCOLLECTION StringsCollection
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryAssignUnicodeString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
PCUNICODE_STRING Value
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryAssignString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
WDFSTRING String
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRegistryAssignULong)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
ULONG Value
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES RequestAttributes,
_In_opt_
WDFIOTARGET IoTarget,
_Out_
WDFREQUEST* Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestReuse)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
PWDF_REQUEST_REUSE_PARAMS ReuseParams
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestChangeTarget)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
_When_(Options->Flags & WDF_REQUEST_SEND_OPTION_SYNCHRONOUS == 0, _Must_inspect_result_)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfRequestSend)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
WDFIOTARGET Target,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS Options
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestGetStatus)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestMarkCancelable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
PFN_WDF_REQUEST_CANCEL EvtRequestCancel
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestMarkCancelableEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
PFN_WDF_REQUEST_CANCEL EvtRequestCancel
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestUnmarkCancelable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfRequestIsCanceled)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfRequestCancelSentRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(APC_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfRequestIsFrom32BitProcess)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestSetCompletionRoutine)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_opt_
PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine,
_In_opt_ __drv_aliasesMem
WDFCONTEXT CompletionContext
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestGetCompletionParams)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Out_
PWDF_REQUEST_COMPLETION_PARAMS Params
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestAllocateTimer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestComplete)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
NTSTATUS Status
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestCompleteWithInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
NTSTATUS Status,
_In_
ULONG_PTR Information
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestGetParameters)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Out_
PWDF_REQUEST_PARAMETERS Parameters
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestRetrieveInputMemory)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Out_
WDFMEMORY* Memory
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestRetrieveOutputMemory)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Out_
WDFMEMORY* Memory
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestRetrieveInputBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
size_t MinimumRequiredLength,
_Outptr_result_bytebuffer_(*Length)
PVOID* Buffer,
_Out_opt_
size_t* Length
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestRetrieveOutputBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
size_t MinimumRequiredSize,
_Outptr_result_bytebuffer_(*Length)
PVOID* Buffer,
_Out_opt_
size_t* Length
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestSetInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
ULONG_PTR Information
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG_PTR
VFWDFEXPORT(WdfRequestGetInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFFILEOBJECT
VFWDFEXPORT(WdfRequestGetFileObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
KPROCESSOR_MODE
VFWDFEXPORT(WdfRequestGetRequestorMode)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestForwardToIoQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
WDFQUEUE DestinationQueue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFQUEUE
VFWDFEXPORT(WdfRequestGetIoQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestRequeue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestStopAcknowledge)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
BOOLEAN Requeue
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestImpersonate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
_In_
PFN_WDF_REQUEST_IMPERSONATE EvtRequestImpersonate,
_In_opt_
PVOID Context
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
ULONG
VFWDFEXPORT(WdfRequestGetRequestorProcessId)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfRequestIsFromUserModeDriver)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestSetUserModeDriverInitiatedIo)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
BOOLEAN IsUserModeDriverInitiated
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfRequestGetUserModeDriverInitiatedIo)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfRequestSetActivityId)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
LPGUID ActivityId
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfRequestRetrieveActivityId)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Out_
LPGUID ActivityId
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
WDF_DEVICE_IO_TYPE
VFWDFEXPORT(WdfRequestGetEffectiveIoType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG
VFWDFEXPORT(WdfCmResourceListGetCount)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCMRESLIST List
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PCM_PARTIAL_RESOURCE_DESCRIPTOR
VFWDFEXPORT(WdfCmResourceListGetDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCMRESLIST List,
_In_
ULONG Index
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfStringCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PCUNICODE_STRING UnicodeString,
_In_opt_
PWDF_OBJECT_ATTRIBUTES StringAttributes,
_Out_
WDFSTRING* String
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfStringGetUnicodeString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFSTRING String,
_Out_
PUNICODE_STRING UnicodeString
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfObjectAcquireLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
_Acquires_lock_(_Curr_)
WDFOBJECT Object
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfObjectReleaseLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_held_(_Curr_)
_Releases_lock_(_Curr_)
WDFOBJECT Object
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfWaitLockCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES LockAttributes,
_Out_
WDFWAITLOCK* Lock
);
_When_(Timeout == NULL, _IRQL_requires_max_(PASSIVE_LEVEL))
_When_(Timeout != NULL && *Timeout == 0, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(Timeout != NULL && *Timeout != 0, _IRQL_requires_max_(PASSIVE_LEVEL))
_Always_(_When_(Timeout == NULL, _Acquires_lock_(Lock)))
_When_(Timeout != NULL && return == STATUS_SUCCESS, _Acquires_lock_(Lock))
_When_(Timeout != NULL, _Must_inspect_result_)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfWaitLockAcquire)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
WDFWAITLOCK Lock,
_In_opt_
PLONGLONG Timeout
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfWaitLockRelease)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_held_(_Curr_)
_Releases_lock_(_Curr_)
WDFWAITLOCK Lock
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfSpinLockCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES SpinLockAttributes,
_Out_
WDFSPINLOCK* SpinLock
);
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_raises_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfSpinLockAcquire)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
_Acquires_lock_(_Curr_)
_IRQL_saves_
WDFSPINLOCK SpinLock
);
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_min_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfSpinLockRelease)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_held_(_Curr_)
_Releases_lock_(_Curr_)
_IRQL_restores_
WDFSPINLOCK SpinLock
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfTimerCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDF_TIMER_CONFIG Config,
_In_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFTIMER* Timer
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfTimerStart)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFTIMER Timer,
_In_
LONGLONG DueTime
);
_When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL))
_When_(Wait == __false, _IRQL_requires_max_(DISPATCH_LEVEL))
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfTimerStop)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFTIMER Timer,
_In_
BOOLEAN Wait
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
VFWDFEXPORT(WdfTimerGetParentObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFTIMER Timer
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFUSBDEVICE* UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceCreateWithParameters)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_USB_DEVICE_CREATE_CONFIG Config,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFUSBDEVICE* UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceRetrieveInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_Out_
PWDF_USB_DEVICE_INFORMATION Information
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_Out_
PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_Out_writes_bytes_to_opt_(*ConfigDescriptorLength,*ConfigDescriptorLength)
PVOID ConfigDescriptor,
_Inout_
PUSHORT ConfigDescriptorLength
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceQueryString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_writes_opt_(*NumCharacters)
PUSHORT String,
_Inout_
PUSHORT NumCharacters,
_In_
UCHAR StringIndex,
_In_opt_
USHORT LangID
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
PWDF_OBJECT_ATTRIBUTES StringMemoryAttributes,
_Out_
WDFMEMORY* StringMemory,
_Out_opt_
PUSHORT NumCharacters,
_In_
UCHAR StringIndex,
_In_opt_
USHORT LangID
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
WDFREQUEST Request,
_In_
WDFMEMORY Memory,
_In_opt_
PWDFMEMORY_OFFSET Offset,
_In_
UCHAR StringIndex,
_In_opt_
USHORT LangID
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
UCHAR
VFWDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceSelectConfig)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PipeAttributes,
_Inout_
PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_In_
PWDF_USB_CONTROL_SETUP_PACKET SetupPacket,
_In_opt_
PWDF_MEMORY_DESCRIPTOR MemoryDescriptor,
_Out_opt_
PULONG BytesTransferred
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
WDFREQUEST Request,
_In_
PWDF_USB_CONTROL_SETUP_PACKET SetupPacket,
_In_opt_
WDFMEMORY TransferMemory,
_In_opt_
PWDFMEMORY_OFFSET TransferOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
CONST GUID* CapabilityType,
_In_
ULONG CapabilityBufferLength,
_When_(CapabilityBufferLength == 0, _Out_opt_)
_When_(CapabilityBufferLength != 0 && ResultLength == NULL, _Out_writes_bytes_(CapabilityBufferLength))
_When_(CapabilityBufferLength != 0 && ResultLength != NULL, _Out_writes_bytes_to_opt_(CapabilityBufferLength, *ResultLength))
PVOID CapabilityBuffer,
_Out_opt_
_When_(ResultLength != NULL,_Deref_out_range_(<=,CapabilityBufferLength))
PULONG ResultLength
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfUsbTargetPipeGetInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_Out_
PWDF_USB_PIPE_INFORMATION PipeInformation
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfUsbTargetPipeIsInEndpoint)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
VFWDFEXPORT(WdfUsbTargetPipeIsOutEndpoint)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDF_USB_PIPE_TYPE
VFWDFEXPORT(WdfUsbTargetPipeGetType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetPipeWriteSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_In_opt_
PWDF_MEMORY_DESCRIPTOR MemoryDescriptor,
_Out_opt_
PULONG BytesWritten
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
WDFREQUEST Request,
_In_opt_
WDFMEMORY WriteMemory,
_In_opt_
PWDFMEMORY_OFFSET WriteOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetPipeReadSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_In_opt_
PWDF_MEMORY_DESCRIPTOR MemoryDescriptor,
_Out_opt_
PULONG BytesRead
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForRead)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
WDFREQUEST Request,
_In_opt_
WDFMEMORY ReadMemory,
_In_opt_
PWDFMEMORY_OFFSET ReadOffset
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetPipeConfigContinuousReader)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
PWDF_USB_CONTINUOUS_READER_CONFIG Config
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetPipeAbortSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetPipeResetSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForReset)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
VFWDFEXPORT(WdfUsbInterfaceGetInterfaceNumber)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
VFWDFEXPORT(WdfUsbInterfaceGetNumEndpoints)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_
UCHAR SettingIndex
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfUsbInterfaceGetDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_
UCHAR SettingIndex,
_Out_
PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
VFWDFEXPORT(WdfUsbInterfaceGetNumSettings)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfUsbInterfaceSelectSetting)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PipesAttributes,
_In_
PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfUsbInterfaceGetEndpointInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_
UCHAR SettingIndex,
_In_
UCHAR EndpointIndex,
_Out_
PWDF_USB_PIPE_INFORMATION EndpointInfo
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFUSBINTERFACE
VFWDFEXPORT(WdfUsbTargetDeviceGetInterface)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
UCHAR InterfaceIndex
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
VFWDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE Interface
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
VFWDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFUSBPIPE
VFWDFEXPORT(WdfUsbInterfaceGetConfiguredPipe)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_
UCHAR PipeIndex,
_Out_opt_
PWDF_USB_PIPE_INFORMATION PipeInfo
);
WDFAPI
VOID
VFWDFEXPORT(WdfVerifierDbgBreakPoint)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals
);
WDFAPI
VOID
VFWDFEXPORT(WdfVerifierKeBugCheck)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
ULONG BugCheckCode,
_In_
ULONG_PTR BugCheckParameter1,
_In_
ULONG_PTR BugCheckParameter2,
_In_
ULONG_PTR BugCheckParameter3,
_In_
ULONG_PTR BugCheckParameter4
);
WDFAPI
PVOID
VFWDFEXPORT(WdfGetTriageInfo)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
VFWDFEXPORT(WdfWorkItemCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDF_WORKITEM_CONFIG Config,
_In_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFWORKITEM* WorkItem
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfWorkItemEnqueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWORKITEM WorkItem
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
VFWDFEXPORT(WdfWorkItemGetParentObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWORKITEM WorkItem
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
VFWDFEXPORT(WdfWorkItemFlush)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWORKITEM WorkItem
);
#ifdef VF_FX_DYNAMICS_GENERATE_TABLE
WDFVERSION VfWdfVersion = {
sizeof(WDFVERSION),
sizeof(WDFFUNCTIONS)/sizeof(PVOID),
{
VFWDFEXPORT(WdfCollectionCreate),
VFWDFEXPORT(WdfCollectionGetCount),
VFWDFEXPORT(WdfCollectionAdd),
VFWDFEXPORT(WdfCollectionRemove),
VFWDFEXPORT(WdfCollectionRemoveItem),
VFWDFEXPORT(WdfCollectionGetItem),
VFWDFEXPORT(WdfCollectionGetFirstItem),
VFWDFEXPORT(WdfCollectionGetLastItem),
VFWDFEXPORT(WdfCxDeviceInitAllocate),
VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes),
VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig),
VFWDFEXPORT(WdfCxVerifierKeBugCheck),
VFWDFEXPORT(WdfDeviceGetDeviceState),
VFWDFEXPORT(WdfDeviceSetDeviceState),
VFWDFEXPORT(WdfDeviceGetDriver),
VFWDFEXPORT(WdfDeviceGetIoTarget),
VFWDFEXPORT(WdfDeviceAssignS0IdleSettings),
VFWDFEXPORT(WdfDeviceAssignSxWakeSettings),
VFWDFEXPORT(WdfDeviceOpenRegistryKey),
VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks),
VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks),
VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership),
VFWDFEXPORT(WdfDeviceInitSetIoType),
VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig),
VFWDFEXPORT(WdfDeviceInitSetRequestAttributes),
VFWDFEXPORT(WdfDeviceCreate),
VFWDFEXPORT(WdfDeviceSetStaticStopRemove),
VFWDFEXPORT(WdfDeviceCreateDeviceInterface),
VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState),
VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString),
VFWDFEXPORT(WdfDeviceCreateSymbolicLink),
VFWDFEXPORT(WdfDeviceQueryProperty),
VFWDFEXPORT(WdfDeviceAllocAndQueryProperty),
VFWDFEXPORT(WdfDeviceSetPnpCapabilities),
VFWDFEXPORT(WdfDeviceSetPowerCapabilities),
VFWDFEXPORT(WdfDeviceSetFailed),
VFWDFEXPORT(WdfDeviceStopIdleNoTrack),
VFWDFEXPORT(WdfDeviceResumeIdleNoTrack),
VFWDFEXPORT(WdfDeviceGetFileObject),
VFWDFEXPORT(WdfDeviceGetDefaultQueue),
VFWDFEXPORT(WdfDeviceConfigureRequestDispatching),
VFWDFEXPORT(WdfDeviceGetSystemPowerAction),
VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure),
VFWDFEXPORT(WdfDeviceInitSetIoTypeEx),
VFWDFEXPORT(WdfDevicePostEvent),
VFWDFEXPORT(WdfDeviceMapIoSpace),
VFWDFEXPORT(WdfDeviceUnmapIoSpace),
VFWDFEXPORT(WdfDeviceGetHardwareRegisterMappedAddress),
VFWDFEXPORT(WdfDeviceReadFromHardware),
VFWDFEXPORT(WdfDeviceWriteToHardware),
VFWDFEXPORT(WdfDeviceAssignInterfaceProperty),
VFWDFEXPORT(WdfDeviceAllocAndQueryInterfaceProperty),
VFWDFEXPORT(WdfDeviceQueryInterfaceProperty),
VFWDFEXPORT(WdfDeviceGetDeviceStackIoType),
VFWDFEXPORT(WdfDeviceQueryPropertyEx),
VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx),
VFWDFEXPORT(WdfDeviceAssignProperty),
VFWDFEXPORT(WdfDriverCreate),
VFWDFEXPORT(WdfDriverGetRegistryPath),
VFWDFEXPORT(WdfDriverOpenParametersRegistryKey),
VFWDFEXPORT(WdfDriverRetrieveVersionString),
VFWDFEXPORT(WdfDriverIsVersionAvailable),
VFWDFEXPORT(WdfFdoInitOpenRegistryKey),
VFWDFEXPORT(WdfFdoInitQueryProperty),
VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty),
VFWDFEXPORT(WdfFdoInitQueryPropertyEx),
VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx),
VFWDFEXPORT(WdfFdoInitSetFilter),
VFWDFEXPORT(WdfFileObjectGetFileName),
VFWDFEXPORT(WdfFileObjectGetDevice),
VFWDFEXPORT(WdfFileObjectGetInitiatorProcessId),
VFWDFEXPORT(WdfFileObjectGetRelatedFileObject),
VFWDFEXPORT(WdfInterruptCreate),
VFWDFEXPORT(WdfInterruptQueueDpcForIsr),
VFWDFEXPORT(WdfInterruptQueueWorkItemForIsr),
VFWDFEXPORT(WdfInterruptSynchronize),
VFWDFEXPORT(WdfInterruptAcquireLock),
VFWDFEXPORT(WdfInterruptReleaseLock),
VFWDFEXPORT(WdfInterruptEnable),
VFWDFEXPORT(WdfInterruptDisable),
VFWDFEXPORT(WdfInterruptGetInfo),
VFWDFEXPORT(WdfInterruptSetPolicy),
VFWDFEXPORT(WdfInterruptSetExtendedPolicy),
VFWDFEXPORT(WdfInterruptGetDevice),
VFWDFEXPORT(WdfInterruptTryToAcquireLock),
VFWDFEXPORT(WdfIoQueueCreate),
VFWDFEXPORT(WdfIoQueueGetState),
VFWDFEXPORT(WdfIoQueueStart),
VFWDFEXPORT(WdfIoQueueStop),
VFWDFEXPORT(WdfIoQueueStopSynchronously),
VFWDFEXPORT(WdfIoQueueGetDevice),
VFWDFEXPORT(WdfIoQueueRetrieveNextRequest),
VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject),
VFWDFEXPORT(WdfIoQueueFindRequest),
VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest),
VFWDFEXPORT(WdfIoQueueDrainSynchronously),
VFWDFEXPORT(WdfIoQueueDrain),
VFWDFEXPORT(WdfIoQueuePurgeSynchronously),
VFWDFEXPORT(WdfIoQueuePurge),
VFWDFEXPORT(WdfIoQueueReadyNotify),
VFWDFEXPORT(WdfIoQueueStopAndPurge),
VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously),
VFWDFEXPORT(WdfIoTargetCreate),
VFWDFEXPORT(WdfIoTargetOpen),
VFWDFEXPORT(WdfIoTargetCloseForQueryRemove),
VFWDFEXPORT(WdfIoTargetClose),
VFWDFEXPORT(WdfIoTargetStart),
VFWDFEXPORT(WdfIoTargetStop),
VFWDFEXPORT(WdfIoTargetPurge),
VFWDFEXPORT(WdfIoTargetGetState),
VFWDFEXPORT(WdfIoTargetGetDevice),
VFWDFEXPORT(WdfIoTargetSendReadSynchronously),
VFWDFEXPORT(WdfIoTargetFormatRequestForRead),
VFWDFEXPORT(WdfIoTargetSendWriteSynchronously),
VFWDFEXPORT(WdfIoTargetFormatRequestForWrite),
VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously),
VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl),
VFWDFEXPORT(WdfMemoryCreate),
VFWDFEXPORT(WdfMemoryCreatePreallocated),
VFWDFEXPORT(WdfMemoryGetBuffer),
VFWDFEXPORT(WdfMemoryAssignBuffer),
VFWDFEXPORT(WdfMemoryCopyToBuffer),
VFWDFEXPORT(WdfMemoryCopyFromBuffer),
VFWDFEXPORT(WdfObjectGetTypedContextWorker),
VFWDFEXPORT(WdfObjectAllocateContext),
VFWDFEXPORT(WdfObjectContextGetObject),
VFWDFEXPORT(WdfObjectReferenceActual),
VFWDFEXPORT(WdfObjectDereferenceActual),
VFWDFEXPORT(WdfObjectCreate),
VFWDFEXPORT(WdfObjectDelete),
VFWDFEXPORT(WdfObjectQuery),
VFWDFEXPORT(WdfRegistryOpenKey),
VFWDFEXPORT(WdfRegistryCreateKey),
VFWDFEXPORT(WdfRegistryClose),
VFWDFEXPORT(WdfRegistryRemoveKey),
VFWDFEXPORT(WdfRegistryRemoveValue),
VFWDFEXPORT(WdfRegistryQueryValue),
VFWDFEXPORT(WdfRegistryQueryMemory),
VFWDFEXPORT(WdfRegistryQueryMultiString),
VFWDFEXPORT(WdfRegistryQueryUnicodeString),
VFWDFEXPORT(WdfRegistryQueryString),
VFWDFEXPORT(WdfRegistryQueryULong),
VFWDFEXPORT(WdfRegistryAssignValue),
VFWDFEXPORT(WdfRegistryAssignMemory),
VFWDFEXPORT(WdfRegistryAssignMultiString),
VFWDFEXPORT(WdfRegistryAssignUnicodeString),
VFWDFEXPORT(WdfRegistryAssignString),
VFWDFEXPORT(WdfRegistryAssignULong),
VFWDFEXPORT(WdfRequestCreate),
VFWDFEXPORT(WdfRequestReuse),
VFWDFEXPORT(WdfRequestChangeTarget),
VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType),
VFWDFEXPORT(WdfRequestSend),
VFWDFEXPORT(WdfRequestGetStatus),
VFWDFEXPORT(WdfRequestMarkCancelable),
VFWDFEXPORT(WdfRequestMarkCancelableEx),
VFWDFEXPORT(WdfRequestUnmarkCancelable),
VFWDFEXPORT(WdfRequestIsCanceled),
VFWDFEXPORT(WdfRequestCancelSentRequest),
VFWDFEXPORT(WdfRequestIsFrom32BitProcess),
VFWDFEXPORT(WdfRequestSetCompletionRoutine),
VFWDFEXPORT(WdfRequestGetCompletionParams),
VFWDFEXPORT(WdfRequestAllocateTimer),
VFWDFEXPORT(WdfRequestComplete),
VFWDFEXPORT(WdfRequestCompleteWithInformation),
VFWDFEXPORT(WdfRequestGetParameters),
VFWDFEXPORT(WdfRequestRetrieveInputMemory),
VFWDFEXPORT(WdfRequestRetrieveOutputMemory),
VFWDFEXPORT(WdfRequestRetrieveInputBuffer),
VFWDFEXPORT(WdfRequestRetrieveOutputBuffer),
VFWDFEXPORT(WdfRequestSetInformation),
VFWDFEXPORT(WdfRequestGetInformation),
VFWDFEXPORT(WdfRequestGetFileObject),
VFWDFEXPORT(WdfRequestGetRequestorMode),
VFWDFEXPORT(WdfRequestForwardToIoQueue),
VFWDFEXPORT(WdfRequestGetIoQueue),
VFWDFEXPORT(WdfRequestRequeue),
VFWDFEXPORT(WdfRequestStopAcknowledge),
VFWDFEXPORT(WdfRequestImpersonate),
VFWDFEXPORT(WdfRequestGetRequestorProcessId),
VFWDFEXPORT(WdfRequestIsFromUserModeDriver),
VFWDFEXPORT(WdfRequestSetUserModeDriverInitiatedIo),
VFWDFEXPORT(WdfRequestGetUserModeDriverInitiatedIo),
VFWDFEXPORT(WdfRequestSetActivityId),
VFWDFEXPORT(WdfRequestRetrieveActivityId),
VFWDFEXPORT(WdfRequestGetEffectiveIoType),
VFWDFEXPORT(WdfCmResourceListGetCount),
VFWDFEXPORT(WdfCmResourceListGetDescriptor),
VFWDFEXPORT(WdfStringCreate),
VFWDFEXPORT(WdfStringGetUnicodeString),
VFWDFEXPORT(WdfObjectAcquireLock),
VFWDFEXPORT(WdfObjectReleaseLock),
VFWDFEXPORT(WdfWaitLockCreate),
VFWDFEXPORT(WdfWaitLockAcquire),
VFWDFEXPORT(WdfWaitLockRelease),
VFWDFEXPORT(WdfSpinLockCreate),
VFWDFEXPORT(WdfSpinLockAcquire),
VFWDFEXPORT(WdfSpinLockRelease),
VFWDFEXPORT(WdfTimerCreate),
VFWDFEXPORT(WdfTimerStart),
VFWDFEXPORT(WdfTimerStop),
VFWDFEXPORT(WdfTimerGetParentObject),
VFWDFEXPORT(WdfUsbTargetDeviceCreate),
VFWDFEXPORT(WdfUsbTargetDeviceCreateWithParameters),
VFWDFEXPORT(WdfUsbTargetDeviceRetrieveInformation),
VFWDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor),
VFWDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor),
VFWDFEXPORT(WdfUsbTargetDeviceQueryString),
VFWDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString),
VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForString),
VFWDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces),
VFWDFEXPORT(WdfUsbTargetDeviceSelectConfig),
VFWDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously),
VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer),
VFWDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously),
VFWDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability),
VFWDFEXPORT(WdfUsbTargetPipeGetInformation),
VFWDFEXPORT(WdfUsbTargetPipeIsInEndpoint),
VFWDFEXPORT(WdfUsbTargetPipeIsOutEndpoint),
VFWDFEXPORT(WdfUsbTargetPipeGetType),
VFWDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck),
VFWDFEXPORT(WdfUsbTargetPipeWriteSynchronously),
VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite),
VFWDFEXPORT(WdfUsbTargetPipeReadSynchronously),
VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForRead),
VFWDFEXPORT(WdfUsbTargetPipeConfigContinuousReader),
VFWDFEXPORT(WdfUsbTargetPipeAbortSynchronously),
VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort),
VFWDFEXPORT(WdfUsbTargetPipeResetSynchronously),
VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForReset),
VFWDFEXPORT(WdfUsbInterfaceGetInterfaceNumber),
VFWDFEXPORT(WdfUsbInterfaceGetNumEndpoints),
VFWDFEXPORT(WdfUsbInterfaceGetDescriptor),
VFWDFEXPORT(WdfUsbInterfaceGetNumSettings),
VFWDFEXPORT(WdfUsbInterfaceSelectSetting),
VFWDFEXPORT(WdfUsbInterfaceGetEndpointInformation),
VFWDFEXPORT(WdfUsbTargetDeviceGetInterface),
VFWDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex),
VFWDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes),
VFWDFEXPORT(WdfUsbInterfaceGetConfiguredPipe),
VFWDFEXPORT(WdfVerifierDbgBreakPoint),
VFWDFEXPORT(WdfVerifierKeBugCheck),
VFWDFEXPORT(WdfGetTriageInfo),
VFWDFEXPORT(WdfWorkItemCreate),
VFWDFEXPORT(WdfWorkItemEnqueue),
VFWDFEXPORT(WdfWorkItemGetParentObject),
VFWDFEXPORT(WdfWorkItemFlush),
VFWDFEXPORT(WdfRegistryWdmGetHandle),
VFWDFEXPORT(WdfDeviceStopIdleActual),
VFWDFEXPORT(WdfDeviceResumeIdleActual),
VFWDFEXPORT(WdfDeviceInitEnableHidInterface),
VFWDFEXPORT(WdfDeviceHidNotifyPresence),
VFWDFEXPORT(WdfDeviceGetSelfIoTarget),
VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget),
VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue),
VFWDFEXPORT(WdfDeviceOpenDevicemapKey),
VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle),
VFWDFEXPORT(WdfDeviceWdmDispatchIrp),
VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue),
VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback),
}
};
#endif // VF_FX_DYNAMICS_GENERATE_TABLE
#endif // _VFFXDYNAMICS_H_