ReactOS 0.4.16-dev-725-g22577ae
vfwdfdynamics.cpp File Reference
#include <ntddk.h>
#include "vfpriv.hpp"
Include dependency graph for vfwdfdynamics.cpp:

Go to the source code of this file.

Functions

_Must_inspect_result_ _IRQL_requires_max_ (PASSIVE_LEVEL) WDFAPI NTSTATUS VFWDFEXPORT(WdfChildListCreate)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 Queries information details about a security descriptor.
 
 return ((PFN_WDFCHILDLISTCREATE) WdfVersion.Functions.pfnWdfChildListCreate)(DriverGlobals
 
 _IRQL_requires_max_ (DISPATCH_LEVEL) WDFAPI WDFDEVICE VFWDFEXPORT(WdfChildListGetDevice)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
 return ((PFN_WDFCHILDLISTGETDEVICE) WdfVersion.Functions.pfnWdfChildListGetDevice)(DriverGlobals
 
 return ((PFN_WDFCHILDLISTRETRIEVEPDO) WdfVersion.Functions.pfnWdfChildListRetrievePdo)(DriverGlobals
 
 return ((PFN_WDFCHILDLISTRETRIEVEADDRESSDESCRIPTION) WdfVersion.Functions.pfnWdfChildListRetrieveAddressDescription)(DriverGlobals
 
PFN_WDFCHILDLISTBEGINSCAN WdfVersion Functions pfnWdfChildListBeginScan (DriverGlobals, ChildList)
 
PFN_WDFCHILDLISTENDSCAN WdfVersion Functions pfnWdfChildListEndScan (DriverGlobals, ChildList)
 
PFN_WDFCHILDLISTBEGINITERATION WdfVersion Functions pfnWdfChildListBeginIteration (DriverGlobals, ChildList, Iterator)
 
 return ((PFN_WDFCHILDLISTRETRIEVENEXTDEVICE) WdfVersion.Functions.pfnWdfChildListRetrieveNextDevice)(DriverGlobals
 
PFN_WDFCHILDLISTENDITERATION WdfVersion Functions pfnWdfChildListEndIteration (DriverGlobals, ChildList, Iterator)
 
 return ((PFN_WDFCHILDLISTADDORUPDATECHILDDESCRIPTIONASPRESENT) WdfVersion.Functions.pfnWdfChildListAddOrUpdateChildDescriptionAsPresent)(DriverGlobals
 
 return ((PFN_WDFCHILDLISTUPDATECHILDDESCRIPTIONASMISSING) WdfVersion.Functions.pfnWdfChildListUpdateChildDescriptionAsMissing)(DriverGlobals
 
PFN_WDFCHILDLISTUPDATEALLCHILDDESCRIPTIONSASPRESENT WdfVersion Functions pfnWdfChildListUpdateAllChildDescriptionsAsPresent (DriverGlobals, ChildList)
 
 return ((PFN_WDFCHILDLISTREQUESTCHILDEJECT) WdfVersion.Functions.pfnWdfChildListRequestChildEject)(DriverGlobals
 
 return ((PFN_WDFCOLLECTIONCREATE) WdfVersion.Functions.pfnWdfCollectionCreate)(DriverGlobals
 
 return ((PFN_WDFCOLLECTIONGETCOUNT) WdfVersion.Functions.pfnWdfCollectionGetCount)(DriverGlobals
 
 return ((PFN_WDFCOLLECTIONADD) WdfVersion.Functions.pfnWdfCollectionAdd)(DriverGlobals
 
PFN_WDFCOLLECTIONREMOVE WdfVersion Functions pfnWdfCollectionRemove (DriverGlobals, Collection, Item)
 
PFN_WDFCOLLECTIONREMOVEITEM WdfVersion Functions pfnWdfCollectionRemoveItem (DriverGlobals, Collection, Index)
 
 return ((PFN_WDFCOLLECTIONGETITEM) WdfVersion.Functions.pfnWdfCollectionGetItem)(DriverGlobals
 
 return ((PFN_WDFCOLLECTIONGETFIRSTITEM) WdfVersion.Functions.pfnWdfCollectionGetFirstItem)(DriverGlobals
 
 return ((PFN_WDFCOLLECTIONGETLASTITEM) WdfVersion.Functions.pfnWdfCollectionGetLastItem)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _When_ (Length==0, __drv_reportError(Length cannot be zero)) size_t Length
 
 return ((PFN_WDFCOMMONBUFFERCREATE) WdfVersion.Functions.pfnWdfCommonBufferCreate)(DriverGlobals
 
 return ((PFN_WDFCOMMONBUFFERCREATEWITHCONFIG) WdfVersion.Functions.pfnWdfCommonBufferCreateWithConfig)(DriverGlobals
 
 return ((PFN_WDFCOMMONBUFFERGETALIGNEDVIRTUALADDRESS) WdfVersion.Functions.pfnWdfCommonBufferGetAlignedVirtualAddress)(DriverGlobals
 
 return ((PFN_WDFCOMMONBUFFERGETALIGNEDLOGICALADDRESS) WdfVersion.Functions.pfnWdfCommonBufferGetAlignedLogicalAddress)(DriverGlobals
 
 return ((PFN_WDFCOMMONBUFFERGETLENGTH) WdfVersion.Functions.pfnWdfCommonBufferGetLength)(DriverGlobals
 
 return ((PFN_WDFCONTROLDEVICEINITALLOCATE) WdfVersion.Functions.pfnWdfControlDeviceInitAllocate)(DriverGlobals
 
PFN_WDFCONTROLDEVICEINITSETSHUTDOWNNOTIFICATION WdfVersion Functions pfnWdfControlDeviceInitSetShutdownNotification (DriverGlobals, DeviceInit, Notification, Flags)
 
PFN_WDFCONTROLFINISHINITIALIZING WdfVersion Functions pfnWdfControlFinishInitializing (DriverGlobals, Device)
 
 return ((PFN_WDFCXDEVICEINITALLOCATE) WdfVersion.Functions.pfnWdfCxDeviceInitAllocate)(DriverGlobals
 
_Must_inspect_result_ _In_ PWDFCXDEVICE_INIT _In_ PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _When_ (NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions)) _When_(NumMinorFunctions
 
 return ((PFN_WDFCXDEVICEINITASSIGNWDMIRPPREPROCESSCALLBACK) WdfVersion.Functions.pfnWdfCxDeviceInitAssignWdmIrpPreprocessCallback)(DriverGlobals
 
PFN_WDFCXDEVICEINITSETIOINCALLERCONTEXTCALLBACK WdfVersion Functions pfnWdfCxDeviceInitSetIoInCallerContextCallback (DriverGlobals, CxDeviceInit, EvtIoInCallerContext)
 
PFN_WDFCXDEVICEINITSETREQUESTATTRIBUTES WdfVersion Functions pfnWdfCxDeviceInitSetRequestAttributes (DriverGlobals, CxDeviceInit, RequestAttributes)
 
PFN_WDFCXDEVICEINITSETFILEOBJECTCONFIG WdfVersion Functions pfnWdfCxDeviceInitSetFileObjectConfig (DriverGlobals, CxDeviceInit, CxFileObjectConfig, 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)
 
PFN_WDFDEVICEGETDEVICESTATE WdfVersion Functions pfnWdfDeviceGetDeviceState (DriverGlobals, Device, DeviceState)
 
PFN_WDFDEVICESETDEVICESTATE WdfVersion Functions pfnWdfDeviceSetDeviceState (DriverGlobals, Device, DeviceState)
 
 return ((PFN_WDFWDMDEVICEGETWDFDEVICEHANDLE) WdfVersion.Functions.pfnWdfWdmDeviceGetWdfDeviceHandle)(DriverGlobals
 
 return ((PFN_WDFDEVICEWDMGETDEVICEOBJECT) WdfVersion.Functions.pfnWdfDeviceWdmGetDeviceObject)(DriverGlobals
 
 return ((PFN_WDFDEVICEWDMGETATTACHEDDEVICE) WdfVersion.Functions.pfnWdfDeviceWdmGetAttachedDevice)(DriverGlobals
 
 return ((PFN_WDFDEVICEWDMGETPHYSICALDEVICE) WdfVersion.Functions.pfnWdfDeviceWdmGetPhysicalDevice)(DriverGlobals
 
 return ((PFN_WDFDEVICEWDMDISPATCHPREPROCESSEDIRP) WdfVersion.Functions.pfnWdfDeviceWdmDispatchPreprocessedIrp)(DriverGlobals
 
 return ((PFN_WDFDEVICEWDMDISPATCHIRP) WdfVersion.Functions.pfnWdfDeviceWdmDispatchIrp)(DriverGlobals
 
 return ((PFN_WDFDEVICEWDMDISPATCHIRPTOIOQUEUE) WdfVersion.Functions.pfnWdfDeviceWdmDispatchIrpToIoQueue)(DriverGlobals
 
 return ((PFN_WDFDEVICEADDDEPENDENTUSAGEDEVICEOBJECT) WdfVersion.Functions.pfnWdfDeviceAddDependentUsageDeviceObject)(DriverGlobals
 
PFN_WDFDEVICEREMOVEDEPENDENTUSAGEDEVICEOBJECT WdfVersion Functions pfnWdfDeviceRemoveDependentUsageDeviceObject (DriverGlobals, Device, DependentDevice)
 
 return ((PFN_WDFDEVICEADDREMOVALRELATIONSPHYSICALDEVICE) WdfVersion.Functions.pfnWdfDeviceAddRemovalRelationsPhysicalDevice)(DriverGlobals
 
PFN_WDFDEVICEREMOVEREMOVALRELATIONSPHYSICALDEVICE WdfVersion Functions pfnWdfDeviceRemoveRemovalRelationsPhysicalDevice (DriverGlobals, Device, PhysicalDevice)
 
PFN_WDFDEVICECLEARREMOVALRELATIONSDEVICES WdfVersion Functions pfnWdfDeviceClearRemovalRelationsDevices (DriverGlobals, Device)
 
 return ((PFN_WDFDEVICEGETDRIVER) WdfVersion.Functions.pfnWdfDeviceGetDriver)(DriverGlobals
 
 return ((PFN_WDFDEVICERETRIEVEDEVICENAME) WdfVersion.Functions.pfnWdfDeviceRetrieveDeviceName)(DriverGlobals
 
 return ((PFN_WDFDEVICEASSIGNMOFRESOURCENAME) WdfVersion.Functions.pfnWdfDeviceAssignMofResourceName)(DriverGlobals
 
 return ((PFN_WDFDEVICEGETIOTARGET) WdfVersion.Functions.pfnWdfDeviceGetIoTarget)(DriverGlobals
 
 return ((PFN_WDFDEVICEGETDEVICEPNPSTATE) WdfVersion.Functions.pfnWdfDeviceGetDevicePnpState)(DriverGlobals
 
 return ((PFN_WDFDEVICEGETDEVICEPOWERSTATE) WdfVersion.Functions.pfnWdfDeviceGetDevicePowerState)(DriverGlobals
 
 return ((PFN_WDFDEVICEGETDEVICEPOWERPOLICYSTATE) WdfVersion.Functions.pfnWdfDeviceGetDevicePowerPolicyState)(DriverGlobals
 
 return ((PFN_WDFDEVICEASSIGNS0IDLESETTINGS) WdfVersion.Functions.pfnWdfDeviceAssignS0IdleSettings)(DriverGlobals
 
 return ((PFN_WDFDEVICEASSIGNSXWAKESETTINGS) WdfVersion.Functions.pfnWdfDeviceAssignSxWakeSettings)(DriverGlobals
 
 return ((PFN_WDFDEVICEOPENREGISTRYKEY) WdfVersion.Functions.pfnWdfDeviceOpenRegistryKey)(DriverGlobals
 
 return ((PFN_WDFDEVICEOPENDEVICEMAPKEY) WdfVersion.Functions.pfnWdfDeviceOpenDevicemapKey)(DriverGlobals
 
PFN_WDFDEVICESETSPECIALFILESUPPORT WdfVersion Functions pfnWdfDeviceSetSpecialFileSupport (DriverGlobals, Device, FileType, FileTypeIsSupported)
 
PFN_WDFDEVICESETCHARACTERISTICS WdfVersion Functions pfnWdfDeviceSetCharacteristics (DriverGlobals, Device, DeviceCharacteristics)
 
 return ((PFN_WDFDEVICEGETCHARACTERISTICS) WdfVersion.Functions.pfnWdfDeviceGetCharacteristics)(DriverGlobals
 
 return ((PFN_WDFDEVICEGETALIGNMENTREQUIREMENT) WdfVersion.Functions.pfnWdfDeviceGetAlignmentRequirement)(DriverGlobals
 
PFN_WDFDEVICESETALIGNMENTREQUIREMENT WdfVersion Functions pfnWdfDeviceSetAlignmentRequirement (DriverGlobals, Device, AlignmentRequirement)
 
PFN_WDFDEVICEINITFREE WdfVersion Functions pfnWdfDeviceInitFree (DriverGlobals, DeviceInit)
 
PFN_WDFDEVICEINITSETPNPPOWEREVENTCALLBACKS WdfVersion Functions pfnWdfDeviceInitSetPnpPowerEventCallbacks (DriverGlobals, DeviceInit, PnpPowerEventCallbacks)
 
PFN_WDFDEVICEINITSETPOWERPOLICYEVENTCALLBACKS WdfVersion Functions pfnWdfDeviceInitSetPowerPolicyEventCallbacks (DriverGlobals, DeviceInit, PowerPolicyEventCallbacks)
 
PFN_WDFDEVICEINITSETPOWERPOLICYOWNERSHIP WdfVersion Functions pfnWdfDeviceInitSetPowerPolicyOwnership (DriverGlobals, DeviceInit, IsPowerPolicyOwner)
 
 return ((PFN_WDFDEVICEINITREGISTERPNPSTATECHANGECALLBACK) WdfVersion.Functions.pfnWdfDeviceInitRegisterPnpStateChangeCallback)(DriverGlobals
 
 return ((PFN_WDFDEVICEINITREGISTERPOWERSTATECHANGECALLBACK) WdfVersion.Functions.pfnWdfDeviceInitRegisterPowerStateChangeCallback)(DriverGlobals
 
 return ((PFN_WDFDEVICEINITREGISTERPOWERPOLICYSTATECHANGECALLBACK) WdfVersion.Functions.pfnWdfDeviceInitRegisterPowerPolicyStateChangeCallback)(DriverGlobals
 
PFN_WDFDEVICEINITSETEXCLUSIVE WdfVersion Functions pfnWdfDeviceInitSetExclusive (DriverGlobals, DeviceInit, IsExclusive)
 
PFN_WDFDEVICEINITSETIOTYPE WdfVersion Functions pfnWdfDeviceInitSetIoType (DriverGlobals, DeviceInit, IoType)
 
PFN_WDFDEVICEINITSETPOWERNOTPAGEABLE WdfVersion Functions pfnWdfDeviceInitSetPowerNotPageable (DriverGlobals, DeviceInit)
 
PFN_WDFDEVICEINITSETPOWERPAGEABLE WdfVersion Functions pfnWdfDeviceInitSetPowerPageable (DriverGlobals, DeviceInit)
 
PFN_WDFDEVICEINITSETPOWERINRUSH WdfVersion Functions pfnWdfDeviceInitSetPowerInrush (DriverGlobals, DeviceInit)
 
PFN_WDFDEVICEINITSETDEVICETYPE WdfVersion Functions pfnWdfDeviceInitSetDeviceType (DriverGlobals, DeviceInit, DeviceType)
 
 return ((PFN_WDFDEVICEINITASSIGNNAME) WdfVersion.Functions.pfnWdfDeviceInitAssignName)(DriverGlobals
 
 return ((PFN_WDFDEVICEINITASSIGNSDDLSTRING) WdfVersion.Functions.pfnWdfDeviceInitAssignSDDLString)(DriverGlobals
 
PFN_WDFDEVICEINITSETDEVICECLASS WdfVersion Functions pfnWdfDeviceInitSetDeviceClass (DriverGlobals, DeviceInit, DeviceClassGuid)
 
PFN_WDFDEVICEINITSETCHARACTERISTICS WdfVersion Functions pfnWdfDeviceInitSetCharacteristics (DriverGlobals, DeviceInit, DeviceCharacteristics, OrInValues)
 
PFN_WDFDEVICEINITSETFILEOBJECTCONFIG WdfVersion Functions pfnWdfDeviceInitSetFileObjectConfig (DriverGlobals, DeviceInit, FileObjectConfig, FileObjectAttributes)
 
PFN_WDFDEVICEINITSETREQUESTATTRIBUTES WdfVersion Functions pfnWdfDeviceInitSetRequestAttributes (DriverGlobals, DeviceInit, RequestAttributes)
 
 return ((PFN_WDFDEVICEINITASSIGNWDMIRPPREPROCESSCALLBACK) WdfVersion.Functions.pfnWdfDeviceInitAssignWdmIrpPreprocessCallback)(DriverGlobals
 
PFN_WDFDEVICEINITSETIOINCALLERCONTEXTCALLBACK WdfVersion Functions pfnWdfDeviceInitSetIoInCallerContextCallback (DriverGlobals, DeviceInit, EvtIoInCallerContext)
 
PFN_WDFDEVICEINITSETREMOVELOCKOPTIONS WdfVersion Functions pfnWdfDeviceInitSetRemoveLockOptions (DriverGlobals, DeviceInit, Options)
 
 PAGED_CODE_LOCKED ()
 
RtlZeroMemoryhookInfo (VF_HOOK_PROCESS_INFO)
 
 UNREFERENCED_PARAMETER (status)
 
 if (hookInfo.DonotCallKmdfLib)
 
 return ((PFN_WDFDEVICECREATE) WdfVersion.Functions.pfnWdfDeviceCreate)(DriverGlobals
 
PFN_WDFDEVICESETSTATICSTOPREMOVE WdfVersion Functions pfnWdfDeviceSetStaticStopRemove (DriverGlobals, Device, Stoppable)
 
 return ((PFN_WDFDEVICECREATEDEVICEINTERFACE) WdfVersion.Functions.pfnWdfDeviceCreateDeviceInterface)(DriverGlobals
 
PFN_WDFDEVICESETDEVICEINTERFACESTATE WdfVersion Functions pfnWdfDeviceSetDeviceInterfaceState (DriverGlobals, Device, InterfaceClassGUID, ReferenceString, IsInterfaceEnabled)
 
 return ((PFN_WDFDEVICERETRIEVEDEVICEINTERFACESTRING) WdfVersion.Functions.pfnWdfDeviceRetrieveDeviceInterfaceString)(DriverGlobals
 
 return ((PFN_WDFDEVICECREATESYMBOLICLINK) WdfVersion.Functions.pfnWdfDeviceCreateSymbolicLink)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_writes_bytes_all_ (BufferLength) PVOID PropertyBuffer
 
 return ((PFN_WDFDEVICEQUERYPROPERTY) WdfVersion.Functions.pfnWdfDeviceQueryProperty)(DriverGlobals
 
 return ((PFN_WDFDEVICEALLOCANDQUERYPROPERTY) WdfVersion.Functions.pfnWdfDeviceAllocAndQueryProperty)(DriverGlobals
 
PFN_WDFDEVICESETPNPCAPABILITIES WdfVersion Functions pfnWdfDeviceSetPnpCapabilities (DriverGlobals, Device, PnpCapabilities)
 
PFN_WDFDEVICESETPOWERCAPABILITIES WdfVersion Functions pfnWdfDeviceSetPowerCapabilities (DriverGlobals, Device, PowerCapabilities)
 
PFN_WDFDEVICESETBUSINFORMATIONFORCHILDREN WdfVersion Functions pfnWdfDeviceSetBusInformationForChildren (DriverGlobals, Device, BusInformation)
 
 return ((PFN_WDFDEVICEINDICATEWAKESTATUS) WdfVersion.Functions.pfnWdfDeviceIndicateWakeStatus)(DriverGlobals
 
PFN_WDFDEVICESETFAILED WdfVersion Functions pfnWdfDeviceSetFailed (DriverGlobals, Device, FailedAction)
 
_Must_inspect_result_ _When_ (WaitForD0==0, _IRQL_requires_max_(DISPATCH_LEVEL)) _When_(WaitForD0 !=0
 
 return ((PFN_WDFDEVICESTOPIDLENOTRACK) WdfVersion.Functions.pfnWdfDeviceStopIdleNoTrack)(DriverGlobals
 
PFN_WDFDEVICERESUMEIDLENOTRACK WdfVersion Functions pfnWdfDeviceResumeIdleNoTrack (DriverGlobals, Device)
 
 return ((PFN_WDFDEVICESTOPIDLEACTUAL) WdfVersion.Functions.pfnWdfDeviceStopIdleActual)(DriverGlobals
 
PFN_WDFDEVICERESUMEIDLEACTUAL WdfVersion Functions pfnWdfDeviceResumeIdleActual (DriverGlobals, Device, Tag, Line, File)
 
 return ((PFN_WDFDEVICEGETFILEOBJECT) WdfVersion.Functions.pfnWdfDeviceGetFileObject)(DriverGlobals
 
 return ((PFN_WDFDEVICEENQUEUEREQUEST) WdfVersion.Functions.pfnWdfDeviceEnqueueRequest)(DriverGlobals
 
 return ((PFN_WDFDEVICEGETDEFAULTQUEUE) WdfVersion.Functions.pfnWdfDeviceGetDefaultQueue)(DriverGlobals
 
 return ((PFN_WDFDEVICECONFIGUREREQUESTDISPATCHING) WdfVersion.Functions.pfnWdfDeviceConfigureRequestDispatching)(DriverGlobals
 
 return ((PFN_WDFDEVICECONFIGUREWDMIRPDISPATCHCALLBACK) WdfVersion.Functions.pfnWdfDeviceConfigureWdmIrpDispatchCallback)(DriverGlobals
 
 return ((PFN_WDFDEVICEGETSYSTEMPOWERACTION) WdfVersion.Functions.pfnWdfDeviceGetSystemPowerAction)(DriverGlobals
 
 return ((PFN_WDFDEVICEWDMASSIGNPOWERFRAMEWORKSETTINGS) WdfVersion.Functions.pfnWdfDeviceWdmAssignPowerFrameworkSettings)(DriverGlobals
 
PFN_WDFDEVICEINITSETRELEASEHARDWAREORDERONFAILURE WdfVersion Functions pfnWdfDeviceInitSetReleaseHardwareOrderOnFailure (DriverGlobals, DeviceInit, ReleaseHardwareOrderOnFailure)
 
PFN_WDFDEVICEINITSETIOTYPEEX WdfVersion Functions pfnWdfDeviceInitSetIoTypeEx (DriverGlobals, DeviceInit, IoTypeConfig)
 
_Must_inspect_result_ _IRQL_requires_max_ (APC_LEVEL) WDFAPI NTSTATUS VFWDFEXPORT(WdfDeviceQueryPropertyEx)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 Probes and locks virtual pages in memory for the specified process.
 
 return ((PFN_WDFDEVICEQUERYPROPERTYEX) WdfVersion.Functions.pfnWdfDeviceQueryPropertyEx)(DriverGlobals
 
 return ((PFN_WDFDEVICEALLOCANDQUERYPROPERTYEX) WdfVersion.Functions.pfnWdfDeviceAllocAndQueryPropertyEx)(DriverGlobals
 
 return ((PFN_WDFDEVICEASSIGNPROPERTY) WdfVersion.Functions.pfnWdfDeviceAssignProperty)(DriverGlobals
 
 return ((PFN_WDFDEVICEGETSELFIOTARGET) WdfVersion.Functions.pfnWdfDeviceGetSelfIoTarget)(DriverGlobals
 
PFN_WDFDEVICEINITALLOWSELFIOTARGET WdfVersion Functions pfnWdfDeviceInitAllowSelfIoTarget (DriverGlobals, DeviceInit)
 
 return ((PFN_WDFDMAENABLERCREATE) WdfVersion.Functions.pfnWdfDmaEnablerCreate)(DriverGlobals
 
 return ((PFN_WDFDMAENABLERCONFIGURESYSTEMPROFILE) WdfVersion.Functions.pfnWdfDmaEnablerConfigureSystemProfile)(DriverGlobals
 
 return ((PFN_WDFDMAENABLERGETMAXIMUMLENGTH) WdfVersion.Functions.pfnWdfDmaEnablerGetMaximumLength)(DriverGlobals
 
 return ((PFN_WDFDMAENABLERGETMAXIMUMSCATTERGATHERELEMENTS) WdfVersion.Functions.pfnWdfDmaEnablerGetMaximumScatterGatherElements)(DriverGlobals
 
_In_ WDFDMAENABLER _In_ _When_ (MaximumFragments==0, __drv_reportError(MaximumFragments cannot be zero)) size_t MaximumFragments)
 
 return ((PFN_WDFDMAENABLERGETFRAGMENTLENGTH) WdfVersion.Functions.pfnWdfDmaEnablerGetFragmentLength)(DriverGlobals
 
 return ((PFN_WDFDMAENABLERWDMGETDMAADAPTER) WdfVersion.Functions.pfnWdfDmaEnablerWdmGetDmaAdapter)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONCREATE) WdfVersion.Functions.pfnWdfDmaTransactionCreate)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONINITIALIZEUSINGREQUEST) WdfVersion.Functions.pfnWdfDmaTransactionInitializeUsingRequest)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONEXECUTE) WdfVersion.Functions.pfnWdfDmaTransactionExecute)(DriverGlobals
 
 _Success_ (TRUE) _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS VFWDFEXPORT(WdfDmaTransactionRelease)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONRELEASE) WdfVersion.Functions.pfnWdfDmaTransactionRelease)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONDMACOMPLETED) WdfVersion.Functions.pfnWdfDmaTransactionDmaCompleted)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONDMACOMPLETEDWITHLENGTH) WdfVersion.Functions.pfnWdfDmaTransactionDmaCompletedWithLength)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONDMACOMPLETEDFINAL) WdfVersion.Functions.pfnWdfDmaTransactionDmaCompletedFinal)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONGETBYTESTRANSFERRED) WdfVersion.Functions.pfnWdfDmaTransactionGetBytesTransferred)(DriverGlobals
 
PFN_WDFDMATRANSACTIONSETMAXIMUMLENGTH WdfVersion Functions pfnWdfDmaTransactionSetMaximumLength (DriverGlobals, DmaTransaction, MaximumLength)
 
 return ((PFN_WDFDMATRANSACTIONGETREQUEST) WdfVersion.Functions.pfnWdfDmaTransactionGetRequest)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONGETCURRENTDMATRANSFERLENGTH) WdfVersion.Functions.pfnWdfDmaTransactionGetCurrentDmaTransferLength)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONGETDEVICE) WdfVersion.Functions.pfnWdfDmaTransactionGetDevice)(DriverGlobals
 
PFN_WDFDMATRANSACTIONGETTRANSFERINFO WdfVersion Functions pfnWdfDmaTransactionGetTransferInfo (DriverGlobals, DmaTransaction, MapRegisterCount, ScatterGatherElementCount)
 
PFN_WDFDMATRANSACTIONSETCHANNELCONFIGURATIONCALLBACK WdfVersion Functions pfnWdfDmaTransactionSetChannelConfigurationCallback (DriverGlobals, DmaTransaction, ConfigureRoutine, ConfigureContext)
 
PFN_WDFDMATRANSACTIONSETTRANSFERCOMPLETECALLBACK WdfVersion Functions pfnWdfDmaTransactionSetTransferCompleteCallback (DriverGlobals, DmaTransaction, DmaCompletionRoutine, DmaCompletionContext)
 
PFN_WDFDMATRANSACTIONSETIMMEDIATEEXECUTION WdfVersion Functions pfnWdfDmaTransactionSetImmediateExecution (DriverGlobals, DmaTransaction, UseImmediateExecution)
 
 return ((PFN_WDFDMATRANSACTIONALLOCATERESOURCES) WdfVersion.Functions.pfnWdfDmaTransactionAllocateResources)(DriverGlobals
 
PFN_WDFDMATRANSACTIONSETDEVICEADDRESSOFFSET WdfVersion Functions pfnWdfDmaTransactionSetDeviceAddressOffset (DriverGlobals, DmaTransaction, Offset)
 
PFN_WDFDMATRANSACTIONFREERESOURCES WdfVersion Functions pfnWdfDmaTransactionFreeResources (DriverGlobals, DmaTransaction)
 
 return ((PFN_WDFDMATRANSACTIONCANCEL) WdfVersion.Functions.pfnWdfDmaTransactionCancel)(DriverGlobals
 
 return ((PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT) WdfVersion.Functions.pfnWdfDmaTransactionWdmGetTransferContext)(DriverGlobals
 
PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER WdfVersion Functions pfnWdfDmaTransactionStopSystemTransfer (DriverGlobals, DmaTransaction)
 
 return ((PFN_WDFDPCCREATE) WdfVersion.Functions.pfnWdfDpcCreate)(DriverGlobals
 
 _IRQL_requires_max_ (HIGH_LEVEL) WDFAPI BOOLEAN VFWDFEXPORT(WdfDpcEnqueue)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
 return ((PFN_WDFDPCENQUEUE) WdfVersion.Functions.pfnWdfDpcEnqueue)(DriverGlobals
 
 _When_ (Wait==__true, _IRQL_requires_max_(PASSIVE_LEVEL)) _When_(Wait
 
 return ((PFN_WDFDPCCANCEL) WdfVersion.Functions.pfnWdfDpcCancel)(DriverGlobals
 
 return ((PFN_WDFDPCGETPARENTOBJECT) WdfVersion.Functions.pfnWdfDpcGetParentObject)(DriverGlobals
 
 return ((PFN_WDFDPCWDMGETDPC) WdfVersion.Functions.pfnWdfDpcWdmGetDpc)(DriverGlobals
 
 return ((PFN_WDFDRIVERCREATE) WdfVersion.Functions.pfnWdfDriverCreate)(DriverGlobals
 
 return ((PFN_WDFDRIVERGETREGISTRYPATH) WdfVersion.Functions.pfnWdfDriverGetRegistryPath)(DriverGlobals
 
 return ((PFN_WDFDRIVERWDMGETDRIVEROBJECT) WdfVersion.Functions.pfnWdfDriverWdmGetDriverObject)(DriverGlobals
 
 return ((PFN_WDFDRIVEROPENPARAMETERSREGISTRYKEY) WdfVersion.Functions.pfnWdfDriverOpenParametersRegistryKey)(DriverGlobals
 
 return ((PFN_WDFWDMDRIVERGETWDFDRIVERHANDLE) WdfVersion.Functions.pfnWdfWdmDriverGetWdfDriverHandle)(DriverGlobals
 
 return ((PFN_WDFDRIVERREGISTERTRACEINFO) WdfVersion.Functions.pfnWdfDriverRegisterTraceInfo)(DriverGlobals
 
 return ((PFN_WDFDRIVERRETRIEVEVERSIONSTRING) WdfVersion.Functions.pfnWdfDriverRetrieveVersionString)(DriverGlobals
 
 return ((PFN_WDFDRIVERISVERSIONAVAILABLE) WdfVersion.Functions.pfnWdfDriverIsVersionAvailable)(DriverGlobals
 
 return ((PFN_WDFFDOINITWDMGETPHYSICALDEVICE) WdfVersion.Functions.pfnWdfFdoInitWdmGetPhysicalDevice)(DriverGlobals
 
 return ((PFN_WDFFDOINITOPENREGISTRYKEY) WdfVersion.Functions.pfnWdfFdoInitOpenRegistryKey)(DriverGlobals
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_writes_bytes_all_opt_ (BufferLength) PVOID PropertyBuffer
 
 return ((PFN_WDFFDOINITQUERYPROPERTY) WdfVersion.Functions.pfnWdfFdoInitQueryProperty)(DriverGlobals
 
 return ((PFN_WDFFDOINITALLOCANDQUERYPROPERTY) WdfVersion.Functions.pfnWdfFdoInitAllocAndQueryProperty)(DriverGlobals
 
 return ((PFN_WDFFDOINITQUERYPROPERTYEX) WdfVersion.Functions.pfnWdfFdoInitQueryPropertyEx)(DriverGlobals
 
 return ((PFN_WDFFDOINITALLOCANDQUERYPROPERTYEX) WdfVersion.Functions.pfnWdfFdoInitAllocAndQueryPropertyEx)(DriverGlobals
 
PFN_WDFFDOINITSETEVENTCALLBACKS WdfVersion Functions pfnWdfFdoInitSetEventCallbacks (DriverGlobals, DeviceInit, FdoEventCallbacks)
 
PFN_WDFFDOINITSETFILTER WdfVersion Functions pfnWdfFdoInitSetFilter (DriverGlobals, DeviceInit)
 
PFN_WDFFDOINITSETDEFAULTCHILDLISTCONFIG WdfVersion Functions pfnWdfFdoInitSetDefaultChildListConfig (DriverGlobals, DeviceInit, Config, DefaultChildListAttributes)
 
 return ((PFN_WDFFDOQUERYFORINTERFACE) WdfVersion.Functions.pfnWdfFdoQueryForInterface)(DriverGlobals
 
 return ((PFN_WDFFDOGETDEFAULTCHILDLIST) WdfVersion.Functions.pfnWdfFdoGetDefaultChildList)(DriverGlobals
 
 return ((PFN_WDFFDOADDSTATICCHILD) WdfVersion.Functions.pfnWdfFdoAddStaticChild)(DriverGlobals
 
PFN_WDFFDOLOCKSTATICCHILDLISTFORITERATION WdfVersion Functions pfnWdfFdoLockStaticChildListForIteration (DriverGlobals, Fdo)
 
 return ((PFN_WDFFDORETRIEVENEXTSTATICCHILD) WdfVersion.Functions.pfnWdfFdoRetrieveNextStaticChild)(DriverGlobals
 
PFN_WDFFDOUNLOCKSTATICCHILDLISTFROMITERATION WdfVersion Functions pfnWdfFdoUnlockStaticChildListFromIteration (DriverGlobals, Fdo)
 
 return ((PFN_WDFFILEOBJECTGETFILENAME) WdfVersion.Functions.pfnWdfFileObjectGetFileName)(DriverGlobals
 
 return ((PFN_WDFFILEOBJECTGETFLAGS) WdfVersion.Functions.pfnWdfFileObjectGetFlags)(DriverGlobals
 
 return ((PFN_WDFFILEOBJECTGETDEVICE) WdfVersion.Functions.pfnWdfFileObjectGetDevice)(DriverGlobals
 
 return ((PFN_WDFFILEOBJECTWDMGETFILEOBJECT) WdfVersion.Functions.pfnWdfFileObjectWdmGetFileObject)(DriverGlobals
 
 return ((PFN_WDFINTERRUPTCREATE) WdfVersion.Functions.pfnWdfInterruptCreate)(DriverGlobals
 
WDFAPI BOOLEAN VFWDFEXPORT() WdfInterruptQueueDpcForIsr (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
 
WDFAPI BOOLEAN VFWDFEXPORT() WdfInterruptQueueWorkItemForIsr (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
 
 return ((PFN_WDFINTERRUPTSYNCHRONIZE) WdfVersion.Functions.pfnWdfInterruptSynchronize)(DriverGlobals
 
 _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)
 
_In_ _Requires_lock_held_ (_Curr_) _Releases_lock_(_Curr_) WDFINTERRUPT Interrupt)
 
PFN_WDFINTERRUPTENABLE WdfVersion Functions pfnWdfInterruptEnable (DriverGlobals, Interrupt)
 
PFN_WDFINTERRUPTDISABLE WdfVersion Functions pfnWdfInterruptDisable (DriverGlobals, Interrupt)
 
_Must_inspect_result_ WDFAPI PKINTERRUPT VFWDFEXPORT() WdfInterruptWdmGetInterrupt (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
 
PFN_WDFINTERRUPTGETINFO WdfVersion Functions pfnWdfInterruptGetInfo (DriverGlobals, Interrupt, Info)
 
PFN_WDFINTERRUPTSETPOLICY WdfVersion Functions pfnWdfInterruptSetPolicy (DriverGlobals, Interrupt, Policy, Priority, TargetProcessorSet)
 
PFN_WDFINTERRUPTSETEXTENDEDPOLICY WdfVersion Functions pfnWdfInterruptSetExtendedPolicy (DriverGlobals, Interrupt, 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
 
_Must_inspect_result_ _In_ _Acquires_lock_ (_Curr_)) WDFINTERRUPT Interrupt)
 
PFN_WDFINTERRUPTREPORTACTIVE WdfVersion Functions pfnWdfInterruptReportActive (DriverGlobals, Interrupt)
 
PFN_WDFINTERRUPTREPORTINACTIVE WdfVersion Functions pfnWdfInterruptReportInactive (DriverGlobals, Interrupt)
 
 return ((PFN_WDFIOQUEUECREATE) WdfVersion.Functions.pfnWdfIoQueueCreate)(DriverGlobals
 
 return ((PFN_WDFIOQUEUEGETSTATE) WdfVersion.Functions.pfnWdfIoQueueGetState)(DriverGlobals
 
PFN_WDFIOQUEUESTART WdfVersion Functions pfnWdfIoQueueStart (DriverGlobals, Queue)
 
_In_ WDFQUEUE _When_ (Context !=0, _In_) _When_(Context
 
_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE _When_ (StopComplete !=0, _In_) _When_(StopComplete
 
PFN_WDFIOQUEUESTOP WdfVersion Functions pfnWdfIoQueueStop (DriverGlobals, Queue, StopComplete, Context)
 
PFN_WDFIOQUEUESTOPSYNCHRONOUSLY WdfVersion Functions pfnWdfIoQueueStopSynchronously (DriverGlobals, Queue)
 
 return ((PFN_WDFIOQUEUEGETDEVICE) WdfVersion.Functions.pfnWdfIoQueueGetDevice)(DriverGlobals
 
 if (rtn==STATUS_SUCCESS)
 
 return ((PFN_WDFIOQUEUEFINDREQUEST) WdfVersion.Functions.pfnWdfIoQueueFindRequest)(DriverGlobals
 
PFN_WDFIOQUEUEDRAINSYNCHRONOUSLY WdfVersion Functions pfnWdfIoQueueDrainSynchronously (DriverGlobals, Queue)
 
PFN_WDFIOQUEUEDRAIN WdfVersion Functions pfnWdfIoQueueDrain (DriverGlobals, Queue, DrainComplete, Context)
 
PFN_WDFIOQUEUEPURGESYNCHRONOUSLY WdfVersion Functions pfnWdfIoQueuePurgeSynchronously (DriverGlobals, Queue)
 
PFN_WDFIOQUEUEPURGE WdfVersion Functions pfnWdfIoQueuePurge (DriverGlobals, Queue, PurgeComplete, Context)
 
 return ((PFN_WDFIOQUEUEREADYNOTIFY) WdfVersion.Functions.pfnWdfIoQueueReadyNotify)(DriverGlobals
 
 return ((PFN_WDFIOQUEUEASSIGNFORWARDPROGRESSPOLICY) WdfVersion.Functions.pfnWdfIoQueueAssignForwardProgressPolicy)(DriverGlobals
 
PFN_WDFIOQUEUESTOPANDPURGE WdfVersion Functions pfnWdfIoQueueStopAndPurge (DriverGlobals, Queue, StopAndPurgeComplete, Context)
 
PFN_WDFIOQUEUESTOPANDPURGESYNCHRONOUSLY WdfVersion Functions pfnWdfIoQueueStopAndPurgeSynchronously (DriverGlobals, Queue)
 
 return ((PFN_WDFIOTARGETCREATE) WdfVersion.Functions.pfnWdfIoTargetCreate)(DriverGlobals
 
 return ((PFN_WDFIOTARGETOPEN) WdfVersion.Functions.pfnWdfIoTargetOpen)(DriverGlobals
 
PFN_WDFIOTARGETCLOSEFORQUERYREMOVE WdfVersion Functions pfnWdfIoTargetCloseForQueryRemove (DriverGlobals, IoTarget)
 
PFN_WDFIOTARGETCLOSE WdfVersion Functions pfnWdfIoTargetClose (DriverGlobals, IoTarget)
 
 return ((PFN_WDFIOTARGETSTART) WdfVersion.Functions.pfnWdfIoTargetStart)(DriverGlobals
 
 _When_ (Action==3, _IRQL_requires_max_(DISPATCH_LEVEL)) _When_(Action
 
PFN_WDFIOTARGETSTOP WdfVersion Functions pfnWdfIoTargetStop (DriverGlobals, IoTarget, Action)
 
PFN_WDFIOTARGETPURGE WdfVersion Functions pfnWdfIoTargetPurge (DriverGlobals, IoTarget, Action)
 
 return ((PFN_WDFIOTARGETGETSTATE) WdfVersion.Functions.pfnWdfIoTargetGetState)(DriverGlobals
 
 return ((PFN_WDFIOTARGETGETDEVICE) WdfVersion.Functions.pfnWdfIoTargetGetDevice)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _When_ (BufferLength !=0, _Out_writes_bytes_to_opt_(BufferLength, *ResultLength)) _When_(BufferLength
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_opt_ PVOID _Deref_out_range_ (<=, BufferLength) PULONG ResultLength)
 
 return ((PFN_WDFIOTARGETALLOCANDQUERYTARGETPROPERTY) WdfVersion.Functions.pfnWdfIoTargetAllocAndQueryTargetProperty)(DriverGlobals
 
 return ((PFN_WDFIOTARGETQUERYFORINTERFACE) WdfVersion.Functions.pfnWdfIoTargetQueryForInterface)(DriverGlobals
 
 return ((PFN_WDFIOTARGETWDMGETTARGETDEVICEOBJECT) WdfVersion.Functions.pfnWdfIoTargetWdmGetTargetDeviceObject)(DriverGlobals
 
 return ((PFN_WDFIOTARGETWDMGETTARGETPHYSICALDEVICE) WdfVersion.Functions.pfnWdfIoTargetWdmGetTargetPhysicalDevice)(DriverGlobals
 
 return ((PFN_WDFIOTARGETWDMGETTARGETFILEOBJECT) WdfVersion.Functions.pfnWdfIoTargetWdmGetTargetFileObject)(DriverGlobals
 
 return ((PFN_WDFIOTARGETWDMGETTARGETFILEHANDLE) WdfVersion.Functions.pfnWdfIoTargetWdmGetTargetFileHandle)(DriverGlobals
 
 return ((PFN_WDFIOTARGETSENDREADSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfIoTargetSendReadSynchronously)(DriverGlobals
 
 return ((PFN_WDFIOTARGETFORMATREQUESTFORREAD) WdfVersion.Functions.pfnWdfIoTargetFormatRequestForRead)(DriverGlobals
 
 return ((PFN_WDFIOTARGETSENDWRITESYNCHRONOUSLY) WdfVersion.Functions.pfnWdfIoTargetSendWriteSynchronously)(DriverGlobals
 
 return ((PFN_WDFIOTARGETFORMATREQUESTFORWRITE) WdfVersion.Functions.pfnWdfIoTargetFormatRequestForWrite)(DriverGlobals
 
 return ((PFN_WDFIOTARGETSENDIOCTLSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfIoTargetSendIoctlSynchronously)(DriverGlobals
 
 return ((PFN_WDFIOTARGETFORMATREQUESTFORIOCTL) WdfVersion.Functions.pfnWdfIoTargetFormatRequestForIoctl)(DriverGlobals
 
 return ((PFN_WDFIOTARGETSENDINTERNALIOCTLSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfIoTargetSendInternalIoctlSynchronously)(DriverGlobals
 
 return ((PFN_WDFIOTARGETFORMATREQUESTFORINTERNALIOCTL) WdfVersion.Functions.pfnWdfIoTargetFormatRequestForInternalIoctl)(DriverGlobals
 
 return ((PFN_WDFIOTARGETSENDINTERNALIOCTLOTHERSSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfIoTargetSendInternalIoctlOthersSynchronously)(DriverGlobals
 
 return ((PFN_WDFIOTARGETFORMATREQUESTFORINTERNALIOCTLOTHERS) WdfVersion.Functions.pfnWdfIoTargetFormatRequestForInternalIoctlOthers)(DriverGlobals
 
 return ((PFN_WDFIOTARGETSELFASSIGNDEFAULTIOQUEUE) WdfVersion.Functions.pfnWdfIoTargetSelfAssignDefaultIoQueue)(DriverGlobals
 
_Must_inspect_result_ _When_ (PoolType==1||PoolType==257, _IRQL_requires_max_(APC_LEVEL)) _When_(PoolType
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _When_ (BufferSize==0, __drv_reportError(BufferSize cannot be zero)) size_t BufferSize
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_ (BufferSize) PVOID *Buffer)
 
 return ((PFN_WDFMEMORYCREATEPREALLOCATED) WdfVersion.Functions.pfnWdfMemoryCreatePreallocated)(DriverGlobals
 
 return ((PFN_WDFMEMORYGETBUFFER) WdfVersion.Functions.pfnWdfMemoryGetBuffer)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFMEMORY _Pre_notnull_ _Pre_writable_byte_size_ (BufferSize) PVOID Buffer
 
_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t _Out_writes_bytes_ (NumBytesToCopyTo) PVOID Buffer
 
_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t _In_ _When_ (NumBytesToCopyTo==0, __drv_reportError(NumBytesToCopyTo cannot be zero)) size_t NumBytesToCopyTo)
 
_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t _In_ PVOID _In_ _When_ (NumBytesToCopyFrom==0, __drv_reportError(NumBytesToCopyFrom cannot be zero)) size_t NumBytesToCopyFrom)
 
 return ((PFN_WDFLOOKASIDELISTCREATE) WdfVersion.Functions.pfnWdfLookasideListCreate)(DriverGlobals
 
 return ((PFN_WDFMEMORYCREATEFROMLOOKASIDE) WdfVersion.Functions.pfnWdfMemoryCreateFromLookaside)(DriverGlobals
 
 return ((PFN_WDFDEVICEMINIPORTCREATE) WdfVersion.Functions.pfnWdfDeviceMiniportCreate)(DriverGlobals
 
WDFAPI VOID VFWDFEXPORT() WdfDriverMiniportUnload (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFDRIVER Driver)
 
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)
 
 return ((PFN_WDFOBJECTCREATE) WdfVersion.Functions.pfnWdfObjectCreate)(DriverGlobals
 
PFN_WDFOBJECTDELETE WdfVersion Functions pfnWdfObjectDelete (DriverGlobals, Object)
 
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID _In_ ULONG _Out_writes_bytes_ (QueryBufferLength) PVOID QueryBuffer)
 
 return ((PFN_WDFPDOINITALLOCATE) WdfVersion.Functions.pfnWdfPdoInitAllocate)(DriverGlobals
 
PFN_WDFPDOINITSETEVENTCALLBACKS WdfVersion Functions pfnWdfPdoInitSetEventCallbacks (DriverGlobals, DeviceInit, DispatchTable)
 
 return ((PFN_WDFPDOINITASSIGNDEVICEID) WdfVersion.Functions.pfnWdfPdoInitAssignDeviceID)(DriverGlobals
 
 return ((PFN_WDFPDOINITASSIGNINSTANCEID) WdfVersion.Functions.pfnWdfPdoInitAssignInstanceID)(DriverGlobals
 
 return ((PFN_WDFPDOINITADDHARDWAREID) WdfVersion.Functions.pfnWdfPdoInitAddHardwareID)(DriverGlobals
 
 return ((PFN_WDFPDOINITADDCOMPATIBLEID) WdfVersion.Functions.pfnWdfPdoInitAddCompatibleID)(DriverGlobals
 
 return ((PFN_WDFPDOINITASSIGNCONTAINERID) WdfVersion.Functions.pfnWdfPdoInitAssignContainerID)(DriverGlobals
 
 return ((PFN_WDFPDOINITADDDEVICETEXT) WdfVersion.Functions.pfnWdfPdoInitAddDeviceText)(DriverGlobals
 
PFN_WDFPDOINITSETDEFAULTLOCALE WdfVersion Functions pfnWdfPdoInitSetDefaultLocale (DriverGlobals, DeviceInit, LocaleId)
 
 return ((PFN_WDFPDOINITASSIGNRAWDEVICE) WdfVersion.Functions.pfnWdfPdoInitAssignRawDevice)(DriverGlobals
 
PFN_WDFPDOINITALLOWFORWARDINGREQUESTTOPARENT WdfVersion Functions pfnWdfPdoInitAllowForwardingRequestToParent (DriverGlobals, DeviceInit)
 
 return ((PFN_WDFPDOMARKMISSING) WdfVersion.Functions.pfnWdfPdoMarkMissing)(DriverGlobals
 
PFN_WDFPDOREQUESTEJECT WdfVersion Functions pfnWdfPdoRequestEject (DriverGlobals, Device)
 
 return ((PFN_WDFPDOGETPARENT) WdfVersion.Functions.pfnWdfPdoGetParent)(DriverGlobals
 
 return ((PFN_WDFPDORETRIEVEIDENTIFICATIONDESCRIPTION) WdfVersion.Functions.pfnWdfPdoRetrieveIdentificationDescription)(DriverGlobals
 
 return ((PFN_WDFPDORETRIEVEADDRESSDESCRIPTION) WdfVersion.Functions.pfnWdfPdoRetrieveAddressDescription)(DriverGlobals
 
 return ((PFN_WDFPDOUPDATEADDRESSDESCRIPTION) WdfVersion.Functions.pfnWdfPdoUpdateAddressDescription)(DriverGlobals
 
 return ((PFN_WDFPDOADDEJECTIONRELATIONSPHYSICALDEVICE) WdfVersion.Functions.pfnWdfPdoAddEjectionRelationsPhysicalDevice)(DriverGlobals
 
PFN_WDFPDOREMOVEEJECTIONRELATIONSPHYSICALDEVICE WdfVersion Functions pfnWdfPdoRemoveEjectionRelationsPhysicalDevice (DriverGlobals, Device, PhysicalDevice)
 
PFN_WDFPDOCLEAREJECTIONRELATIONSDEVICES WdfVersion Functions pfnWdfPdoClearEjectionRelationsDevices (DriverGlobals, Device)
 
 return ((PFN_WDFDEVICEADDQUERYINTERFACE) WdfVersion.Functions.pfnWdfDeviceAddQueryInterface)(DriverGlobals
 
 return ((PFN_WDFREGISTRYOPENKEY) WdfVersion.Functions.pfnWdfRegistryOpenKey)(DriverGlobals
 
 return ((PFN_WDFREGISTRYCREATEKEY) WdfVersion.Functions.pfnWdfRegistryCreateKey)(DriverGlobals
 
PFN_WDFREGISTRYCLOSE WdfVersion Functions pfnWdfRegistryClose (DriverGlobals, Key)
 
 return ((PFN_WDFREGISTRYWDMGETHANDLE) WdfVersion.Functions.pfnWdfRegistryWdmGetHandle)(DriverGlobals
 
 return ((PFN_WDFREGISTRYREMOVEKEY) WdfVersion.Functions.pfnWdfRegistryRemoveKey)(DriverGlobals
 
 return ((PFN_WDFREGISTRYREMOVEVALUE) WdfVersion.Functions.pfnWdfRegistryRemoveValue)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_writes_bytes_opt_ (ValueLength) PVOID Value
 
 return ((PFN_WDFREGISTRYQUERYVALUE) WdfVersion.Functions.pfnWdfRegistryQueryValue)(DriverGlobals
 
 return ((PFN_WDFREGISTRYQUERYMEMORY) WdfVersion.Functions.pfnWdfRegistryQueryMemory)(DriverGlobals
 
 return ((PFN_WDFREGISTRYQUERYMULTISTRING) WdfVersion.Functions.pfnWdfRegistryQueryMultiString)(DriverGlobals
 
 return ((PFN_WDFREGISTRYQUERYUNICODESTRING) WdfVersion.Functions.pfnWdfRegistryQueryUnicodeString)(DriverGlobals
 
 return ((PFN_WDFREGISTRYQUERYSTRING) WdfVersion.Functions.pfnWdfRegistryQueryString)(DriverGlobals
 
 return ((PFN_WDFREGISTRYQUERYULONG) WdfVersion.Functions.pfnWdfRegistryQueryULong)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _In_ ULONG _In_reads_ (ValueLength) PVOID Value)
 
 return ((PFN_WDFREGISTRYASSIGNMEMORY) WdfVersion.Functions.pfnWdfRegistryAssignMemory)(DriverGlobals
 
 return ((PFN_WDFREGISTRYASSIGNMULTISTRING) WdfVersion.Functions.pfnWdfRegistryAssignMultiString)(DriverGlobals
 
 return ((PFN_WDFREGISTRYASSIGNUNICODESTRING) WdfVersion.Functions.pfnWdfRegistryAssignUnicodeString)(DriverGlobals
 
 return ((PFN_WDFREGISTRYASSIGNSTRING) WdfVersion.Functions.pfnWdfRegistryAssignString)(DriverGlobals
 
 return ((PFN_WDFREGISTRYASSIGNULONG) WdfVersion.Functions.pfnWdfRegistryAssignULong)(DriverGlobals
 
 return ((PFN_WDFREQUESTCREATE) WdfVersion.Functions.pfnWdfRequestCreate)(DriverGlobals
 
 return ((PFN_WDFREQUESTCREATEFROMIRP) WdfVersion.Functions.pfnWdfRequestCreateFromIrp)(DriverGlobals
 
 return ((PFN_WDFREQUESTREUSE) WdfVersion.Functions.pfnWdfRequestReuse)(DriverGlobals
 
 return ((PFN_WDFREQUESTCHANGETARGET) WdfVersion.Functions.pfnWdfRequestChangeTarget)(DriverGlobals
 
PFN_WDFREQUESTFORMATREQUESTUSINGCURRENTTYPE WdfVersion Functions pfnWdfRequestFormatRequestUsingCurrentType (DriverGlobals, Request)
 
PFN_WDFREQUESTWDMFORMATUSINGSTACKLOCATION WdfVersion Functions pfnWdfRequestWdmFormatUsingStackLocation (DriverGlobals, Request, Stack)
 
_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)
 
 return ((PFN_WDFREQUESTGETSTATUS) WdfVersion.Functions.pfnWdfRequestGetStatus)(DriverGlobals
 
PFN_WDFREQUESTMARKCANCELABLE WdfVersion Functions pfnWdfRequestMarkCancelable (DriverGlobals, Request, EvtRequestCancel)
 
 return ((PFN_WDFREQUESTMARKCANCELABLEEX) WdfVersion.Functions.pfnWdfRequestMarkCancelableEx)(DriverGlobals
 
 return ((PFN_WDFREQUESTUNMARKCANCELABLE) WdfVersion.Functions.pfnWdfRequestUnmarkCancelable)(DriverGlobals
 
 return ((PFN_WDFREQUESTISCANCELED) WdfVersion.Functions.pfnWdfRequestIsCanceled)(DriverGlobals
 
 return ((PFN_WDFREQUESTCANCELSENTREQUEST) WdfVersion.Functions.pfnWdfRequestCancelSentRequest)(DriverGlobals
 
 return ((PFN_WDFREQUESTISFROM32BITPROCESS) WdfVersion.Functions.pfnWdfRequestIsFrom32BitProcess)(DriverGlobals
 
PFN_WDFREQUESTSETCOMPLETIONROUTINE WdfVersion Functions pfnWdfRequestSetCompletionRoutine (DriverGlobals, Request, CompletionRoutine, CompletionContext)
 
PFN_WDFREQUESTGETCOMPLETIONPARAMS WdfVersion Functions pfnWdfRequestGetCompletionParams (DriverGlobals, Request, Params)
 
 return ((PFN_WDFREQUESTALLOCATETIMER) WdfVersion.Functions.pfnWdfRequestAllocateTimer)(DriverGlobals
 
 PerfIoComplete (Request)
 
PFN_WDFREQUESTCOMPLETE WdfVersion Functions pfnWdfRequestComplete (DriverGlobals, Request, Status)
 
PFN_WDFREQUESTCOMPLETEWITHPRIORITYBOOST WdfVersion Functions pfnWdfRequestCompleteWithPriorityBoost (DriverGlobals, Request, Status, PriorityBoost)
 
PFN_WDFREQUESTCOMPLETEWITHINFORMATION WdfVersion Functions pfnWdfRequestCompleteWithInformation (DriverGlobals, Request, Status, Information)
 
PFN_WDFREQUESTGETPARAMETERS WdfVersion Functions pfnWdfRequestGetParameters (DriverGlobals, Request, Parameters)
 
 return ((PFN_WDFREQUESTRETRIEVEINPUTMEMORY) WdfVersion.Functions.pfnWdfRequestRetrieveInputMemory)(DriverGlobals
 
 return ((PFN_WDFREQUESTRETRIEVEOUTPUTMEMORY) WdfVersion.Functions.pfnWdfRequestRetrieveOutputMemory)(DriverGlobals
 
 return ((PFN_WDFREQUESTRETRIEVEINPUTBUFFER) WdfVersion.Functions.pfnWdfRequestRetrieveInputBuffer)(DriverGlobals
 
 return ((PFN_WDFREQUESTRETRIEVEOUTPUTBUFFER) WdfVersion.Functions.pfnWdfRequestRetrieveOutputBuffer)(DriverGlobals
 
 return ((PFN_WDFREQUESTRETRIEVEINPUTWDMMDL) WdfVersion.Functions.pfnWdfRequestRetrieveInputWdmMdl)(DriverGlobals
 
 return ((PFN_WDFREQUESTRETRIEVEOUTPUTWDMMDL) WdfVersion.Functions.pfnWdfRequestRetrieveOutputWdmMdl)(DriverGlobals
 
 return ((PFN_WDFREQUESTRETRIEVEUNSAFEUSERINPUTBUFFER) WdfVersion.Functions.pfnWdfRequestRetrieveUnsafeUserInputBuffer)(DriverGlobals
 
 return ((PFN_WDFREQUESTRETRIEVEUNSAFEUSEROUTPUTBUFFER) WdfVersion.Functions.pfnWdfRequestRetrieveUnsafeUserOutputBuffer)(DriverGlobals
 
PFN_WDFREQUESTSETINFORMATION WdfVersion Functions pfnWdfRequestSetInformation (DriverGlobals, Request, Information)
 
 return ((PFN_WDFREQUESTGETINFORMATION) WdfVersion.Functions.pfnWdfRequestGetInformation)(DriverGlobals
 
 return ((PFN_WDFREQUESTGETFILEOBJECT) WdfVersion.Functions.pfnWdfRequestGetFileObject)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFREQUEST _In_reads_bytes_ (Length) PVOID Buffer
 
 return ((PFN_WDFREQUESTPROBEANDLOCKUSERBUFFERFORREAD) WdfVersion.Functions.pfnWdfRequestProbeAndLockUserBufferForRead)(DriverGlobals
 
 return ((PFN_WDFREQUESTPROBEANDLOCKUSERBUFFERFORWRITE) WdfVersion.Functions.pfnWdfRequestProbeAndLockUserBufferForWrite)(DriverGlobals
 
 return ((PFN_WDFREQUESTGETREQUESTORMODE) WdfVersion.Functions.pfnWdfRequestGetRequestorMode)(DriverGlobals
 
 return ((PFN_WDFREQUESTFORWARDTOIOQUEUE) WdfVersion.Functions.pfnWdfRequestForwardToIoQueue)(DriverGlobals
 
 return ((PFN_WDFREQUESTGETIOQUEUE) WdfVersion.Functions.pfnWdfRequestGetIoQueue)(DriverGlobals
 
 return ((PFN_WDFREQUESTREQUEUE) WdfVersion.Functions.pfnWdfRequestRequeue)(DriverGlobals
 
PFN_WDFREQUESTSTOPACKNOWLEDGE WdfVersion Functions pfnWdfRequestStopAcknowledge (DriverGlobals, Request, Requeue)
 
 return ((PFN_WDFREQUESTWDMGETIRP) WdfVersion.Functions.pfnWdfRequestWdmGetIrp)(DriverGlobals
 
 return ((PFN_WDFREQUESTISRESERVED) WdfVersion.Functions.pfnWdfRequestIsReserved)(DriverGlobals
 
 return ((PFN_WDFREQUESTFORWARDTOPARENTDEVICEIOQUEUE) WdfVersion.Functions.pfnWdfRequestForwardToParentDeviceIoQueue)(DriverGlobals
 
PFN_WDFIORESOURCEREQUIREMENTSLISTSETSLOTNUMBER WdfVersion Functions pfnWdfIoResourceRequirementsListSetSlotNumber (DriverGlobals, RequirementsList, SlotNumber)
 
PFN_WDFIORESOURCEREQUIREMENTSLISTSETINTERFACETYPE WdfVersion Functions pfnWdfIoResourceRequirementsListSetInterfaceType (DriverGlobals, RequirementsList, InterfaceType)
 
 return ((PFN_WDFIORESOURCEREQUIREMENTSLISTAPPENDIORESLIST) WdfVersion.Functions.pfnWdfIoResourceRequirementsListAppendIoResList)(DriverGlobals
 
 return ((PFN_WDFIORESOURCEREQUIREMENTSLISTINSERTIORESLIST) WdfVersion.Functions.pfnWdfIoResourceRequirementsListInsertIoResList)(DriverGlobals
 
 return ((PFN_WDFIORESOURCEREQUIREMENTSLISTGETCOUNT) WdfVersion.Functions.pfnWdfIoResourceRequirementsListGetCount)(DriverGlobals
 
 return ((PFN_WDFIORESOURCEREQUIREMENTSLISTGETIORESLIST) WdfVersion.Functions.pfnWdfIoResourceRequirementsListGetIoResList)(DriverGlobals
 
PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVE WdfVersion Functions pfnWdfIoResourceRequirementsListRemove (DriverGlobals, RequirementsList, Index)
 
PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVEBYIORESLIST WdfVersion Functions pfnWdfIoResourceRequirementsListRemoveByIoResList (DriverGlobals, RequirementsList, IoResList)
 
 return ((PFN_WDFIORESOURCELISTCREATE) WdfVersion.Functions.pfnWdfIoResourceListCreate)(DriverGlobals
 
 return ((PFN_WDFIORESOURCELISTAPPENDDESCRIPTOR) WdfVersion.Functions.pfnWdfIoResourceListAppendDescriptor)(DriverGlobals
 
 return ((PFN_WDFIORESOURCELISTINSERTDESCRIPTOR) WdfVersion.Functions.pfnWdfIoResourceListInsertDescriptor)(DriverGlobals
 
PFN_WDFIORESOURCELISTUPDATEDESCRIPTOR WdfVersion Functions pfnWdfIoResourceListUpdateDescriptor (DriverGlobals, ResourceList, Descriptor, Index)
 
 return ((PFN_WDFIORESOURCELISTGETCOUNT) WdfVersion.Functions.pfnWdfIoResourceListGetCount)(DriverGlobals
 
 return ((PFN_WDFIORESOURCELISTGETDESCRIPTOR) WdfVersion.Functions.pfnWdfIoResourceListGetDescriptor)(DriverGlobals
 
PFN_WDFIORESOURCELISTREMOVE WdfVersion Functions pfnWdfIoResourceListRemove (DriverGlobals, ResourceList, Index)
 
PFN_WDFIORESOURCELISTREMOVEBYDESCRIPTOR WdfVersion Functions pfnWdfIoResourceListRemoveByDescriptor (DriverGlobals, ResourceList, Descriptor)
 
 return ((PFN_WDFCMRESOURCELISTAPPENDDESCRIPTOR) WdfVersion.Functions.pfnWdfCmResourceListAppendDescriptor)(DriverGlobals
 
 return ((PFN_WDFCMRESOURCELISTINSERTDESCRIPTOR) WdfVersion.Functions.pfnWdfCmResourceListInsertDescriptor)(DriverGlobals
 
 return ((PFN_WDFCMRESOURCELISTGETCOUNT) WdfVersion.Functions.pfnWdfCmResourceListGetCount)(DriverGlobals
 
 return ((PFN_WDFCMRESOURCELISTGETDESCRIPTOR) WdfVersion.Functions.pfnWdfCmResourceListGetDescriptor)(DriverGlobals
 
PFN_WDFCMRESOURCELISTREMOVE WdfVersion Functions pfnWdfCmResourceListRemove (DriverGlobals, List, Index)
 
PFN_WDFCMRESOURCELISTREMOVEBYDESCRIPTOR WdfVersion Functions pfnWdfCmResourceListRemoveByDescriptor (DriverGlobals, List, Descriptor)
 
 return ((PFN_WDFSTRINGCREATE) WdfVersion.Functions.pfnWdfStringCreate)(DriverGlobals
 
PFN_WDFSTRINGGETUNICODESTRING WdfVersion Functions pfnWdfStringGetUnicodeString (DriverGlobals, String, UnicodeString)
 
 return ((PFN_WDFWAITLOCKCREATE) WdfVersion.Functions.pfnWdfWaitLockCreate)(DriverGlobals
 
 _When_ (Timeout==NULL, _IRQL_requires_max_(PASSIVE_LEVEL)) _When_(Timeout !
 
 _Acquires_lock_ (Lock))) _When_(Timeout !
 
_Must_inspect_result_ WDFAPI NTSTATUS VFWDFEXPORT() WdfWaitLockAcquire (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ _Requires_lock_not_held_(_Curr_) WDFWAITLOCK Lock, _In_opt_ PLONGLONG Timeout)
 
 return ((PFN_WDFSPINLOCKCREATE) WdfVersion.Functions.pfnWdfSpinLockCreate)(DriverGlobals
 
 return ((PFN_WDFTIMERCREATE) WdfVersion.Functions.pfnWdfTimerCreate)(DriverGlobals
 
 return ((PFN_WDFTIMERSTART) WdfVersion.Functions.pfnWdfTimerStart)(DriverGlobals
 
 return ((PFN_WDFTIMERSTOP) WdfVersion.Functions.pfnWdfTimerStop)(DriverGlobals
 
 return ((PFN_WDFTIMERGETPARENTOBJECT) WdfVersion.Functions.pfnWdfTimerGetParentObject)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICECREATE) WdfVersion.Functions.pfnWdfUsbTargetDeviceCreate)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICECREATEWITHPARAMETERS) WdfVersion.Functions.pfnWdfUsbTargetDeviceCreateWithParameters)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICERETRIEVEINFORMATION) WdfVersion.Functions.pfnWdfUsbTargetDeviceRetrieveInformation)(DriverGlobals
 
PFN_WDFUSBTARGETDEVICEGETDEVICEDESCRIPTOR WdfVersion Functions pfnWdfUsbTargetDeviceGetDeviceDescriptor (DriverGlobals, UsbDevice, UsbDeviceDescriptor)
 
 return ((PFN_WDFUSBTARGETDEVICERETRIEVECONFIGDESCRIPTOR) WdfVersion.Functions.pfnWdfUsbTargetDeviceRetrieveConfigDescriptor)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICEQUERYSTRING) WdfVersion.Functions.pfnWdfUsbTargetDeviceQueryString)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICEALLOCANDQUERYSTRING) WdfVersion.Functions.pfnWdfUsbTargetDeviceAllocAndQueryString)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORSTRING) WdfVersion.Functions.pfnWdfUsbTargetDeviceFormatRequestForString)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICEGETNUMINTERFACES) WdfVersion.Functions.pfnWdfUsbTargetDeviceGetNumInterfaces)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICESELECTCONFIG) WdfVersion.Functions.pfnWdfUsbTargetDeviceSelectConfig)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICEWDMGETCONFIGURATIONHANDLE) WdfVersion.Functions.pfnWdfUsbTargetDeviceWdmGetConfigurationHandle)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICERETRIEVECURRENTFRAMENUMBER) WdfVersion.Functions.pfnWdfUsbTargetDeviceRetrieveCurrentFrameNumber)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICESENDCONTROLTRANSFERSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfUsbTargetDeviceSendControlTransferSynchronously)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCONTROLTRANSFER) WdfVersion.Functions.pfnWdfUsbTargetDeviceFormatRequestForControlTransfer)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICEISCONNECTEDSYNCHRONOUS) WdfVersion.Functions.pfnWdfUsbTargetDeviceIsConnectedSynchronous)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICERESETPORTSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfUsbTargetDeviceResetPortSynchronously)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICECYCLEPORTSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfUsbTargetDeviceCyclePortSynchronously)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCYCLEPORT) WdfVersion.Functions.pfnWdfUsbTargetDeviceFormatRequestForCyclePort)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_reads_ (_Inexpressible_("union bug in SAL")) PURB Urb)
 
 return ((PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORURB) WdfVersion.Functions.pfnWdfUsbTargetDeviceFormatRequestForUrb)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _When_ (CapabilityBufferLength==0, _Out_opt_) _When_(CapabilityBufferLength !=0 &&ResultLength
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _Out_writes_bytes_ (CapabilityBufferLength)) _When_(CapabilityBufferLength !=0 &&ResultLength !
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _Out_writes_bytes_to_opt_ (CapabilityBufferLength, *ResultLength)) PVOID CapabilityBuffer
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _Out_opt_ _When_ (ResultLength !=NULL, _Deref_out_range_(<=, CapabilityBufferLength)) PULONG ResultLength)
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_ (sizeof(URB)) PURB *Urb)
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ ULONG _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_ (GET_ISO_URB_SIZE(NumberOfIsochPackets)) PURB *Urb)
 
PFN_WDFUSBTARGETPIPEGETINFORMATION WdfVersion Functions pfnWdfUsbTargetPipeGetInformation (DriverGlobals, Pipe, PipeInformation)
 
 return ((PFN_WDFUSBTARGETPIPEISINENDPOINT) WdfVersion.Functions.pfnWdfUsbTargetPipeIsInEndpoint)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEISOUTENDPOINT) WdfVersion.Functions.pfnWdfUsbTargetPipeIsOutEndpoint)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEGETTYPE) WdfVersion.Functions.pfnWdfUsbTargetPipeGetType)(DriverGlobals
 
PFN_WDFUSBTARGETPIPESETNOMAXIMUMPACKETSIZECHECK WdfVersion Functions pfnWdfUsbTargetPipeSetNoMaximumPacketSizeCheck (DriverGlobals, Pipe)
 
 return ((PFN_WDFUSBTARGETPIPEWRITESYNCHRONOUSLY) WdfVersion.Functions.pfnWdfUsbTargetPipeWriteSynchronously)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEFORMATREQUESTFORWRITE) WdfVersion.Functions.pfnWdfUsbTargetPipeFormatRequestForWrite)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEREADSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfUsbTargetPipeReadSynchronously)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEFORMATREQUESTFORREAD) WdfVersion.Functions.pfnWdfUsbTargetPipeFormatRequestForRead)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPECONFIGCONTINUOUSREADER) WdfVersion.Functions.pfnWdfUsbTargetPipeConfigContinuousReader)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEABORTSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfUsbTargetPipeAbortSynchronously)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEFORMATREQUESTFORABORT) WdfVersion.Functions.pfnWdfUsbTargetPipeFormatRequestForAbort)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPERESETSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfUsbTargetPipeResetSynchronously)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEFORMATREQUESTFORRESET) WdfVersion.Functions.pfnWdfUsbTargetPipeFormatRequestForReset)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEFORMATREQUESTFORURB) WdfVersion.Functions.pfnWdfUsbTargetPipeFormatRequestForUrb)(DriverGlobals
 
 return ((PFN_WDFUSBINTERFACEGETINTERFACENUMBER) WdfVersion.Functions.pfnWdfUsbInterfaceGetInterfaceNumber)(DriverGlobals
 
 return ((PFN_WDFUSBINTERFACEGETNUMENDPOINTS) WdfVersion.Functions.pfnWdfUsbInterfaceGetNumEndpoints)(DriverGlobals
 
PFN_WDFUSBINTERFACEGETDESCRIPTOR WdfVersion Functions pfnWdfUsbInterfaceGetDescriptor (DriverGlobals, UsbInterface, SettingIndex, InterfaceDescriptor)
 
 return ((PFN_WDFUSBINTERFACEGETNUMSETTINGS) WdfVersion.Functions.pfnWdfUsbInterfaceGetNumSettings)(DriverGlobals
 
 return ((PFN_WDFUSBINTERFACESELECTSETTING) WdfVersion.Functions.pfnWdfUsbInterfaceSelectSetting)(DriverGlobals
 
PFN_WDFUSBINTERFACEGETENDPOINTINFORMATION WdfVersion Functions pfnWdfUsbInterfaceGetEndpointInformation (DriverGlobals, UsbInterface, SettingIndex, EndpointIndex, EndpointInfo)
 
 return ((PFN_WDFUSBTARGETDEVICEGETINTERFACE) WdfVersion.Functions.pfnWdfUsbTargetDeviceGetInterface)(DriverGlobals
 
 return ((PFN_WDFUSBINTERFACEGETCONFIGUREDSETTINGINDEX) WdfVersion.Functions.pfnWdfUsbInterfaceGetConfiguredSettingIndex)(DriverGlobals
 
 return ((PFN_WDFUSBINTERFACEGETNUMCONFIGUREDPIPES) WdfVersion.Functions.pfnWdfUsbInterfaceGetNumConfiguredPipes)(DriverGlobals
 
 return ((PFN_WDFUSBINTERFACEGETCONFIGUREDPIPE) WdfVersion.Functions.pfnWdfUsbInterfaceGetConfiguredPipe)(DriverGlobals
 
 return ((PFN_WDFUSBTARGETPIPEWDMGETPIPEHANDLE) WdfVersion.Functions.pfnWdfUsbTargetPipeWdmGetPipeHandle)(DriverGlobals
 
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)
 
 return ((PFN_WDFWMIPROVIDERCREATE) WdfVersion.Functions.pfnWdfWmiProviderCreate)(DriverGlobals
 
 return ((PFN_WDFWMIPROVIDERGETDEVICE) WdfVersion.Functions.pfnWdfWmiProviderGetDevice)(DriverGlobals
 
 return ((PFN_WDFWMIPROVIDERISENABLED) WdfVersion.Functions.pfnWdfWmiProviderIsEnabled)(DriverGlobals
 
 return ((PFN_WDFWMIPROVIDERGETTRACINGHANDLE) WdfVersion.Functions.pfnWdfWmiProviderGetTracingHandle)(DriverGlobals
 
 return ((PFN_WDFWMIINSTANCECREATE) WdfVersion.Functions.pfnWdfWmiInstanceCreate)(DriverGlobals
 
 return ((PFN_WDFWMIINSTANCEREGISTER) WdfVersion.Functions.pfnWdfWmiInstanceRegister)(DriverGlobals
 
PFN_WDFWMIINSTANCEDEREGISTER WdfVersion Functions pfnWdfWmiInstanceDeregister (DriverGlobals, WmiInstance)
 
 return ((PFN_WDFWMIINSTANCEGETDEVICE) WdfVersion.Functions.pfnWdfWmiInstanceGetDevice)(DriverGlobals
 
 return ((PFN_WDFWMIINSTANCEGETPROVIDER) WdfVersion.Functions.pfnWdfWmiInstanceGetProvider)(DriverGlobals
 
_Must_inspect_result_ _In_ WDFWMIINSTANCE _In_opt_ ULONG _In_reads_bytes_opt_ (EventDataSize) PVOID EventData)
 
 return ((PFN_WDFWORKITEMCREATE) WdfVersion.Functions.pfnWdfWorkItemCreate)(DriverGlobals
 
PFN_WDFWORKITEMENQUEUE WdfVersion Functions pfnWdfWorkItemEnqueue (DriverGlobals, WorkItem)
 
 return ((PFN_WDFWORKITEMGETPARENTOBJECT) WdfVersion.Functions.pfnWdfWorkItemGetParentObject)(DriverGlobals
 
PFN_WDFWORKITEMFLUSH WdfVersion Functions pfnWdfWorkItemFlush (DriverGlobals, WorkItem)
 

Variables

WDFVERSION WdfVersion
 
_Must_inspect_result_ _In_ WDFDEVICE Device
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES ChildListAttributes
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFCHILDLIST * ChildList
 
_Must_inspect_result_ _In_ WDFCHILDLIST _Inout_ PWDF_CHILD_RETRIEVE_INFO RetrieveInfo
 
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
 
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER _Inout_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
 
_In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR Iterator
 
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES CollectionAttributes
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFCOLLECTION * Collection
 
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
 
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
 
_In_ WDFCOLLECTION _In_ ULONG Index
 
_Must_inspect_result_ _In_ WDFDMAENABLER DmaEnabler
 
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
 
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFCOMMONBUFFER * CommonBuffer
 
 Length
 
_Must_inspect_result_ _In_ WDFDRIVER Driver
 
_Must_inspect_result_ _In_ WDFDRIVER _In_ CONST UNICODE_STRINGSDDLString
 
_In_ PWDFDEVICE_INIT DeviceInit
 
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification
 
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION _In_ UCHAR Flags
 
_Must_inspect_result_ _In_ PWDFCXDEVICE_INIT CxDeviceInit
 
_Must_inspect_result_ _In_ PWDFCXDEVICE_INIT _In_ PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS EvtCxDeviceWdmIrpPreprocess
 
_Must_inspect_result_ _In_ PWDFCXDEVICE_INIT _In_ PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR MajorFunction
 
_Must_inspect_result_ _In_ PWDFCXDEVICE_INIT _In_ PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR MinorFunctions
 
_Must_inspect_result_ _In_ PWDFCXDEVICE_INIT _In_ PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR _In_ ULONG NumMinorFunctions
 
_In_ PWDFCXDEVICE_INIT _In_ PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
 
_In_ PWDFCXDEVICE_INIT _In_ PWDF_OBJECT_ATTRIBUTES RequestAttributes
 
_In_ PWDFCXDEVICE_INIT _In_ PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig
 
_In_ PWDFCXDEVICE_INIT _In_ PWDFCX_FILEOBJECT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
 
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
 
_In_ PDEVICE_OBJECT DeviceObject
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP Irp
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFCONTEXT DispatchContext
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PDEVICE_OBJECT DependentDevice
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PDEVICE_OBJECT PhysicalDevice
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING MofResourceName
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG DeviceInstanceKeyType
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES KeyAttributes
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFKEY * Key
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
 
_In_ WDFDEVICE _In_ WDF_SPECIAL_FILE_TYPE FileType
 
_In_ WDFDEVICE _In_ WDF_SPECIAL_FILE_TYPE _In_ BOOLEAN FileTypeIsSupported
 
_In_ WDFDEVICE _In_ ULONG DeviceCharacteristics
 
_In_ WDFDEVICE _In_ ULONG AlignmentRequirement
 
_In_ PWDFDEVICE_INIT _In_ PWDF_PNPPOWER_EVENT_CALLBACKS PnpPowerEventCallbacks
 
_In_ PWDFDEVICE_INIT _In_ PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks
 
_In_ PWDFDEVICE_INIT _In_ BOOLEAN IsPowerPolicyOwner
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_PNP_STATE PnpState
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_PNP_STATE _In_ PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_PNP_STATE _In_ PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION _In_ ULONG CallbackTypes
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_STATE PowerState
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_STATE _In_ PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_POLICY_STATE _In_ PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION EvtDevicePowerPolicyStateChange
 
_In_ PWDFDEVICE_INIT _In_ BOOLEAN IsExclusive
 
_In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_IO_TYPE IoType
 
_In_ PWDFDEVICE_INIT _In_ DEVICE_TYPE DeviceType
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
 
_In_ PWDFDEVICE_INIT _In_ CONST GUIDDeviceClassGuid
 
_In_ PWDFDEVICE_INIT _In_ ULONG _In_ BOOLEAN OrInValues
 
_In_ PWDFDEVICE_INIT _In_ PWDF_FILEOBJECT_CONFIG FileObjectConfig
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS EvtDeviceWdmIrpPreprocess
 
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
 
_Must_inspect_result_ _Inout_ PWDFDEVICE_INIT _In_opt_ PWDF_OBJECT_ATTRIBUTES DeviceAttributes
 
NTSTATUS status
 
_In_ WDFDEVICE _In_ BOOLEAN Stoppable
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUIDInterfaceClassGUID
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUID _In_opt_ PCUNICODE_STRING ReferenceString
 
_In_ WDFDEVICE _In_ CONST GUID _In_opt_ PCUNICODE_STRING _In_ BOOLEAN IsInterfaceEnabled
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING SymbolicLinkName
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
 
 PropertyBuffer
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * PropertyMemory
 
_In_ WDFDEVICE _In_ PWDF_DEVICE_PNP_CAPABILITIES PnpCapabilities
 
_In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
 
_In_ WDFDEVICE _In_ PPNP_BUS_INFORMATION BusInformation
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ NTSTATUS WaitWakeStatus
 
_In_ WDFDEVICE _In_ WDF_DEVICE_FAILED_ACTION FailedAction
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN WaitForD0
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID _In_ LONG Line
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID _In_ LONG _In_z_ PCHAR File
 
_In_ WDFDEVICE _In_ PFILE_OBJECT FileObject
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFQUEUE _In_ _Strict_type_match_ WDF_REQUEST_TYPE RequestType
 
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ WDFDRIVER _In_ UCHAR _In_ PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDisptach
 
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ WDFDRIVER _In_ UCHAR _In_ PFN_WDFDEVICE_WDM_IRP_DISPATCH _In_opt_ WDFCONTEXT DriverContext
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_POWER_FRAMEWORK_SETTINGS PowerFrameworkSettings
 
_In_ PWDFDEVICE_INIT _In_ WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure
 
_In_ PWDFDEVICE_INIT _In_ PWDF_IO_TYPE_CONFIG IoTypeConfig
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG RequiredSize
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG _Out_ PDEVPROPTYPE Type
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DMA_ENABLER_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDMAENABLER * DmaEnablerHandle
 
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ PWDF_DMA_SYSTEM_PROFILE_CONFIG ProfileConfig
 
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ PWDF_DMA_SYSTEM_PROFILE_CONFIG _In_ WDF_DMA_DIRECTION ConfigDirection
 
_In_ WDFDMAENABLER _In_ WDF_DMA_DIRECTION DmaDirection
 
_Must_inspect_result_ _In_ WDFDMAENABLER _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDMATRANSACTION * DmaTransaction
 
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction
 
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL Mdl
 
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
 
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ size_t Offset
 
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_opt_ WDFCONTEXT Context
 
_In_ WDFDMATRANSACTION _Out_ NTSTATUSStatus
 
_In_ WDFDMATRANSACTION _In_ size_t TransferredLength
 
_In_ WDFDMATRANSACTION _In_ size_t FinalTransferredLength
 
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
 
_In_ WDFDMATRANSACTION _Out_opt_ ULONGMapRegisterCount
 
_In_ WDFDMATRANSACTION _Out_opt_ ULONG _Out_opt_ ULONGScatterGatherElementCount
 
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL ConfigureRoutine
 
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL _In_opt_ PVOID ConfigureContext
 
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine
 
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE _In_opt_ PVOID DmaCompletionContext
 
_In_ WDFDMATRANSACTION _In_ BOOLEAN UseImmediateExecution
 
_In_ WDFDMATRANSACTION _In_ WDF_DMA_DIRECTION _In_ ULONG RequiredMapRegisters
 
_In_ WDFDMATRANSACTION _In_ WDF_DMA_DIRECTION _In_ ULONG _In_ PFN_WDF_RESERVE_DMA EvtReserveDmaFunction
 
_In_ WDFDMATRANSACTION _In_ WDF_DMA_DIRECTION _In_ ULONG _In_ PFN_WDF_RESERVE_DMA _In_ PVOID EvtReserveDmaContext
 
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
 
_In_ WDFDPC _In_ BOOLEAN Wait
 
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
 
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
 
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES DriverAttributes
 
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PWDF_DRIVER_CONFIG DriverConfig
 
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PFN_WDF_TRACE_CALLBACK EvtTraceCallback
 
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PFN_WDF_TRACE_CALLBACK _In_ PVOID ControlBlock
 
_Must_inspect_result_ _In_ WDFDRIVER _In_ PWDF_DRIVER_VERSION_AVAILABLE_PARAMS VersionAvailableParams
 
_In_ PWDFDEVICE_INIT _In_ PWDF_FDO_EVENT_CALLBACKS FdoEventCallbacks
 
_Inout_ PWDFDEVICE_INIT _In_ PWDF_CHILD_LIST_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES DefaultChildListAttributes
 
_Must_inspect_result_ _In_ WDFDEVICE Fdo
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT _In_opt_ PVOID InterfaceSpecificData
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFDEVICE Child
 
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ WDFDEVICE PreviousChild
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG Configuration
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
 
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
 
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY Policy
 
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
 
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY _In_ KAFFINITY TargetProcessorSet
 
_In_ WDFINTERRUPT _In_ PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_IO_QUEUE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES QueueAttributes
 
_In_ WDFQUEUE _Out_opt_ PULONG QueueRequests
 
_In_ WDFQUEUE _Out_opt_ PULONG _Out_opt_ PULONG DriverRequests
 
_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE StopComplete
 
_Must_inspect_result_ _In_ WDFQUEUE _Out_ WDFREQUEST * OutRequest
 
NTSTATUS rtn = ((PFN_WDFIOQUEUERETRIEVENEXTREQUEST) WdfVersion.Functions.pfnWdfIoQueueRetrieveNextRequest)(DriverGlobals, Queue, OutRequest)
 
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST FoundRequest
 
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
 
_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE DrainComplete
 
_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE PurgeComplete
 
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE QueueReady
 
_Must_inspect_result_ _In_ WDFQUEUE _In_ PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY ForwardProgressPolicy
 
_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE StopAndPurgeComplete
 
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES IoTargetAttributes
 
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_ PWDF_IO_TARGET_OPEN_PARAMS OpenParams
 
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OutputBufferOffset
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET InputBufferOffset
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG IoctlCode
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesReturned
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR OtherArg1
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR OtherArg2
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR OtherArg4
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OtherArg1Offset
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OtherArg2Offset
 
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OtherArg4Offset
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG PoolTag
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ __drv_aliasesMem PVOID Buffer
 
 BufferSize
 
_Must_inspect_result_ _In_ WDFMEMORY SourceMemory
 
_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t SourceOffset
 
_Must_inspect_result_ _In_ WDFMEMORY DestinationMemory
 
_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t DestinationOffset
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES LookasideAttributes
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES MemoryAttributes
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_opt_ ULONG _Out_ WDFLOOKASIDE * Lookaside
 
_Must_inspect_result_ _In_ WDFDRIVER _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT AttachedDeviceObject
 
_Must_inspect_result_ _In_ WDFDRIVER _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT Pdo
 
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUIDGuid
 
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID _In_ ULONG QueryBufferLength
 
_Must_inspect_result_ _In_ WDFDEVICE ParentDevice
 
_In_ PWDFDEVICE_INIT _In_ PWDF_PDO_EVENT_CALLBACKS DispatchTable
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceID
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING InstanceID
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING HardwareID
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING CompatibleID
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING ContainerID
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceDescription
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING _In_ PCUNICODE_STRING DeviceLocation
 
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING _In_ PCUNICODE_STRING _In_ LCID LocaleId
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_QUERY_INTERFACE_CONFIG InterfaceConfig
 
_Must_inspect_result_ _In_opt_ WDFKEY ParentKey
 
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG CreateOptions
 
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG _Out_opt_ PULONG CreateDisposition
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG ValueLengthQueried
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
 
 Value
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES StringsAttributes
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT ValueByteLength
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _In_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET MemoryOffsets
 
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ WDFCOLLECTION StringsCollection
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PIRP _In_ BOOLEAN RequestFreesIrp
 
_In_ WDFREQUEST _In_ PWDF_REQUEST_REUSE_PARAMS ReuseParams
 
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
 
_In_ WDFREQUEST _In_ PFN_WDF_REQUEST_CANCEL EvtRequestCancel
 
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine
 
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE _In_opt_ __drv_aliasesMem WDFCONTEXT CompletionContext
 
_In_ WDFREQUEST _Out_ PWDF_REQUEST_COMPLETION_PARAMS Params
 
_In_ WDFREQUEST _In_ NTSTATUS _In_ CCHAR PriorityBoost
 
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
 
_Must_inspect_result_ _In_ WDFREQUEST _In_ size_t MinimumRequiredLength
 
_Must_inspect_result_ _In_ WDFREQUEST _In_ size_t MinimumRequiredSize
 
_Must_inspect_result_ _In_ WDFREQUEST _In_ size_t _Out_ WDFMEMORY * MemoryObject
 
_Must_inspect_result_ _In_ WDFREQUEST _In_ WDFQUEUE DestinationQueue
 
_In_ WDFREQUEST _In_ BOOLEAN Requeue
 
_Must_inspect_result_ _In_ WDFREQUEST _In_ WDFQUEUE ParentDeviceQueue
 
_Must_inspect_result_ _In_ WDFREQUEST _In_ WDFQUEUE _In_ PWDF_REQUEST_FORWARD_OPTIONS ForwardOptions
 
_In_ WDFIORESREQLIST RequirementsList
 
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
 
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_ WDFIORESLIST IoResList
 
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
 
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
 
_Must_inspect_result_ _In_ WDFCMRESLIST List
 
_Must_inspect_result_ _In_opt_ PCUNICODE_STRING UnicodeString
 
_Must_inspect_result_ _In_opt_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES StringAttributes
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES LockAttributes
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES SpinLockAttributes
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
 
_Must_inspect_result_ _In_ PWDF_TIMER_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFTIMER * Timer
 
_In_ WDFTIMER _In_ LONGLONG DueTime
 
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
 
_In_ WDFUSBDEVICE _Out_ PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_writes_bytes_to_opt_ ConfigDescriptorLength PVOID ConfigDescriptor
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_writes_bytes_to_opt_ ConfigDescriptorLength PVOID _Inout_ PUSHORT ConfigDescriptorLength
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT NumCharacters
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR StringIndex
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR _In_opt_ USHORT LangID
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES StringMemoryAttributes
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * StringMemory
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES PipeAttributes
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_ PULONG CurrentFrameNumber
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET SetupPacket
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ PWDF_MEMORY_DESCRIPTOR MemoryDescriptor
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ PWDF_MEMORY_DESCRIPTOR _Out_opt_ PULONG BytesTransferred
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ WDFMEMORY TransferMemory
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET TransferOffset
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY UrbMemory
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET UrbMemoryOffset
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUIDCapabilityType
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG CapabilityBufferLength
 
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ ULONG NumberOfIsochPackets
 
_In_ WDFUSBPIPE Pipe
 
_In_ WDFUSBPIPE _Out_ PWDF_USB_PIPE_INFORMATION PipeInformation
 
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY WriteMemory
 
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET WriteOffset
 
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY ReadMemory
 
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET ReadOffset
 
_Must_inspect_result_ _In_ WDFUSBPIPE PIPE
 
_In_ WDFUSBINTERFACE UsbInterface
 
_In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex
 
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_ PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
 
_Must_inspect_result_ _In_ WDFUSBINTERFACE _In_opt_ PWDF_OBJECT_ATTRIBUTES PipesAttributes
 
_In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR EndpointIndex
 
_In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR _Out_ PWDF_USB_PIPE_INFORMATION EndpointInfo
 
_In_ WDFUSBDEVICE _In_ UCHAR InterfaceIndex
 
_In_ WDFUSBINTERFACE _In_ UCHAR PipeIndex
 
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_opt_ PWDF_USB_PIPE_INFORMATION PipeInfo
 
_In_ WDFUSBPIPE UsbPipe
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_PROVIDER_CONFIG WmiProviderConfig
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_PROVIDER_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES ProviderAttributes
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_PROVIDER_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWMIPROVIDER * WmiProvider
 
_In_ WDFWMIPROVIDER _In_ WDF_WMI_PROVIDER_CONTROL ProviderControl
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG InstanceConfig
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES InstanceAttributes
 
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFWMIINSTANCE * Instance
 
_Must_inspect_result_ _In_ WDFWMIINSTANCE WmiInstance
 
_Must_inspect_result_ _In_ WDFWMIINSTANCE _In_opt_ ULONG EventDataSize
 
_Must_inspect_result_ _In_ PWDF_WORKITEM_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWORKITEM * WorkItem
 

Function Documentation

◆ _Acquires_lock_() [1/2]

_Must_inspect_result_ _In_ _Acquires_lock_ ( _Curr_  )

Definition at line 3816 of file vfwdfdynamics.cpp.

3819{
3821 return ((PFN_WDFINTERRUPTTRYTOACQUIRELOCK) WdfVersion.Functions.pfnWdfInterruptTryToAcquireLock)(DriverGlobals, Interrupt);
3822}
DriverGlobals
WDFVERSION WdfVersion
PAGED_CODE_LOCKED()
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
PFN_WDFINTERRUPTTRYTOACQUIRELOCK pfnWdfInterruptTryToAcquireLock
Definition: fxdynamics.h:549
WDFFUNCTIONS Functions
Definition: fxdynamics.h:594

◆ _Acquires_lock_() [2/2]

_Acquires_lock_ ( Lock  )

◆ _Deref_out_range_()

Definition at line 4359 of file vfwdfdynamics.cpp.

4362{
4364#pragma prefast(suppress: __WARNING_HIGH_PRIORITY_OVERFLOW_POSTCONDITION, "This is a verifier DDI hook routine and all it does is call original routine.")
4366}
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
PropertyBuffer
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
PFN_WDFIOTARGETQUERYTARGETPROPERTY pfnWdfIoTargetQueryTargetProperty
Definition: fxdynamics.h:226

◆ _In_reads_() [1/2]

_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_reads_ ( _Inexpressible_("union bug in SAL")  )

Definition at line 7480 of file vfwdfdynamics.cpp.

7483{
7485 return ((PFN_WDFUSBTARGETDEVICESENDURBSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfUsbTargetDeviceSendUrbSynchronously)(DriverGlobals, UsbDevice, Request, RequestOptions, Urb);
7486}
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceSendUrbSynchronously
Definition: fxdynamics.h:447

◆ _In_reads_() [2/2]

Definition at line 5701 of file vfwdfdynamics.cpp.

5704{
5707}
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFKEY * Key
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
PFN_WDFREGISTRYASSIGNVALUE pfnWdfRegistryAssignValue
Definition: fxdynamics.h:292

◆ _In_reads_bytes_()

_Must_inspect_result_ _In_ WDFREQUEST _In_reads_bytes_ ( Length  )

◆ _In_reads_bytes_opt_()

_Must_inspect_result_ _In_ WDFWMIINSTANCE _In_opt_ ULONG _In_reads_bytes_opt_ ( EventDataSize  )

Definition at line 8244 of file vfwdfdynamics.cpp.

8247{
8249 return ((PFN_WDFWMIINSTANCEFIREEVENT) WdfVersion.Functions.pfnWdfWmiInstanceFireEvent)(DriverGlobals, WmiInstance, EventDataSize, EventData);
8250}
_Must_inspect_result_ _In_ WDFWMIINSTANCE _In_opt_ ULONG EventDataSize
_Must_inspect_result_ _In_ WDFWMIINSTANCE WmiInstance
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceFireEvent
Definition: fxdynamics.h:486

◆ _IRQL_requires_max_() [1/5]

_Must_inspect_result_ _IRQL_requires_max_ ( APC_LEVEL  )

Probes and locks virtual pages in memory for the specified process.

Parameters
[in,out]MemoryDescriptorListMemory Descriptor List (MDL) containing the buffer to be probed and locked.
[in]ProcessThe process for which the buffer should be probed and locked.
[in]AccessModeAccess mode for probing the pages. Can be KernelMode or UserMode.
[in]LockOperationThe type of the probing and locking operation. Can be IoReadAccess, IoWriteAccess or IoModifyAccess.
Returns
Nothing.
See also
MmProbeAndLockPages
Remarks
Must be called at IRQL <= APC_LEVEL

Probes and locks virtual pages in memory for the specified process.

Frees previously reserved amount of memory in system virtual address space.

Parameters
[in]NumberOfBytesSize, in bytes, of memory to reserve.
[in]PoolTagPool Tag identifying the buffer. Usually consists from 4 characters in reversed order.
Returns
A pointer to the 1st memory block of the reserved buffer in case of success, NULL otherwise.
Remarks
Must be called at IRQL <= APC_LEVEL
Parameters
[in]BaseAddressA pointer to the 1st memory block of the reserved buffer.
[in]PoolTagPool Tag identifying the buffer. Usually consists from 4 characters in reversed order.
Returns
Nothing.
See also
MmAllocateMappingAddress
Remarks
Must be called at IRQL <= APC_LEVEL

Definition at line 37 of file cddata.c.

254{
255 THREAD_CONTEXT ThreadContext = {0};
256 PIRP_CONTEXT IrpContext = NULL;
258
259#ifdef CD_SANITY
260 PVOID PreviousTopLevel;
261#endif
262
264
265#if DBG
266
267 KIRQL SaveIrql = KeGetCurrentIrql();
268
269#endif
270
272
274
276
277#ifdef CD_SANITY
278 PreviousTopLevel = IoGetTopLevelIrp();
279#endif
280
281 //
282 // Loop until this request has been completed or posted.
283 //
284
285 do {
286
287 //
288 // Use a try-except to handle the exception cases.
289 //
290
291 _SEH2_TRY {
292
293 //
294 // If the IrpContext is NULL then this is the first pass through
295 // this loop.
296 //
297
298 if (IrpContext == NULL) {
299
300 //
301 // Decide if this request is waitable an allocate the IrpContext.
302 // If the file object in the stack location is NULL then this
303 // is a mount which is always waitable. Otherwise we look at
304 // the file object flags.
305 //
306
308
309 Wait = TRUE;
310
311 } else {
312
313 Wait = CanFsdWait( Irp );
314 }
315
316 IrpContext = CdCreateIrpContext( Irp, Wait );
317
318 //
319 // Update the thread context information.
320 //
321
322 CdSetThreadContext( IrpContext, &ThreadContext );
323
324#ifdef CD_SANITY
325 NT_ASSERT( !CdTestTopLevel ||
326 SafeNodeType( IrpContext->TopLevel ) == CDFS_NTC_IRP_CONTEXT );
327#endif
328
329 //
330 // Otherwise cleanup the IrpContext for the retry.
331 //
332
333 } else {
334
335 //
336 // Set the MORE_PROCESSING flag to make sure the IrpContext
337 // isn't inadvertently deleted here. Then cleanup the
338 // IrpContext to perform the retry.
339 //
340
341 SetFlag( IrpContext->Flags, IRP_CONTEXT_FLAG_MORE_PROCESSING );
342 CdCleanupIrpContext( IrpContext, FALSE );
343 }
344
345 //
346 // Case on the major irp code.
347 //
348
349 switch (IrpContext->MajorFunction) {
350
351 case IRP_MJ_CREATE :
352
353 Status = CdCommonCreate( IrpContext, Irp );
354 break;
355
356 case IRP_MJ_CLOSE :
357
358 Status = CdCommonClose( IrpContext, Irp );
359 break;
360
361 case IRP_MJ_READ :
362
363 //
364 // If this is an Mdl complete request, don't go through
365 // common read.
366 //
367
368 if (FlagOn( IrpContext->MinorFunction, IRP_MN_COMPLETE )) {
369
370 Status = CdCompleteMdl( IrpContext, Irp );
371
372 } else {
373
374 Status = CdCommonRead( IrpContext, Irp );
375 }
376
377 break;
378
379 case IRP_MJ_WRITE :
380
381 Status = CdCommonWrite( IrpContext, Irp );
382 break;
383
385
386 Status = CdCommonQueryInfo( IrpContext, Irp );
387 break;
388
390
391 Status = CdCommonSetInfo( IrpContext, Irp );
392 break;
393
395
396 Status = CdCommonQueryVolInfo( IrpContext, Irp );
397 break;
398
400
401 Status = CdCommonDirControl( IrpContext, Irp );
402 break;
403
405
406 Status = CdCommonFsControl( IrpContext, Irp );
407 break;
408
410
411 Status = CdCommonDevControl( IrpContext, Irp );
412 break;
413
415
416 Status = CdCommonLockControl( IrpContext, Irp );
417 break;
418
419 case IRP_MJ_CLEANUP :
420
421 Status = CdCommonCleanup( IrpContext, Irp );
422 break;
423
424 case IRP_MJ_PNP :
425
426 Status = CdCommonPnp( IrpContext, Irp );
427 break;
428
429 case IRP_MJ_SHUTDOWN :
430
431 Status = CdCommonShutdown( IrpContext, Irp );
432 break;
433
434 default :
435
437 CdCompleteRequest( IrpContext, Irp, Status );
438 }
439
441
442 Status = CdProcessException( IrpContext, Irp, _SEH2_GetExceptionCode() );
443 } _SEH2_END;
444
445 } while (Status == STATUS_CANT_WAIT);
446
447#ifdef CD_SANITY
448 NT_ASSERT( !CdTestTopLevel ||
449 (PreviousTopLevel == IoGetTopLevelIrp()) );
450#endif
451
453
454 NT_ASSERT( SaveIrql == KeGetCurrentIrql( ));
455
456 return Status;
457}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
VOID CdCompleteRequest(_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status)
Definition: cddata.c:914
LONG CdExceptionFilter(_Inout_ PIRP_CONTEXT IrpContext, _In_ PEXCEPTION_POINTERS ExceptionPointer)
Definition: cddata.c:525
VOID CdSetThreadContext(_Inout_ PIRP_CONTEXT IrpContext, _In_ PTHREAD_CONTEXT ThreadContext)
Definition: cddata.c:981
#define ASSERT_OPTIONAL_IRP(I)
Definition: cddata.h:251
NTSTATUS CdCompleteMdl(_In_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: cachesup.c:411
VOID CdCleanupIrpContext(_In_ PIRP_CONTEXT IrpContext, _In_ BOOLEAN Post)
Definition: strucsup.c:1733
#define CanFsdWait(I)
Definition: cdprocs.h:2001
NTSTATUS CdCommonLockControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: lockctrl.c:35
NTSTATUS CdCommonDevControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: devctrl.c:46
_Ret_valid_ PIRP_CONTEXT CdCreateIrpContext(_In_ PIRP Irp, _In_ BOOLEAN Wait)
Definition: strucsup.c:1573
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
#define IRP_CONTEXT_FLAG_MORE_PROCESSING
Definition: cdstruc.h:1214
_In_ PIRP Irp
Definition: csq.h:116
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define CDFS_NTC_IRP_CONTEXT
Definition: nodetype.h:34
#define SafeNodeType(Ptr)
Definition: nodetype.h:54
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define KeGetCurrentIrql()
Definition: env_spec_w32.h:706
#define SetFlag(_F, _SF)
Definition: ext2fs.h:187
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
Status
Definition: gdiplustypes.h:25
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:325
PIRP NTAPI IoGetTopLevelIrp(VOID)
Definition: irp.c:1843
#define STATUS_CANT_WAIT
Definition: ntstatus.h:452
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:165
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:66
#define _SEH2_GetExceptionInformation()
Definition: pseh2_64.h:164
#define _SEH2_END
Definition: pseh2_64.h:155
#define _SEH2_TRY
Definition: pseh2_64.h:55
#define IRP_MJ_DIRECTORY_CONTROL
Definition: rdpdr.c:51
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
#define IRP_MJ_READ
Definition: rdpdr.c:46
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
#define IRP_MJ_QUERY_VOLUME_INFORMATION
Definition: rdpdr.c:50
#define IRP_MJ_LOCK_CONTROL
Definition: rdpdr.c:53
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define IRP_MJ_SET_INFORMATION
Definition: rdpdr.c:49
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
#define IRP_MJ_QUERY_INFORMATION
Definition: rdpdr.c:48
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
_In_ WDFDPC _In_ BOOLEAN Wait
Definition: wdfdpc.h:170
#define IRP_MN_COMPLETE
Definition: iotypes.h:4420
#define IRP_MJ_FILE_SYSTEM_CONTROL
#define IRP_MJ_SHUTDOWN
#define IRP_MJ_CLEANUP
#define NT_ASSERT
Definition: rtlfuncs.h:3327

◆ _IRQL_requires_max_() [2/5]

_IRQL_requires_max_ ( DISPATCH_LEVEL  )

Definition at line 347 of file common.c.

3587{
3589 BOOLEAN requestSent = FALSE;
3590
3591 BOOLEAN shouldRetry = TRUE;
3592 PCDB cdb = (PCDB)DeviceExtension->PowerContext.Srb.Cdb;
3593 ULONG timeoutValue = DeviceExtension->TimeOutValue;
3594 ULONG retryCount = 1;
3595
3596 // reset some fields.
3597 DeviceExtension->PowerContext.RetryIntervalIn100ns = 0;
3598 status = PowerContextReuseRequest(DeviceExtension);
3599 RequestClearSendTime(DeviceExtension->PowerContext.PowerRequest);
3600
3601 if (!NT_SUCCESS(status))
3602 {
3603 return status;
3604 }
3605
3606 // set proper timeout value and max retry count.
3607 switch(DeviceExtension->PowerContext.PowerChangeState.PowerDown)
3608 {
3612 break;
3613
3615 // Case of issuing SYNC CACHE command. Do not use power irp timeout remaining time in this case
3616 // as we want to give best try on SYNC CACHE command.
3617 retryCount = MAXIMUM_RETRIES;
3618 timeoutValue = DeviceExtension->TimeOutValue;
3619 break;
3620
3622 {
3623 // Case of issuing STOP UNIT command
3624 // As "Imme" bit is set to '1', this command should be completed in short time.
3625 // This command is at low importance, failure of this command has very small impact.
3626 ULONG secondsRemaining = 0;
3627
3628#if (WINVER >= 0x0601)
3629 // this API is introduced in Windows7
3630 PoQueryWatchdogTime(DeviceExtension->LowerPdo, &secondsRemaining);
3631#endif
3632
3633 if (secondsRemaining == 0)
3634 {
3635 // not able to retrieve remaining time from PoQueryWatchdogTime API, use default values.
3636 retryCount = MAXIMUM_RETRIES;
3637 timeoutValue = SCSI_CDROM_TIMEOUT;
3638 }
3639 else
3640 {
3641 // plan to leave about 30 seconds to lower level drivers if possible.
3642 if (secondsRemaining >= 32)
3643 {
3644 retryCount = (secondsRemaining - 30)/SCSI_CDROM_TIMEOUT + 1;
3645 timeoutValue = SCSI_CDROM_TIMEOUT;
3646
3647 if (retryCount > MAXIMUM_RETRIES)
3648 {
3649 retryCount = MAXIMUM_RETRIES;
3650 }
3651
3652 if (retryCount == 1)
3653 {
3654 timeoutValue = secondsRemaining - 30;
3655 }
3656 }
3657 else
3658 {
3659 // issue the command with minimal timeout value and do not retry on it.
3660 retryCount = 1;
3661 timeoutValue = 2;
3662 }
3663 }
3664 }
3665 break;
3666 default:
3667 NT_ASSERT( FALSE );
3669 return status;
3670 }
3671
3672 DeviceExtension->PowerContext.RetryCount = retryCount;
3673
3674 // issue command.
3675 while (shouldRetry)
3676 {
3677
3678 // set SRB fields.
3679 DeviceExtension->PowerContext.Srb.SrbFlags = SRB_FLAGS_NO_DATA_TRANSFER |
3684
3685 DeviceExtension->PowerContext.Srb.Function = SRB_FUNCTION_EXECUTE_SCSI;
3686 DeviceExtension->PowerContext.Srb.TimeOutValue = timeoutValue;
3687
3688 if (DeviceExtension->PowerContext.PowerChangeState.PowerDown == PowerDownDeviceInitial)
3689 {
3690 DeviceExtension->PowerContext.Srb.Function = SRB_FUNCTION_LOCK_QUEUE;
3691 }
3692 else if (DeviceExtension->PowerContext.PowerChangeState.PowerDown == PowerDownDeviceLocked)
3693 {
3694 DeviceExtension->PowerContext.Srb.Function = SRB_FUNCTION_QUIESCE_DEVICE;
3695 }
3696 else if (DeviceExtension->PowerContext.PowerChangeState.PowerDown == PowerDownDeviceQuiesced)
3697 {
3698 // Case of issuing SYNC CACHE command.
3699 DeviceExtension->PowerContext.Srb.CdbLength = 10;
3700 cdb->SYNCHRONIZE_CACHE10.OperationCode = SCSIOP_SYNCHRONIZE_CACHE;
3701 }
3702 else if (DeviceExtension->PowerContext.PowerChangeState.PowerDown == PowerDownDeviceFlushed)
3703 {
3704 // Case of issuing STOP UNIT command.
3705 DeviceExtension->PowerContext.Srb.CdbLength = 6;
3706 cdb->START_STOP.OperationCode = SCSIOP_START_STOP_UNIT;
3707 cdb->START_STOP.Start = 0;
3708 cdb->START_STOP.Immediate = 1;
3709 }
3710 else if (DeviceExtension->PowerContext.PowerChangeState.PowerDown == PowerDownDeviceStopped)
3711 {
3712 DeviceExtension->PowerContext.Srb.Function = SRB_FUNCTION_UNLOCK_QUEUE;
3713 }
3714
3715 // Set up completion routine and context if requested
3717 {
3718 WdfRequestSetCompletionRoutine(DeviceExtension->PowerContext.PowerRequest,
3720 Context);
3721 }
3722
3723 status = RequestSend(DeviceExtension,
3724 DeviceExtension->PowerContext.PowerRequest,
3725 DeviceExtension->IoTarget,
3727 &requestSent);
3728
3729 if (requestSent)
3730 {
3731 if ((CompletionRoutine == NULL) &&
3732 (SRB_STATUS(DeviceExtension->PowerContext.Srb.SrbStatus) != SRB_STATUS_SUCCESS))
3733 {
3734 TracePrint((TRACE_LEVEL_ERROR,
3735 TRACE_FLAG_POWER,
3736 "%p\tError occured when issuing %s command to device. Srb %p, Status %x\n",
3737 DeviceExtension->PowerContext.PowerRequest,
3738 (DeviceExtension->PowerContext.PowerChangeState.PowerDown == PowerDownDeviceQuiesced) ? "SYNC CACHE" : "STOP UNIT",
3739 &DeviceExtension->PowerContext.Srb,
3740 DeviceExtension->PowerContext.Srb.SrbStatus));
3741
3742 NT_ASSERT(!(TEST_FLAG(DeviceExtension->PowerContext.Srb.SrbStatus, SRB_STATUS_QUEUE_FROZEN)));
3743
3744 shouldRetry = RequestSenseInfoInterpret(DeviceExtension,
3745 DeviceExtension->PowerContext.PowerRequest,
3746 &(DeviceExtension->PowerContext.Srb),
3747 retryCount - DeviceExtension->PowerContext.RetryCount,
3748 &status,
3749 &(DeviceExtension->PowerContext.RetryIntervalIn100ns));
3750
3751 if (shouldRetry && (DeviceExtension->PowerContext.RetryCount-- == 0))
3752 {
3753 shouldRetry = FALSE;
3754 }
3755 }
3756 else
3757 {
3758 // succeeded, do not need to retry.
3759 shouldRetry = FALSE;
3760 }
3761
3762 }
3763 else
3764 {
3765 // request failed to be sent
3766 shouldRetry = FALSE;
3767 }
3768
3769 if (shouldRetry)
3770 {
3772 t.QuadPart = -DeviceExtension->PowerContext.RetryIntervalIn100ns;
3774
3775 status = PowerContextReuseRequest(DeviceExtension);
3776 if (!NT_SUCCESS(status))
3777 {
3778 shouldRetry = FALSE;
3779 }
3780 }
3781 }
3782
3783 if (DeviceExtension->PowerContext.PowerChangeState.PowerDown == PowerDownDeviceQuiesced)
3784 {
3785 // record SYNC CACHE command completion time stamp.
3786 KeQueryTickCount(&DeviceExtension->PowerContext.Step1CompleteTime);
3787 }
3788
3789 return status;
3790}
#define MAXIMUM_RETRIES
Definition: cdrom.h:124
#define SCSI_CDROM_TIMEOUT
Definition: cdrom.h:680
BOOLEAN RequestSenseInfoInterpret(_In_ PCDROM_DEVICE_EXTENSION DeviceExtension, _In_ WDFREQUEST Request, _In_ PSCSI_REQUEST_BLOCK Srb, _In_ ULONG RetriedCount, _Out_ NTSTATUS *Status, _Out_opt_ _Deref_out_range_(0, MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS) LONGLONG *RetryIntervalIn100ns)
Definition: sense.c:2467
#define TEST_FLAG(Flags, Bit)
Definition: cdrom.h:1495
@ PowerDownDeviceStopped
Definition: cdrom.h:412
@ PowerDownDeviceQuiesced
Definition: cdrom.h:410
@ PowerDownDeviceInitial
Definition: cdrom.h:408
@ PowerDownDeviceLocked
Definition: cdrom.h:409
@ PowerDownDeviceFlushed
Definition: cdrom.h:411
union _CDB * PCDB
#define SCSIOP_START_STOP_UNIT
Definition: cdrw_hw.h:897
#define SCSIOP_SYNCHRONIZE_CACHE
Definition: cdrw_hw.h:918
#define STATUS_NOT_IMPLEMENTED
Definition: d3dkmdt.h:42
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
NTSTATUS RequestSend(_In_ PCDROM_DEVICE_EXTENSION DeviceExtension, _In_ WDFREQUEST Request, _In_ WDFIOTARGET IoTarget, _In_ ULONG Flags, _Out_opt_ PBOOLEAN RequestSent)
Definition: common.c:3793
VOID RequestClearSendTime(_In_ WDFREQUEST Request)
Definition: common.c:111
#define SRB_FUNCTION_EXECUTE_SCSI
Definition: srb.h:315
#define SRB_FLAGS_NO_DATA_TRANSFER
Definition: srb.h:402
#define SRB_FUNCTION_LOCK_QUEUE
Definition: srb.h:332
#define SRB_FUNCTION_UNLOCK_QUEUE
Definition: srb.h:333
#define SRB_FLAGS_BYPASS_LOCKED_QUEUE
Definition: srb.h:410
#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER
Definition: srb.h:397
#define SRB_STATUS(Status)
Definition: srb.h:389
#define SRB_STATUS_QUEUE_FROZEN
Definition: srb.h:386
#define SRB_FLAGS_NO_QUEUE_FREEZE
Definition: srb.h:404
#define SRB_STATUS_SUCCESS
Definition: srb.h:341
#define KeDelayExecutionThread(mode, foo, t)
Definition: env_spec_w32.h:484
GLdouble GLdouble t
Definition: gl.h:2047
#define KernelMode
Definition: asm.h:38
#define SRB_FLAGS_D3_PROCESSING
Definition: srb.h:165
#define SRB_FUNCTION_QUIESCE_DEVICE
Definition: srb.h:99
#define KeQueryTickCount(CurrentCount)
Definition: ke.h:43
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
Definition: ps.c:97
uint32_t ULONG
Definition: typedefs.h:59
Definition: cdrw_hw.h:28
struct _CDB::_START_STOP START_STOP
struct _CDB::_SYNCHRONIZE_CACHE10 SYNCHRONIZE_CACHE10
@ WDF_REQUEST_SEND_OPTION_SYNCHRONOUS
Definition: wdfrequest.h:109
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine
Definition: wdfrequest.h:895

◆ _IRQL_requires_max_() [3/5]

_IRQL_requires_max_ ( DISPATCH_LEVEL 1)

◆ _IRQL_requires_max_() [4/5]

_IRQL_requires_max_ ( HIGH_LEVEL  )

Definition at line 55 of file wdfdpc.h.

151{
152 return ((PFN_WDFDPCENQUEUE) WdfFunctions[WdfDpcEnqueueTableIndex])(WdfDriverGlobals, Dpc);
153}
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
Definition: wdfdpc.h:112
PWDF_DRIVER_GLOBALS WdfDriverGlobals
@ WdfDpcEnqueueTableIndex
Definition: wdffuncenum.h:137

◆ _IRQL_requires_max_() [5/5]

_Must_inspect_result_ _IRQL_requires_max_ ( PASSIVE_LEVEL  )

Queries information details about a security descriptor.

Computes the quota size of a security descriptor.

Assigns a security descriptor for a new object.

An extended function that assigns a security descriptor for a new object.

Frees a security descriptor.

An extended function that sets new information data to a security descriptor.

Modifies some information data about a security descriptor.

Parameters
[in]SecurityInformationSecurity information details to be queried from a security descriptor.
[out]SecurityDescriptorThe returned security descriptor with security information data.
[in,out]LengthThe returned length of a security descriptor.
[in,out]ObjectsSecurityDescriptorThe returned object security descriptor.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the specific information about the security descriptor has been queried. STATUS_BUFFER_TOO_SMALL is returned if the buffer size is too small to contain the queried info about the security descriptor.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
See SeSetSecurityDescriptorInfoEx.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]AutoInheritFlagsFlags bitmask inheritation, influencing how the security descriptor can be inherited and if it can be in the first place.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
Returns STATUS_SUCCESS if the operations have been completed without problems and that new info has been set to the security descriptor. STATUS_NO_SECURITY_ON_OBJECT is returned if the object does not have a security descriptor. STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the new security descriptor with new info set has failed.
Parameters
[in]SecurityDescriptorA security descriptor to be freed from memory.
Returns
Returns STATUS_SUCCESS.
Parameters
[in]_ParentDescriptorA security descriptor of the parent object that is being created.
[in]_ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]ObjectTypeThe type of the new object.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]AutoInheritFlagsAutomatic inheritance flags that influence how access control entries within ACLs from security descriptors are inherited.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the security descriptor has been assigned to the new object. STATUS_NO_TOKEN is returned if the caller hasn't supplied a valid argument to a security subject context. STATUS_INVALID_OWNER is returned if the caller hasn't supplied a parent descriptor that belongs to the main user (owner). STATUS_INVALID_PRIMARY_GROUP is returned by the same reason as with the previous NTSTATUS code. The two NTSTATUS codes are returned if the calling thread stated that the owner and/or group is defaulted to the parent descriptor (SEF_DEFAULT_OWNER_FROM_PARENT and/or SEF_DEFAULT_GROUP_FROM_PARENT respectively). STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the descriptor buffer has failed. A failure NTSTATUS is returned otherwise.
Parameters
[in]ParentDescriptorA security descriptor of the parent object that is being created.
[in]ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
See SeAssignSecurityEx.
Parameters
[in]SecurityDescriptorA security descriptor.
[out]QuotaInfoSizeThe returned quota size of the given security descriptor to the caller. The function may return 0 to this parameter if the descriptor doesn't have a group or a discretionary access control list (DACL) even.
Returns
Returns STATUS_SUCCESS if the quota size of a security descriptor has been computed successfully. STATUS_UNKNOWN_REVISION is returned if the security descriptor has an invalid revision.

Definition at line 923 of file Messaging.c.

75{
76 PFLT_SERVER_PORT_OBJECT PortObject;
78
79 /* The caller must allow at least one connection */
80 if (MaxConnections == 0)
81 {
83 }
84
85 /* The request must be for a kernel handle */
86 if (!(ObjectAttributes->Attributes & OBJ_KERNEL_HANDLE))
87 {
89 }
90
91 /*
92 * Get rundown protection on the target to stop the owner
93 * from unloading whilst this port object is open. It gets
94 * removed in the FltpServerPortClose callback
95 */
97 if (!NT_SUCCESS(Status))
98 {
99 return Status;
100 }
101
102 /* Create the server port object for this filter */
107 NULL,
109 0,
110 0,
111 (PVOID *)&PortObject);
112 if (NT_SUCCESS(Status))
113 {
114 /* Zero out the struct */
115 RtlZeroMemory(PortObject, sizeof(FLT_SERVER_PORT_OBJECT));
116
117 /* Increment the ref count on the target filter */
119
120 /* Setup the filter port object */
121 PortObject->Filter = Filter;
125 PortObject->Cookie = ServerPortCookie;
126 PortObject->MaxConnections = MaxConnections;
127
128 /* Insert the object */
129 Status = ObInsertObject(PortObject,
130 NULL,
132 0,
133 NULL,
135 if (NT_SUCCESS(Status))
136 {
137 /* Lock the connection list */
139
140 /* Add the new port object to the connection list and increment the count */
143
144 /* Unlock the connection list*/
146 }
147 }
148
149 if (!NT_SUCCESS(Status))
150 {
151 /* Allow the filter to be cleaned up */
153 }
154
155 return Status;
156}
static const INTERNET_PORT ServerPort
Definition: CWebService.cpp:11
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
#define InsertTailList(ListHead, Entry)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY MessageNotifyCallback
Definition: fltkernel.h:1877
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1875
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1874
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1876
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
static LONG MaxConnections
#define FILE_READ_DATA
Definition: nt_native.h:628
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2935
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
Definition: oblife.c:1039
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121
LIST_ENTRY mList
Definition: fltmgrint.h:56
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135

◆ _Out_writes_bytes_() [1/3]

_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _Out_writes_bytes_ ( CapabilityBufferLength  ) &&
pure virtual

◆ _Out_writes_bytes_() [2/3]

_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t _Out_writes_bytes_ ( NumBytesToCopyTo  )

◆ _Out_writes_bytes_() [3/3]

Definition at line 5095 of file vfwdfdynamics.cpp.

5098{
5100 return ((PFN_WDFOBJECTQUERY) WdfVersion.Functions.pfnWdfObjectQuery)(DriverGlobals, Object, Guid, QueryBufferLength, QueryBuffer);
5101}
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID _In_ ULONG QueryBufferLength
PFN_WDFOBJECTQUERY pfnWdfObjectQuery
Definition: fxdynamics.h:260

◆ _Out_writes_bytes_all_()

◆ _Out_writes_bytes_all_opt_()

◆ _Out_writes_bytes_opt_()

_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_writes_bytes_opt_ ( ValueLength  )

◆ _Out_writes_bytes_to_opt_()

_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _Out_writes_bytes_to_opt_ ( CapabilityBufferLength  ,
ResultLength 
)

◆ _Outptr_opt_result_bytebuffer_() [1/3]

Definition at line 4773 of file vfwdfdynamics.cpp.

4776{
4779}
BufferSize
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ __drv_aliasesMem PVOID Buffer
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG PoolTag
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
PFN_WDFMEMORYCREATE pfnWdfMemoryCreate
Definition: fxdynamics.h:243

◆ _Outptr_opt_result_bytebuffer_() [2/3]

_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ ULONG _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_ ( GET_ISO_URB_SIZE(NumberOfIsochPackets )

Definition at line 7571 of file vfwdfdynamics.cpp.

7574{
7577}
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY UrbMemory
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ ULONG NumberOfIsochPackets
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreateIsochUrb
Definition: fxdynamics.h:560

◆ _Outptr_opt_result_bytebuffer_() [3/3]

_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_ ( sizeof(URB )

Definition at line 7548 of file vfwdfdynamics.cpp.

7551{
7553 return ((PFN_WDFUSBTARGETDEVICECREATEURB) WdfVersion.Functions.pfnWdfUsbTargetDeviceCreateUrb)(DriverGlobals, UsbDevice, Attributes, UrbMemory, Urb);
7554}
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreateUrb
Definition: fxdynamics.h:559

◆ _Post_satisfies_()

_Must_inspect_result_ _Post_satisfies_ ( return  = = 1 || return == 0)

◆ _Pre_writable_byte_size_()

_Must_inspect_result_ _In_ WDFMEMORY _Pre_notnull_ _Pre_writable_byte_size_ ( BufferSize  )

◆ _Requires_lock_held_()

_In_ _Requires_lock_held_ ( _Curr_  )

Definition at line 3690 of file vfwdfdynamics.cpp.

3694{
3696 ((PFN_WDFINTERRUPTRELEASELOCK) WdfVersion.Functions.pfnWdfInterruptReleaseLock)(DriverGlobals, Interrupt);
3697}
PFN_WDFINTERRUPTRELEASELOCK pfnWdfInterruptReleaseLock
Definition: fxdynamics.h:196

◆ _Requires_lock_not_held_()

_In_ _Requires_lock_not_held_ ( _Curr_  )

Definition at line 3674 of file vfwdfdynamics.cpp.

3678{
3680 ((PFN_WDFINTERRUPTACQUIRELOCK) WdfVersion.Functions.pfnWdfInterruptAcquireLock)(DriverGlobals, Interrupt);
3681}
PFN_WDFINTERRUPTACQUIRELOCK pfnWdfInterruptAcquireLock
Definition: fxdynamics.h:195

◆ _Success_()

_Success_ ( TRUE  )

◆ _When_() [1/16]

_When_ ( Action  = = 3,
_IRQL_requires_max_(DISPATCH_LEVEL  
)

◆ _When_() [2/16]

◆ _When_() [3/16]

Definition at line 4831 of file vfwdfdynamics.cpp.

4834{
4836 return ((PFN_WDFMEMORYASSIGNBUFFER) WdfVersion.Functions.pfnWdfMemoryAssignBuffer)(DriverGlobals, Memory, Buffer, BufferSize);
4837}
PFN_WDFMEMORYASSIGNBUFFER pfnWdfMemoryAssignBuffer
Definition: fxdynamics.h:246

◆ _When_() [4/16]

_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _When_ ( CapabilityBufferLength  = = 0,
_Out_opt_   
) &&
pure virtual

◆ _When_() [5/16]

_In_ WDFQUEUE _When_ ( Context = 0,
_In_   
)

◆ _When_() [6/16]

_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _When_ ( Length  = = 0,
__drv_reportError(Length cannot be zero  
)

Definition at line 2668 of file vfwdfdynamics.cpp.

2671{
2674}
_In_ WDFDMAENABLER _In_ WDF_DMA_DIRECTION DmaDirection
_Must_inspect_result_ _In_ WDFDMAENABLER _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDMATRANSACTION * DmaTransaction
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL Mdl
Length
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionInitialize
Definition: fxdynamics.h:149

◆ _When_() [7/16]

_In_ WDFDMAENABLER _In_ _When_ ( MaximumFragments  = = 0,
__drv_reportError(MaximumFragments cannot be zero  
)

Definition at line 2591 of file vfwdfdynamics.cpp.

2594{
2596 ((PFN_WDFDMAENABLERSETMAXIMUMSCATTERGATHERELEMENTS) WdfVersion.Functions.pfnWdfDmaEnablerSetMaximumScatterGatherElements)(DriverGlobals, DmaEnabler, MaximumFragments);
2597}
_Must_inspect_result_ _In_ WDFDMAENABLER DmaEnabler
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerSetMaximumScatterGatherElements
Definition: fxdynamics.h:147

◆ _When_() [8/16]

_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t _In_ PVOID _In_ _When_ ( NumBytesToCopyFrom  = = 0,
__drv_reportError(NumBytesToCopyFrom cannot be zero  
)

Definition at line 4875 of file vfwdfdynamics.cpp.

4878{
4880 return ((PFN_WDFMEMORYCOPYFROMBUFFER) WdfVersion.Functions.pfnWdfMemoryCopyFromBuffer)(DriverGlobals, DestinationMemory, DestinationOffset, Buffer, NumBytesToCopyFrom);
4881}
_Must_inspect_result_ _In_ WDFMEMORY DestinationMemory
_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t DestinationOffset
PFN_WDFMEMORYCOPYFROMBUFFER pfnWdfMemoryCopyFromBuffer
Definition: fxdynamics.h:248

◆ _When_() [9/16]

_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t _In_ _When_ ( NumBytesToCopyTo  = = 0,
__drv_reportError(NumBytesToCopyTo cannot be zero  
)

Definition at line 4853 of file vfwdfdynamics.cpp.

4856{
4858 return ((PFN_WDFMEMORYCOPYTOBUFFER) WdfVersion.Functions.pfnWdfMemoryCopyToBuffer)(DriverGlobals, SourceMemory, SourceOffset, Buffer, NumBytesToCopyTo);
4859}
_Must_inspect_result_ _In_ WDFMEMORY SourceMemory
_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t SourceOffset
PFN_WDFMEMORYCOPYTOBUFFER pfnWdfMemoryCopyToBuffer
Definition: fxdynamics.h:247

◆ _When_() [10/16]

◆ _When_() [11/16]

_Must_inspect_result_ _When_ ( PoolType  = = 1 || PoolType == 257,
_IRQL_requires_max_(APC_LEVEL  
)

◆ _When_() [12/16]

Definition at line 7527 of file vfwdfdynamics.cpp.

7530{
7532 return ((PFN_WDFUSBTARGETDEVICEQUERYUSBCAPABILITY) WdfVersion.Functions.pfnWdfUsbTargetDeviceQueryUsbCapability)(DriverGlobals, UsbDevice, CapabilityType, CapabilityBufferLength, CapabilityBuffer, ResultLength);
7533}
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID * CapabilityType
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG CapabilityBufferLength
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceQueryUsbCapability
Definition: fxdynamics.h:558

◆ _When_() [13/16]

_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE _When_ ( StopComplete = 0,
_In_   
)

◆ _When_() [14/16]

_When_ ( Timeout  = NULL,
_IRQL_requires_max_(PASSIVE_LEVEL  
)

◆ _When_() [15/16]

_When_ ( Wait  = = __true,
_IRQL_requires_max_(PASSIVE_LEVEL  
)

◆ _When_() [16/16]

_Must_inspect_result_ _When_ ( WaitForD0  = = 0,
_IRQL_requires_max_(DISPATCH_LEVEL  
)
pure virtual

◆ hookInfo()

Referenced by if().

◆ if() [1/2]

if ( hookInfo.  DonotCallKmdfLib)

Definition at line 1955 of file vfwdfdynamics.cpp.

1955 {
1956 return hookInfo.DdiCallStatus;
1957 }
RtlZeroMemory & hookInfo(VF_HOOK_PROCESS_INFO)

◆ if() [2/2]

if ( rtn  = STATUS_SUCCESS)

Definition at line 3987 of file vfwdfdynamics.cpp.

3987 {
3989 }
FORCEINLINE BOOLEAN PerfIoStart(__in WDFREQUEST Handle)
Definition: vfprivkm.hpp:119
_Must_inspect_result_ _In_ WDFQUEUE _Out_ WDFREQUEST * OutRequest
Definition: wdfio.h:800

◆ PAGED_CODE_LOCKED()

◆ PerfIoComplete()

PerfIoComplete ( Request  )

◆ pfnWdfChildListBeginIteration()

PFN_WDFCHILDLISTBEGINITERATION WdfVersion Functions pfnWdfChildListBeginIteration ( DriverGlobals  ,
ChildList  ,
Iterator   
)

◆ pfnWdfChildListBeginScan()

PFN_WDFCHILDLISTBEGINSCAN WdfVersion Functions pfnWdfChildListBeginScan ( DriverGlobals  ,
ChildList   
)

◆ pfnWdfChildListEndIteration()

PFN_WDFCHILDLISTENDITERATION WdfVersion Functions pfnWdfChildListEndIteration ( DriverGlobals  ,
ChildList  ,
Iterator   
)

◆ pfnWdfChildListEndScan()

PFN_WDFCHILDLISTENDSCAN WdfVersion Functions pfnWdfChildListEndScan ( DriverGlobals  ,
ChildList   
)

◆ pfnWdfChildListUpdateAllChildDescriptionsAsPresent()

PFN_WDFCHILDLISTUPDATEALLCHILDDESCRIPTIONSASPRESENT WdfVersion Functions pfnWdfChildListUpdateAllChildDescriptionsAsPresent ( DriverGlobals  ,
ChildList   
)

◆ pfnWdfCmResourceListRemove()

PFN_WDFCMRESOURCELISTREMOVE WdfVersion Functions pfnWdfCmResourceListRemove ( DriverGlobals  ,
List  ,
Index   
)

◆ pfnWdfCmResourceListRemoveByDescriptor()

PFN_WDFCMRESOURCELISTREMOVEBYDESCRIPTOR WdfVersion Functions pfnWdfCmResourceListRemoveByDescriptor ( DriverGlobals  ,
List  ,
Descriptor   
)

◆ pfnWdfCollectionRemove()

PFN_WDFCOLLECTIONREMOVE WdfVersion Functions pfnWdfCollectionRemove ( DriverGlobals  ,
Collection  ,
Item   
)

◆ pfnWdfCollectionRemoveItem()

PFN_WDFCOLLECTIONREMOVEITEM WdfVersion Functions pfnWdfCollectionRemoveItem ( DriverGlobals  ,
Collection  ,
Index   
)

◆ pfnWdfControlDeviceInitSetShutdownNotification()

PFN_WDFCONTROLDEVICEINITSETSHUTDOWNNOTIFICATION WdfVersion Functions pfnWdfControlDeviceInitSetShutdownNotification ( DriverGlobals  ,
DeviceInit  ,
Notification  ,
Flags   
)

◆ pfnWdfControlFinishInitializing()

PFN_WDFCONTROLFINISHINITIALIZING WdfVersion Functions pfnWdfControlFinishInitializing ( DriverGlobals  ,
Device   
)

◆ pfnWdfCxDeviceInitSetFileObjectConfig()

PFN_WDFCXDEVICEINITSETFILEOBJECTCONFIG WdfVersion Functions pfnWdfCxDeviceInitSetFileObjectConfig ( DriverGlobals  ,
CxDeviceInit  ,
CxFileObjectConfig  ,
FileObjectAttributes   
)

◆ pfnWdfCxDeviceInitSetIoInCallerContextCallback()

PFN_WDFCXDEVICEINITSETIOINCALLERCONTEXTCALLBACK WdfVersion Functions pfnWdfCxDeviceInitSetIoInCallerContextCallback ( DriverGlobals  ,
CxDeviceInit  ,
EvtIoInCallerContext   
)

◆ pfnWdfCxDeviceInitSetRequestAttributes()

PFN_WDFCXDEVICEINITSETREQUESTATTRIBUTES WdfVersion Functions pfnWdfCxDeviceInitSetRequestAttributes ( DriverGlobals  ,
CxDeviceInit  ,
RequestAttributes   
)

◆ pfnWdfDeviceClearRemovalRelationsDevices()

PFN_WDFDEVICECLEARREMOVALRELATIONSDEVICES WdfVersion Functions pfnWdfDeviceClearRemovalRelationsDevices ( DriverGlobals  ,
Device   
)

◆ pfnWdfDeviceGetDeviceState()

PFN_WDFDEVICEGETDEVICESTATE WdfVersion Functions pfnWdfDeviceGetDeviceState ( DriverGlobals  ,
Device  ,
DeviceState   
)

◆ pfnWdfDeviceInitAllowSelfIoTarget()

PFN_WDFDEVICEINITALLOWSELFIOTARGET WdfVersion Functions pfnWdfDeviceInitAllowSelfIoTarget ( DriverGlobals  ,
DeviceInit   
)

◆ pfnWdfDeviceInitFree()

PFN_WDFDEVICEINITFREE WdfVersion Functions pfnWdfDeviceInitFree ( DriverGlobals  ,
DeviceInit   
)

◆ pfnWdfDeviceInitSetCharacteristics()

PFN_WDFDEVICEINITSETCHARACTERISTICS WdfVersion Functions pfnWdfDeviceInitSetCharacteristics ( DriverGlobals  ,
DeviceInit  ,
DeviceCharacteristics  ,
OrInValues   
)

◆ pfnWdfDeviceInitSetDeviceClass()

PFN_WDFDEVICEINITSETDEVICECLASS WdfVersion Functions pfnWdfDeviceInitSetDeviceClass ( DriverGlobals  ,
DeviceInit  ,
DeviceClassGuid   
)

◆ pfnWdfDeviceInitSetDeviceType()

PFN_WDFDEVICEINITSETDEVICETYPE WdfVersion Functions pfnWdfDeviceInitSetDeviceType ( DriverGlobals  ,
DeviceInit  ,
DeviceType   
)

◆ pfnWdfDeviceInitSetExclusive()

PFN_WDFDEVICEINITSETEXCLUSIVE WdfVersion Functions pfnWdfDeviceInitSetExclusive ( DriverGlobals  ,
DeviceInit  ,
IsExclusive   
)

◆ pfnWdfDeviceInitSetFileObjectConfig()

PFN_WDFDEVICEINITSETFILEOBJECTCONFIG WdfVersion Functions pfnWdfDeviceInitSetFileObjectConfig ( DriverGlobals  ,
DeviceInit  ,
FileObjectConfig  ,
FileObjectAttributes   
)

◆ pfnWdfDeviceInitSetIoInCallerContextCallback()

PFN_WDFDEVICEINITSETIOINCALLERCONTEXTCALLBACK WdfVersion Functions pfnWdfDeviceInitSetIoInCallerContextCallback ( DriverGlobals  ,
DeviceInit  ,
EvtIoInCallerContext   
)

◆ pfnWdfDeviceInitSetIoType()

PFN_WDFDEVICEINITSETIOTYPE WdfVersion Functions pfnWdfDeviceInitSetIoType ( DriverGlobals  ,
DeviceInit  ,
IoType   
)

◆ pfnWdfDeviceInitSetIoTypeEx()

PFN_WDFDEVICEINITSETIOTYPEEX WdfVersion Functions pfnWdfDeviceInitSetIoTypeEx ( DriverGlobals  ,
DeviceInit  ,
IoTypeConfig   
)

◆ pfnWdfDeviceInitSetPnpPowerEventCallbacks()

PFN_WDFDEVICEINITSETPNPPOWEREVENTCALLBACKS WdfVersion Functions pfnWdfDeviceInitSetPnpPowerEventCallbacks ( DriverGlobals  ,
DeviceInit  ,
PnpPowerEventCallbacks   
)

◆ pfnWdfDeviceInitSetPowerInrush()

PFN_WDFDEVICEINITSETPOWERINRUSH WdfVersion Functions pfnWdfDeviceInitSetPowerInrush ( DriverGlobals  ,
DeviceInit   
)

◆ pfnWdfDeviceInitSetPowerNotPageable()

PFN_WDFDEVICEINITSETPOWERNOTPAGEABLE WdfVersion Functions pfnWdfDeviceInitSetPowerNotPageable ( DriverGlobals  ,
DeviceInit   
)

◆ pfnWdfDeviceInitSetPowerPageable()

PFN_WDFDEVICEINITSETPOWERPAGEABLE WdfVersion Functions pfnWdfDeviceInitSetPowerPageable ( DriverGlobals  ,
DeviceInit   
)

◆ pfnWdfDeviceInitSetPowerPolicyEventCallbacks()

PFN_WDFDEVICEINITSETPOWERPOLICYEVENTCALLBACKS WdfVersion Functions pfnWdfDeviceInitSetPowerPolicyEventCallbacks ( DriverGlobals  ,
DeviceInit  ,
PowerPolicyEventCallbacks   
)

◆ pfnWdfDeviceInitSetPowerPolicyOwnership()

PFN_WDFDEVICEINITSETPOWERPOLICYOWNERSHIP WdfVersion Functions pfnWdfDeviceInitSetPowerPolicyOwnership ( DriverGlobals  ,
DeviceInit  ,
IsPowerPolicyOwner   
)

◆ pfnWdfDeviceInitSetReleaseHardwareOrderOnFailure()

PFN_WDFDEVICEINITSETRELEASEHARDWAREORDERONFAILURE WdfVersion Functions pfnWdfDeviceInitSetReleaseHardwareOrderOnFailure ( DriverGlobals  ,
DeviceInit  ,
ReleaseHardwareOrderOnFailure   
)

◆ pfnWdfDeviceInitSetRemoveLockOptions()

PFN_WDFDEVICEINITSETREMOVELOCKOPTIONS WdfVersion Functions pfnWdfDeviceInitSetRemoveLockOptions ( DriverGlobals  ,
DeviceInit  ,
Options   
)

◆ pfnWdfDeviceInitSetRequestAttributes()

PFN_WDFDEVICEINITSETREQUESTATTRIBUTES WdfVersion Functions pfnWdfDeviceInitSetRequestAttributes ( DriverGlobals  ,
DeviceInit  ,
RequestAttributes   
)

◆ pfnWdfDeviceRemoveDependentUsageDeviceObject()

PFN_WDFDEVICEREMOVEDEPENDENTUSAGEDEVICEOBJECT WdfVersion Functions pfnWdfDeviceRemoveDependentUsageDeviceObject ( DriverGlobals  ,
Device  ,
DependentDevice   
)

◆ pfnWdfDeviceRemoveRemovalRelationsPhysicalDevice()

PFN_WDFDEVICEREMOVEREMOVALRELATIONSPHYSICALDEVICE WdfVersion Functions pfnWdfDeviceRemoveRemovalRelationsPhysicalDevice ( DriverGlobals  ,
Device  ,
PhysicalDevice   
)

◆ pfnWdfDeviceResumeIdleActual()

PFN_WDFDEVICERESUMEIDLEACTUAL WdfVersion Functions pfnWdfDeviceResumeIdleActual ( DriverGlobals  ,
Device  ,
Tag  ,
Line  ,
File   
)

◆ pfnWdfDeviceResumeIdleNoTrack()

PFN_WDFDEVICERESUMEIDLENOTRACK WdfVersion Functions pfnWdfDeviceResumeIdleNoTrack ( DriverGlobals  ,
Device   
)

◆ pfnWdfDeviceSetAlignmentRequirement()

PFN_WDFDEVICESETALIGNMENTREQUIREMENT WdfVersion Functions pfnWdfDeviceSetAlignmentRequirement ( DriverGlobals  ,
Device  ,
AlignmentRequirement   
)

◆ pfnWdfDeviceSetBusInformationForChildren()

PFN_WDFDEVICESETBUSINFORMATIONFORCHILDREN WdfVersion Functions pfnWdfDeviceSetBusInformationForChildren ( DriverGlobals  ,
Device  ,
BusInformation   
)

◆ pfnWdfDeviceSetCharacteristics()

PFN_WDFDEVICESETCHARACTERISTICS WdfVersion Functions pfnWdfDeviceSetCharacteristics ( DriverGlobals  ,
Device  ,
DeviceCharacteristics   
)

◆ pfnWdfDeviceSetDeviceInterfaceState()

PFN_WDFDEVICESETDEVICEINTERFACESTATE WdfVersion Functions pfnWdfDeviceSetDeviceInterfaceState ( DriverGlobals  ,
Device  ,
InterfaceClassGUID  ,
ReferenceString  ,
IsInterfaceEnabled   
)

◆ pfnWdfDeviceSetDeviceState()

PFN_WDFDEVICESETDEVICESTATE WdfVersion Functions pfnWdfDeviceSetDeviceState ( DriverGlobals  ,
Device  ,
DeviceState   
)

◆ pfnWdfDeviceSetFailed()

PFN_WDFDEVICESETFAILED WdfVersion Functions pfnWdfDeviceSetFailed ( DriverGlobals  ,
Device  ,
FailedAction   
)

◆ pfnWdfDeviceSetPnpCapabilities()

PFN_WDFDEVICESETPNPCAPABILITIES WdfVersion Functions pfnWdfDeviceSetPnpCapabilities ( DriverGlobals  ,
Device  ,
PnpCapabilities   
)

◆ pfnWdfDeviceSetPowerCapabilities()

PFN_WDFDEVICESETPOWERCAPABILITIES WdfVersion Functions pfnWdfDeviceSetPowerCapabilities ( DriverGlobals  ,
Device  ,
PowerCapabilities   
)

◆ pfnWdfDeviceSetSpecialFileSupport()

PFN_WDFDEVICESETSPECIALFILESUPPORT WdfVersion Functions pfnWdfDeviceSetSpecialFileSupport ( DriverGlobals  ,
Device  ,
FileType  ,
FileTypeIsSupported   
)

◆ pfnWdfDeviceSetStaticStopRemove()

PFN_WDFDEVICESETSTATICSTOPREMOVE WdfVersion Functions pfnWdfDeviceSetStaticStopRemove ( DriverGlobals  ,
Device  ,
Stoppable   
)

◆ pfnWdfDmaTransactionFreeResources()

PFN_WDFDMATRANSACTIONFREERESOURCES WdfVersion Functions pfnWdfDmaTransactionFreeResources ( DriverGlobals  ,
DmaTransaction   
)

◆ pfnWdfDmaTransactionGetTransferInfo()

PFN_WDFDMATRANSACTIONGETTRANSFERINFO WdfVersion Functions pfnWdfDmaTransactionGetTransferInfo ( DriverGlobals  ,
DmaTransaction  ,
MapRegisterCount  ,
ScatterGatherElementCount   
)

◆ pfnWdfDmaTransactionSetChannelConfigurationCallback()

PFN_WDFDMATRANSACTIONSETCHANNELCONFIGURATIONCALLBACK WdfVersion Functions pfnWdfDmaTransactionSetChannelConfigurationCallback ( DriverGlobals  ,
DmaTransaction  ,
ConfigureRoutine  ,
ConfigureContext   
)

◆ pfnWdfDmaTransactionSetDeviceAddressOffset()

PFN_WDFDMATRANSACTIONSETDEVICEADDRESSOFFSET WdfVersion Functions pfnWdfDmaTransactionSetDeviceAddressOffset ( DriverGlobals  ,
DmaTransaction  ,
Offset   
)

◆ pfnWdfDmaTransactionSetImmediateExecution()

PFN_WDFDMATRANSACTIONSETIMMEDIATEEXECUTION WdfVersion Functions pfnWdfDmaTransactionSetImmediateExecution ( DriverGlobals  ,
DmaTransaction  ,
UseImmediateExecution   
)

◆ pfnWdfDmaTransactionSetMaximumLength()

PFN_WDFDMATRANSACTIONSETMAXIMUMLENGTH WdfVersion Functions pfnWdfDmaTransactionSetMaximumLength ( DriverGlobals  ,
DmaTransaction  ,
MaximumLength   
)

◆ pfnWdfDmaTransactionSetTransferCompleteCallback()

PFN_WDFDMATRANSACTIONSETTRANSFERCOMPLETECALLBACK WdfVersion Functions pfnWdfDmaTransactionSetTransferCompleteCallback ( DriverGlobals  ,
DmaTransaction  ,
DmaCompletionRoutine  ,
DmaCompletionContext   
)

◆ pfnWdfDmaTransactionStopSystemTransfer()

PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER WdfVersion Functions pfnWdfDmaTransactionStopSystemTransfer ( DriverGlobals  ,
DmaTransaction   
)

◆ pfnWdfFdoInitSetDefaultChildListConfig()

PFN_WDFFDOINITSETDEFAULTCHILDLISTCONFIG WdfVersion Functions pfnWdfFdoInitSetDefaultChildListConfig ( DriverGlobals  ,
DeviceInit  ,
Config  ,
DefaultChildListAttributes   
)

◆ pfnWdfFdoInitSetEventCallbacks()

PFN_WDFFDOINITSETEVENTCALLBACKS WdfVersion Functions pfnWdfFdoInitSetEventCallbacks ( DriverGlobals  ,
DeviceInit  ,
FdoEventCallbacks   
)

◆ pfnWdfFdoInitSetFilter()

PFN_WDFFDOINITSETFILTER WdfVersion Functions pfnWdfFdoInitSetFilter ( DriverGlobals  ,
DeviceInit   
)

◆ pfnWdfFdoLockStaticChildListForIteration()

PFN_WDFFDOLOCKSTATICCHILDLISTFORITERATION WdfVersion Functions pfnWdfFdoLockStaticChildListForIteration ( DriverGlobals  ,
Fdo   
)

◆ pfnWdfFdoUnlockStaticChildListFromIteration()

PFN_WDFFDOUNLOCKSTATICCHILDLISTFROMITERATION WdfVersion Functions pfnWdfFdoUnlockStaticChildListFromIteration ( DriverGlobals  ,
Fdo   
)

◆ pfnWdfInterruptDisable()

PFN_WDFINTERRUPTDISABLE WdfVersion Functions pfnWdfInterruptDisable ( DriverGlobals  ,
Interrupt   
)

◆ pfnWdfInterruptEnable()

PFN_WDFINTERRUPTENABLE WdfVersion Functions pfnWdfInterruptEnable ( DriverGlobals  ,
Interrupt   
)

◆ pfnWdfInterruptGetInfo()

PFN_WDFINTERRUPTGETINFO WdfVersion Functions pfnWdfInterruptGetInfo ( DriverGlobals  ,
Interrupt  ,
Info   
)

◆ pfnWdfInterruptReportActive()

PFN_WDFINTERRUPTREPORTACTIVE WdfVersion Functions pfnWdfInterruptReportActive ( DriverGlobals  ,
Interrupt   
)

◆ pfnWdfInterruptReportInactive()

PFN_WDFINTERRUPTREPORTINACTIVE WdfVersion Functions pfnWdfInterruptReportInactive ( DriverGlobals  ,
Interrupt   
)

◆ pfnWdfInterruptSetExtendedPolicy()

PFN_WDFINTERRUPTSETEXTENDEDPOLICY WdfVersion Functions pfnWdfInterruptSetExtendedPolicy ( DriverGlobals  ,
Interrupt  ,
PolicyAndGroup   
)

◆ pfnWdfInterruptSetPolicy()

PFN_WDFINTERRUPTSETPOLICY WdfVersion Functions pfnWdfInterruptSetPolicy ( DriverGlobals  ,
Interrupt  ,
Policy  ,
Priority  ,
TargetProcessorSet   
)

◆ pfnWdfIoQueueDrain()

PFN_WDFIOQUEUEDRAIN WdfVersion Functions pfnWdfIoQueueDrain ( DriverGlobals  ,
Queue  ,
DrainComplete  ,
Context   
)

◆ pfnWdfIoQueueDrainSynchronously()

PFN_WDFIOQUEUEDRAINSYNCHRONOUSLY WdfVersion Functions pfnWdfIoQueueDrainSynchronously ( DriverGlobals  ,
Queue   
)

◆ pfnWdfIoQueuePurge()

PFN_WDFIOQUEUEPURGE WdfVersion Functions pfnWdfIoQueuePurge ( DriverGlobals  ,
Queue  ,
PurgeComplete  ,
Context   
)

◆ pfnWdfIoQueuePurgeSynchronously()

PFN_WDFIOQUEUEPURGESYNCHRONOUSLY WdfVersion Functions pfnWdfIoQueuePurgeSynchronously ( DriverGlobals  ,
Queue   
)

◆ pfnWdfIoQueueStart()

PFN_WDFIOQUEUESTART WdfVersion Functions pfnWdfIoQueueStart ( DriverGlobals  ,
Queue   
)

◆ pfnWdfIoQueueStop()

PFN_WDFIOQUEUESTOP WdfVersion Functions pfnWdfIoQueueStop ( DriverGlobals  ,
Queue  ,
StopComplete  ,
Context   
)

◆ pfnWdfIoQueueStopAndPurge()

PFN_WDFIOQUEUESTOPANDPURGE WdfVersion Functions pfnWdfIoQueueStopAndPurge ( DriverGlobals  ,
Queue  ,
StopAndPurgeComplete  ,
Context   
)

◆ pfnWdfIoQueueStopAndPurgeSynchronously()

PFN_WDFIOQUEUESTOPANDPURGESYNCHRONOUSLY WdfVersion Functions pfnWdfIoQueueStopAndPurgeSynchronously ( DriverGlobals  ,
Queue   
)

◆ pfnWdfIoQueueStopSynchronously()

PFN_WDFIOQUEUESTOPSYNCHRONOUSLY WdfVersion Functions pfnWdfIoQueueStopSynchronously ( DriverGlobals  ,
Queue   
)

◆ pfnWdfIoResourceListRemove()

PFN_WDFIORESOURCELISTREMOVE WdfVersion Functions pfnWdfIoResourceListRemove ( DriverGlobals  ,
ResourceList  ,
Index   
)

◆ pfnWdfIoResourceListRemoveByDescriptor()

PFN_WDFIORESOURCELISTREMOVEBYDESCRIPTOR WdfVersion Functions pfnWdfIoResourceListRemoveByDescriptor ( DriverGlobals  ,
ResourceList  ,
Descriptor   
)

◆ pfnWdfIoResourceListUpdateDescriptor()

PFN_WDFIORESOURCELISTUPDATEDESCRIPTOR WdfVersion Functions pfnWdfIoResourceListUpdateDescriptor ( DriverGlobals  ,
ResourceList  ,
Descriptor  ,
Index   
)

◆ pfnWdfIoResourceRequirementsListRemove()

PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVE WdfVersion Functions pfnWdfIoResourceRequirementsListRemove ( DriverGlobals  ,
RequirementsList  ,
Index   
)

◆ pfnWdfIoResourceRequirementsListRemoveByIoResList()

PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVEBYIORESLIST WdfVersion Functions pfnWdfIoResourceRequirementsListRemoveByIoResList ( DriverGlobals  ,
RequirementsList  ,
IoResList   
)

◆ pfnWdfIoResourceRequirementsListSetInterfaceType()

PFN_WDFIORESOURCEREQUIREMENTSLISTSETINTERFACETYPE WdfVersion Functions pfnWdfIoResourceRequirementsListSetInterfaceType ( DriverGlobals  ,
RequirementsList  ,
InterfaceType   
)

◆ pfnWdfIoResourceRequirementsListSetSlotNumber()

PFN_WDFIORESOURCEREQUIREMENTSLISTSETSLOTNUMBER WdfVersion Functions pfnWdfIoResourceRequirementsListSetSlotNumber ( DriverGlobals  ,
RequirementsList  ,
SlotNumber   
)

◆ pfnWdfIoTargetClose()

PFN_WDFIOTARGETCLOSE WdfVersion Functions pfnWdfIoTargetClose ( DriverGlobals  ,
IoTarget   
)

◆ pfnWdfIoTargetCloseForQueryRemove()

PFN_WDFIOTARGETCLOSEFORQUERYREMOVE WdfVersion Functions pfnWdfIoTargetCloseForQueryRemove ( DriverGlobals  ,
IoTarget   
)

◆ pfnWdfIoTargetPurge()

PFN_WDFIOTARGETPURGE WdfVersion Functions pfnWdfIoTargetPurge ( DriverGlobals  ,
IoTarget  ,
Action   
)

◆ pfnWdfIoTargetStop()

PFN_WDFIOTARGETSTOP WdfVersion Functions pfnWdfIoTargetStop ( DriverGlobals  ,
IoTarget  ,
Action   
)

◆ pfnWdfObjectDelete()

PFN_WDFOBJECTDELETE WdfVersion Functions pfnWdfObjectDelete ( DriverGlobals  ,
Object   
)

◆ pfnWdfPdoClearEjectionRelationsDevices()

PFN_WDFPDOCLEAREJECTIONRELATIONSDEVICES WdfVersion Functions pfnWdfPdoClearEjectionRelationsDevices ( DriverGlobals  ,
Device   
)

◆ pfnWdfPdoInitAllowForwardingRequestToParent()

PFN_WDFPDOINITALLOWFORWARDINGREQUESTTOPARENT WdfVersion Functions pfnWdfPdoInitAllowForwardingRequestToParent ( DriverGlobals  ,
DeviceInit   
)

◆ pfnWdfPdoInitSetDefaultLocale()

PFN_WDFPDOINITSETDEFAULTLOCALE WdfVersion Functions pfnWdfPdoInitSetDefaultLocale ( DriverGlobals  ,
DeviceInit  ,
LocaleId   
)

◆ pfnWdfPdoInitSetEventCallbacks()

PFN_WDFPDOINITSETEVENTCALLBACKS WdfVersion Functions pfnWdfPdoInitSetEventCallbacks ( DriverGlobals  ,
DeviceInit  ,
DispatchTable