reactos/sdk/lib/drivers/wdf/kmdf/inc/private/fxdynamics.h
2020-11-04 19:34:14 +03:00

7621 lines
195 KiB
C

/*++
Module Name: FxDynamics.h
Abstract:
Generated header for WDF APIs
Environment:
kernel mode only
Warning: manual changes to this file will be lost.
--*/
#ifndef _FXDYNAMICS_H_
#define _FXDYNAMICS_H_
typedef WDFAPI NTSTATUS
(STDCALL *PFN_ROSWDFUNIMPLEMENTED)(VOID);
WDFAPI
NTSTATUS
STDCALL
WdfApiNotImplemented();
typedef struct _WDFFUNCTIONS {
PFN_WDFCHILDLISTCREATE pfnWdfChildListCreate;
PFN_WDFCHILDLISTGETDEVICE pfnWdfChildListGetDevice;
PFN_WDFCHILDLISTRETRIEVEPDO pfnWdfChildListRetrievePdo;
PFN_WDFCHILDLISTRETRIEVEADDRESSDESCRIPTION pfnWdfChildListRetrieveAddressDescription;
PFN_WDFCHILDLISTBEGINSCAN pfnWdfChildListBeginScan;
PFN_WDFCHILDLISTENDSCAN pfnWdfChildListEndScan;
PFN_WDFCHILDLISTBEGINITERATION pfnWdfChildListBeginIteration;
PFN_WDFCHILDLISTRETRIEVENEXTDEVICE pfnWdfChildListRetrieveNextDevice;
PFN_WDFCHILDLISTENDITERATION pfnWdfChildListEndIteration;
PFN_WDFCHILDLISTADDORUPDATECHILDDESCRIPTIONASPRESENT pfnWdfChildListAddOrUpdateChildDescriptionAsPresent;
PFN_WDFCHILDLISTUPDATECHILDDESCRIPTIONASMISSING pfnWdfChildListUpdateChildDescriptionAsMissing;
PFN_WDFCHILDLISTUPDATEALLCHILDDESCRIPTIONSASPRESENT pfnWdfChildListUpdateAllChildDescriptionsAsPresent;
PFN_WDFCHILDLISTREQUESTCHILDEJECT pfnWdfChildListRequestChildEject;
PFN_WDFCOLLECTIONCREATE pfnWdfCollectionCreate;
PFN_WDFCOLLECTIONGETCOUNT pfnWdfCollectionGetCount;
PFN_WDFCOLLECTIONADD pfnWdfCollectionAdd;
PFN_WDFCOLLECTIONREMOVE pfnWdfCollectionRemove;
PFN_WDFCOLLECTIONREMOVEITEM pfnWdfCollectionRemoveItem;
PFN_WDFCOLLECTIONGETITEM pfnWdfCollectionGetItem;
PFN_WDFCOLLECTIONGETFIRSTITEM pfnWdfCollectionGetFirstItem;
PFN_WDFCOLLECTIONGETLASTITEM pfnWdfCollectionGetLastItem;
// PFN_WDFCOMMONBUFFERCREATE pfnWdfCommonBufferCreate;
// PFN_WDFCOMMONBUFFERGETALIGNEDVIRTUALADDRESS pfnWdfCommonBufferGetAlignedVirtualAddress;
// PFN_WDFCOMMONBUFFERGETALIGNEDLOGICALADDRESS pfnWdfCommonBufferGetAlignedLogicalAddress;
// PFN_WDFCOMMONBUFFERGETLENGTH pfnWdfCommonBufferGetLength;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferCreate;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferGetAlignedVirtualAddress;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferGetAlignedLogicalAddress;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferGetLength;
PFN_WDFCONTROLDEVICEINITALLOCATE pfnWdfControlDeviceInitAllocate;
PFN_WDFCONTROLDEVICEINITSETSHUTDOWNNOTIFICATION pfnWdfControlDeviceInitSetShutdownNotification;
PFN_WDFCONTROLFINISHINITIALIZING pfnWdfControlFinishInitializing;
PFN_WDFDEVICEGETDEVICESTATE pfnWdfDeviceGetDeviceState;
PFN_WDFDEVICESETDEVICESTATE pfnWdfDeviceSetDeviceState;
PFN_WDFWDMDEVICEGETWDFDEVICEHANDLE pfnWdfWdmDeviceGetWdfDeviceHandle;
PFN_WDFDEVICEWDMGETDEVICEOBJECT pfnWdfDeviceWdmGetDeviceObject;
PFN_WDFDEVICEWDMGETATTACHEDDEVICE pfnWdfDeviceWdmGetAttachedDevice;
PFN_WDFDEVICEWDMGETPHYSICALDEVICE pfnWdfDeviceWdmGetPhysicalDevice;
PFN_WDFDEVICEWDMDISPATCHPREPROCESSEDIRP pfnWdfDeviceWdmDispatchPreprocessedIrp;
PFN_WDFDEVICEADDDEPENDENTUSAGEDEVICEOBJECT pfnWdfDeviceAddDependentUsageDeviceObject;
PFN_WDFDEVICEADDREMOVALRELATIONSPHYSICALDEVICE pfnWdfDeviceAddRemovalRelationsPhysicalDevice;
PFN_WDFDEVICEREMOVEREMOVALRELATIONSPHYSICALDEVICE pfnWdfDeviceRemoveRemovalRelationsPhysicalDevice;
PFN_WDFDEVICECLEARREMOVALRELATIONSDEVICES pfnWdfDeviceClearRemovalRelationsDevices;
PFN_WDFDEVICEGETDRIVER pfnWdfDeviceGetDriver;
PFN_WDFDEVICERETRIEVEDEVICENAME pfnWdfDeviceRetrieveDeviceName;
PFN_WDFDEVICEASSIGNMOFRESOURCENAME pfnWdfDeviceAssignMofResourceName;
PFN_WDFDEVICEGETIOTARGET pfnWdfDeviceGetIoTarget;
PFN_WDFDEVICEGETDEVICEPNPSTATE pfnWdfDeviceGetDevicePnpState;
PFN_WDFDEVICEGETDEVICEPOWERSTATE pfnWdfDeviceGetDevicePowerState;
PFN_WDFDEVICEGETDEVICEPOWERPOLICYSTATE pfnWdfDeviceGetDevicePowerPolicyState;
PFN_WDFDEVICEASSIGNS0IDLESETTINGS pfnWdfDeviceAssignS0IdleSettings;
PFN_WDFDEVICEASSIGNSXWAKESETTINGS pfnWdfDeviceAssignSxWakeSettings;
PFN_WDFDEVICEOPENREGISTRYKEY pfnWdfDeviceOpenRegistryKey;
PFN_WDFDEVICESETSPECIALFILESUPPORT pfnWdfDeviceSetSpecialFileSupport;
PFN_WDFDEVICESETCHARACTERISTICS pfnWdfDeviceSetCharacteristics;
PFN_WDFDEVICEGETCHARACTERISTICS pfnWdfDeviceGetCharacteristics;
PFN_WDFDEVICEGETALIGNMENTREQUIREMENT pfnWdfDeviceGetAlignmentRequirement;
PFN_WDFDEVICESETALIGNMENTREQUIREMENT pfnWdfDeviceSetAlignmentRequirement;
PFN_WDFDEVICEINITFREE pfnWdfDeviceInitFree;
PFN_WDFDEVICEINITSETPNPPOWEREVENTCALLBACKS pfnWdfDeviceInitSetPnpPowerEventCallbacks;
PFN_WDFDEVICEINITSETPOWERPOLICYEVENTCALLBACKS pfnWdfDeviceInitSetPowerPolicyEventCallbacks;
PFN_WDFDEVICEINITSETPOWERPOLICYOWNERSHIP pfnWdfDeviceInitSetPowerPolicyOwnership;
PFN_WDFDEVICEINITREGISTERPNPSTATECHANGECALLBACK pfnWdfDeviceInitRegisterPnpStateChangeCallback;
PFN_WDFDEVICEINITREGISTERPOWERSTATECHANGECALLBACK pfnWdfDeviceInitRegisterPowerStateChangeCallback;
PFN_WDFDEVICEINITREGISTERPOWERPOLICYSTATECHANGECALLBACK pfnWdfDeviceInitRegisterPowerPolicyStateChangeCallback;
PFN_WDFDEVICEINITSETIOTYPE pfnWdfDeviceInitSetIoType;
PFN_WDFDEVICEINITSETEXCLUSIVE pfnWdfDeviceInitSetExclusive;
PFN_WDFDEVICEINITSETPOWERNOTPAGEABLE pfnWdfDeviceInitSetPowerNotPageable;
PFN_WDFDEVICEINITSETPOWERPAGEABLE pfnWdfDeviceInitSetPowerPageable;
PFN_WDFDEVICEINITSETPOWERINRUSH pfnWdfDeviceInitSetPowerInrush;
PFN_WDFDEVICEINITSETDEVICETYPE pfnWdfDeviceInitSetDeviceType;
PFN_WDFDEVICEINITASSIGNNAME pfnWdfDeviceInitAssignName;
PFN_WDFDEVICEINITASSIGNSDDLSTRING pfnWdfDeviceInitAssignSDDLString;
PFN_WDFDEVICEINITSETDEVICECLASS pfnWdfDeviceInitSetDeviceClass;
PFN_WDFDEVICEINITSETCHARACTERISTICS pfnWdfDeviceInitSetCharacteristics;
PFN_WDFDEVICEINITSETFILEOBJECTCONFIG pfnWdfDeviceInitSetFileObjectConfig;
PFN_WDFDEVICEINITSETREQUESTATTRIBUTES pfnWdfDeviceInitSetRequestAttributes;
PFN_WDFDEVICEINITASSIGNWDMIRPPREPROCESSCALLBACK pfnWdfDeviceInitAssignWdmIrpPreprocessCallback;
PFN_WDFDEVICEINITSETIOINCALLERCONTEXTCALLBACK pfnWdfDeviceInitSetIoInCallerContextCallback;
PFN_WDFDEVICECREATE pfnWdfDeviceCreate;
PFN_WDFDEVICESETSTATICSTOPREMOVE pfnWdfDeviceSetStaticStopRemove;
PFN_WDFDEVICECREATEDEVICEINTERFACE pfnWdfDeviceCreateDeviceInterface;
PFN_WDFDEVICESETDEVICEINTERFACESTATE pfnWdfDeviceSetDeviceInterfaceState;
PFN_WDFDEVICERETRIEVEDEVICEINTERFACESTRING pfnWdfDeviceRetrieveDeviceInterfaceString;
PFN_WDFDEVICECREATESYMBOLICLINK pfnWdfDeviceCreateSymbolicLink;
PFN_WDFDEVICEQUERYPROPERTY pfnWdfDeviceQueryProperty;
PFN_WDFDEVICEALLOCANDQUERYPROPERTY pfnWdfDeviceAllocAndQueryProperty;
PFN_WDFDEVICESETPNPCAPABILITIES pfnWdfDeviceSetPnpCapabilities;
PFN_WDFDEVICESETPOWERCAPABILITIES pfnWdfDeviceSetPowerCapabilities;
PFN_WDFDEVICESETBUSINFORMATIONFORCHILDREN pfnWdfDeviceSetBusInformationForChildren;
PFN_WDFDEVICEINDICATEWAKESTATUS pfnWdfDeviceIndicateWakeStatus;
PFN_WDFDEVICESETFAILED pfnWdfDeviceSetFailed;
PFN_WDFDEVICESTOPIDLENOTRACK pfnWdfDeviceStopIdleNoTrack;
PFN_WDFDEVICERESUMEIDLENOTRACK pfnWdfDeviceResumeIdleNoTrack;
PFN_WDFDEVICEGETFILEOBJECT pfnWdfDeviceGetFileObject;
PFN_WDFDEVICEENQUEUEREQUEST pfnWdfDeviceEnqueueRequest;
PFN_WDFDEVICEGETDEFAULTQUEUE pfnWdfDeviceGetDefaultQueue;
PFN_WDFDEVICECONFIGUREREQUESTDISPATCHING pfnWdfDeviceConfigureRequestDispatching;
// PFN_WDFDMAENABLERCREATE pfnWdfDmaEnablerCreate;
// PFN_WDFDMAENABLERGETMAXIMUMLENGTH pfnWdfDmaEnablerGetMaximumLength;
// PFN_WDFDMAENABLERGETMAXIMUMSCATTERGATHERELEMENTS pfnWdfDmaEnablerGetMaximumScatterGatherElements;
// PFN_WDFDMAENABLERSETMAXIMUMSCATTERGATHERELEMENTS pfnWdfDmaEnablerSetMaximumScatterGatherElements;
// PFN_WDFDMATRANSACTIONCREATE pfnWdfDmaTransactionCreate;
// PFN_WDFDMATRANSACTIONINITIALIZE pfnWdfDmaTransactionInitialize;
// PFN_WDFDMATRANSACTIONINITIALIZEUSINGREQUEST pfnWdfDmaTransactionInitializeUsingRequest;
// PFN_WDFDMATRANSACTIONEXECUTE pfnWdfDmaTransactionExecute;
// PFN_WDFDMATRANSACTIONRELEASE pfnWdfDmaTransactionRelease;
// PFN_WDFDMATRANSACTIONDMACOMPLETED pfnWdfDmaTransactionDmaCompleted;
// PFN_WDFDMATRANSACTIONDMACOMPLETEDWITHLENGTH pfnWdfDmaTransactionDmaCompletedWithLength;
// PFN_WDFDMATRANSACTIONDMACOMPLETEDFINAL pfnWdfDmaTransactionDmaCompletedFinal;
// PFN_WDFDMATRANSACTIONGETBYTESTRANSFERRED pfnWdfDmaTransactionGetBytesTransferred;
// PFN_WDFDMATRANSACTIONSETMAXIMUMLENGTH pfnWdfDmaTransactionSetMaximumLength;
// PFN_WDFDMATRANSACTIONGETREQUEST pfnWdfDmaTransactionGetRequest;
// PFN_WDFDMATRANSACTIONGETCURRENTDMATRANSFERLENGTH pfnWdfDmaTransactionGetCurrentDmaTransferLength;
// PFN_WDFDMATRANSACTIONGETDEVICE pfnWdfDmaTransactionGetDevice;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerCreate;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerGetMaximumLength;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerGetMaximumScatterGatherElements;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerSetMaximumScatterGatherElements;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionCreate;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionInitialize;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionInitializeUsingRequest;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionExecute;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionRelease;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionDmaCompleted;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionDmaCompletedWithLength;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionDmaCompletedFinal;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetBytesTransferred;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetMaximumLength;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetRequest;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetCurrentDmaTransferLength;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetDevice;
PFN_WDFDPCCREATE pfnWdfDpcCreate;
PFN_WDFDPCENQUEUE pfnWdfDpcEnqueue;
PFN_WDFDPCCANCEL pfnWdfDpcCancel;
PFN_WDFDPCGETPARENTOBJECT pfnWdfDpcGetParentObject;
PFN_WDFDPCWDMGETDPC pfnWdfDpcWdmGetDpc;
PFN_WDFDRIVERCREATE pfnWdfDriverCreate;
PFN_WDFDRIVERGETREGISTRYPATH pfnWdfDriverGetRegistryPath;
PFN_WDFDRIVERWDMGETDRIVEROBJECT pfnWdfDriverWdmGetDriverObject;
PFN_WDFDRIVEROPENPARAMETERSREGISTRYKEY pfnWdfDriverOpenParametersRegistryKey;
PFN_WDFWDMDRIVERGETWDFDRIVERHANDLE pfnWdfWdmDriverGetWdfDriverHandle;
PFN_WDFDRIVERREGISTERTRACEINFO pfnWdfDriverRegisterTraceInfo;
PFN_WDFDRIVERRETRIEVEVERSIONSTRING pfnWdfDriverRetrieveVersionString;
PFN_WDFDRIVERISVERSIONAVAILABLE pfnWdfDriverIsVersionAvailable;
PFN_WDFFDOINITWDMGETPHYSICALDEVICE pfnWdfFdoInitWdmGetPhysicalDevice;
PFN_WDFFDOINITOPENREGISTRYKEY pfnWdfFdoInitOpenRegistryKey;
PFN_WDFFDOINITQUERYPROPERTY pfnWdfFdoInitQueryProperty;
PFN_WDFFDOINITALLOCANDQUERYPROPERTY pfnWdfFdoInitAllocAndQueryProperty;
PFN_WDFFDOINITSETEVENTCALLBACKS pfnWdfFdoInitSetEventCallbacks;
PFN_WDFFDOINITSETFILTER pfnWdfFdoInitSetFilter;
PFN_WDFFDOINITSETDEFAULTCHILDLISTCONFIG pfnWdfFdoInitSetDefaultChildListConfig;
PFN_WDFFDOQUERYFORINTERFACE pfnWdfFdoQueryForInterface;
PFN_WDFFDOGETDEFAULTCHILDLIST pfnWdfFdoGetDefaultChildList;
PFN_WDFFDOADDSTATICCHILD pfnWdfFdoAddStaticChild;
PFN_WDFFDOLOCKSTATICCHILDLISTFORITERATION pfnWdfFdoLockStaticChildListForIteration;
PFN_WDFFDORETRIEVENEXTSTATICCHILD pfnWdfFdoRetrieveNextStaticChild;
PFN_WDFFDOUNLOCKSTATICCHILDLISTFROMITERATION pfnWdfFdoUnlockStaticChildListFromIteration;
PFN_WDFFILEOBJECTGETFILENAME pfnWdfFileObjectGetFileName;
PFN_WDFFILEOBJECTGETFLAGS pfnWdfFileObjectGetFlags;
PFN_WDFFILEOBJECTGETDEVICE pfnWdfFileObjectGetDevice;
PFN_WDFFILEOBJECTWDMGETFILEOBJECT pfnWdfFileObjectWdmGetFileObject;
PFN_WDFINTERRUPTCREATE pfnWdfInterruptCreate;
PFN_WDFINTERRUPTQUEUEDPCFORISR pfnWdfInterruptQueueDpcForIsr;
PFN_WDFINTERRUPTSYNCHRONIZE pfnWdfInterruptSynchronize;
PFN_WDFINTERRUPTACQUIRELOCK pfnWdfInterruptAcquireLock;
PFN_WDFINTERRUPTRELEASELOCK pfnWdfInterruptReleaseLock;
PFN_WDFINTERRUPTENABLE pfnWdfInterruptEnable;
PFN_WDFINTERRUPTDISABLE pfnWdfInterruptDisable;
PFN_WDFINTERRUPTWDMGETINTERRUPT pfnWdfInterruptWdmGetInterrupt;
PFN_WDFINTERRUPTGETINFO pfnWdfInterruptGetInfo;
PFN_WDFINTERRUPTSETPOLICY pfnWdfInterruptSetPolicy;
PFN_WDFINTERRUPTGETDEVICE pfnWdfInterruptGetDevice;
PFN_WDFIOQUEUECREATE pfnWdfIoQueueCreate;
PFN_WDFIOQUEUEGETSTATE pfnWdfIoQueueGetState;
PFN_WDFIOQUEUESTART pfnWdfIoQueueStart;
PFN_WDFIOQUEUESTOP pfnWdfIoQueueStop;
PFN_WDFIOQUEUESTOPSYNCHRONOUSLY pfnWdfIoQueueStopSynchronously;
PFN_WDFIOQUEUEGETDEVICE pfnWdfIoQueueGetDevice;
PFN_WDFIOQUEUERETRIEVENEXTREQUEST pfnWdfIoQueueRetrieveNextRequest;
PFN_WDFIOQUEUERETRIEVEREQUESTBYFILEOBJECT pfnWdfIoQueueRetrieveRequestByFileObject;
PFN_WDFIOQUEUEFINDREQUEST pfnWdfIoQueueFindRequest;
PFN_WDFIOQUEUERETRIEVEFOUNDREQUEST pfnWdfIoQueueRetrieveFoundRequest;
PFN_WDFIOQUEUEDRAINSYNCHRONOUSLY pfnWdfIoQueueDrainSynchronously;
PFN_WDFIOQUEUEDRAIN pfnWdfIoQueueDrain;
PFN_WDFIOQUEUEPURGESYNCHRONOUSLY pfnWdfIoQueuePurgeSynchronously;
PFN_WDFIOQUEUEPURGE pfnWdfIoQueuePurge;
PFN_WDFIOQUEUEREADYNOTIFY pfnWdfIoQueueReadyNotify;
PFN_WDFIOTARGETCREATE pfnWdfIoTargetCreate;
PFN_WDFIOTARGETOPEN pfnWdfIoTargetOpen;
PFN_WDFIOTARGETCLOSEFORQUERYREMOVE pfnWdfIoTargetCloseForQueryRemove;
PFN_WDFIOTARGETCLOSE pfnWdfIoTargetClose;
PFN_WDFIOTARGETSTART pfnWdfIoTargetStart;
PFN_WDFIOTARGETSTOP pfnWdfIoTargetStop;
PFN_WDFIOTARGETGETSTATE pfnWdfIoTargetGetState;
PFN_WDFIOTARGETGETDEVICE pfnWdfIoTargetGetDevice;
PFN_WDFIOTARGETQUERYTARGETPROPERTY pfnWdfIoTargetQueryTargetProperty;
PFN_WDFIOTARGETALLOCANDQUERYTARGETPROPERTY pfnWdfIoTargetAllocAndQueryTargetProperty;
PFN_WDFIOTARGETQUERYFORINTERFACE pfnWdfIoTargetQueryForInterface;
PFN_WDFIOTARGETWDMGETTARGETDEVICEOBJECT pfnWdfIoTargetWdmGetTargetDeviceObject;
PFN_WDFIOTARGETWDMGETTARGETPHYSICALDEVICE pfnWdfIoTargetWdmGetTargetPhysicalDevice;
PFN_WDFIOTARGETWDMGETTARGETFILEOBJECT pfnWdfIoTargetWdmGetTargetFileObject;
PFN_WDFIOTARGETWDMGETTARGETFILEHANDLE pfnWdfIoTargetWdmGetTargetFileHandle;
PFN_WDFIOTARGETSENDREADSYNCHRONOUSLY pfnWdfIoTargetSendReadSynchronously;
PFN_WDFIOTARGETFORMATREQUESTFORREAD pfnWdfIoTargetFormatRequestForRead;
PFN_WDFIOTARGETSENDWRITESYNCHRONOUSLY pfnWdfIoTargetSendWriteSynchronously;
PFN_WDFIOTARGETFORMATREQUESTFORWRITE pfnWdfIoTargetFormatRequestForWrite;
PFN_WDFIOTARGETSENDIOCTLSYNCHRONOUSLY pfnWdfIoTargetSendIoctlSynchronously;
PFN_WDFIOTARGETFORMATREQUESTFORIOCTL pfnWdfIoTargetFormatRequestForIoctl;
PFN_WDFIOTARGETSENDINTERNALIOCTLSYNCHRONOUSLY pfnWdfIoTargetSendInternalIoctlSynchronously;
PFN_WDFIOTARGETFORMATREQUESTFORINTERNALIOCTL pfnWdfIoTargetFormatRequestForInternalIoctl;
PFN_WDFIOTARGETSENDINTERNALIOCTLOTHERSSYNCHRONOUSLY pfnWdfIoTargetSendInternalIoctlOthersSynchronously;
PFN_WDFIOTARGETFORMATREQUESTFORINTERNALIOCTLOTHERS pfnWdfIoTargetFormatRequestForInternalIoctlOthers;
PFN_WDFMEMORYCREATE pfnWdfMemoryCreate;
PFN_WDFMEMORYCREATEPREALLOCATED pfnWdfMemoryCreatePreallocated;
PFN_WDFMEMORYGETBUFFER pfnWdfMemoryGetBuffer;
PFN_WDFMEMORYASSIGNBUFFER pfnWdfMemoryAssignBuffer;
PFN_WDFMEMORYCOPYTOBUFFER pfnWdfMemoryCopyToBuffer;
PFN_WDFMEMORYCOPYFROMBUFFER pfnWdfMemoryCopyFromBuffer;
PFN_WDFLOOKASIDELISTCREATE pfnWdfLookasideListCreate;
PFN_WDFMEMORYCREATEFROMLOOKASIDE pfnWdfMemoryCreateFromLookaside;
PFN_WDFDEVICEMINIPORTCREATE pfnWdfDeviceMiniportCreate;
PFN_WDFDRIVERMINIPORTUNLOAD pfnWdfDriverMiniportUnload;
PFN_WDFOBJECTGETTYPEDCONTEXTWORKER pfnWdfObjectGetTypedContextWorker;
PFN_WDFOBJECTALLOCATECONTEXT pfnWdfObjectAllocateContext;
PFN_WDFOBJECTCONTEXTGETOBJECT pfnWdfObjectContextGetObject;
PFN_WDFOBJECTREFERENCEACTUAL pfnWdfObjectReferenceActual;
PFN_WDFOBJECTDEREFERENCEACTUAL pfnWdfObjectDereferenceActual;
PFN_WDFOBJECTCREATE pfnWdfObjectCreate;
PFN_WDFOBJECTDELETE pfnWdfObjectDelete;
PFN_WDFOBJECTQUERY pfnWdfObjectQuery;
PFN_WDFPDOINITALLOCATE pfnWdfPdoInitAllocate;
PFN_WDFPDOINITSETEVENTCALLBACKS pfnWdfPdoInitSetEventCallbacks;
PFN_WDFPDOINITASSIGNDEVICEID pfnWdfPdoInitAssignDeviceID;
PFN_WDFPDOINITASSIGNINSTANCEID pfnWdfPdoInitAssignInstanceID;
PFN_WDFPDOINITADDHARDWAREID pfnWdfPdoInitAddHardwareID;
PFN_WDFPDOINITADDCOMPATIBLEID pfnWdfPdoInitAddCompatibleID;
PFN_WDFPDOINITADDDEVICETEXT pfnWdfPdoInitAddDeviceText;
PFN_WDFPDOINITSETDEFAULTLOCALE pfnWdfPdoInitSetDefaultLocale;
PFN_WDFPDOINITASSIGNRAWDEVICE pfnWdfPdoInitAssignRawDevice;
PFN_WDFPDOMARKMISSING pfnWdfPdoMarkMissing;
PFN_WDFPDOREQUESTEJECT pfnWdfPdoRequestEject;
PFN_WDFPDOGETPARENT pfnWdfPdoGetParent;
PFN_WDFPDORETRIEVEIDENTIFICATIONDESCRIPTION pfnWdfPdoRetrieveIdentificationDescription;
PFN_WDFPDORETRIEVEADDRESSDESCRIPTION pfnWdfPdoRetrieveAddressDescription;
PFN_WDFPDOUPDATEADDRESSDESCRIPTION pfnWdfPdoUpdateAddressDescription;
PFN_WDFPDOADDEJECTIONRELATIONSPHYSICALDEVICE pfnWdfPdoAddEjectionRelationsPhysicalDevice;
PFN_WDFPDOREMOVEEJECTIONRELATIONSPHYSICALDEVICE pfnWdfPdoRemoveEjectionRelationsPhysicalDevice;
PFN_WDFPDOCLEAREJECTIONRELATIONSDEVICES pfnWdfPdoClearEjectionRelationsDevices;
PFN_WDFDEVICEADDQUERYINTERFACE pfnWdfDeviceAddQueryInterface;
PFN_WDFREGISTRYOPENKEY pfnWdfRegistryOpenKey;
PFN_WDFREGISTRYCREATEKEY pfnWdfRegistryCreateKey;
PFN_WDFREGISTRYCLOSE pfnWdfRegistryClose;
PFN_WDFREGISTRYWDMGETHANDLE pfnWdfRegistryWdmGetHandle;
PFN_WDFREGISTRYREMOVEKEY pfnWdfRegistryRemoveKey;
PFN_WDFREGISTRYREMOVEVALUE pfnWdfRegistryRemoveValue;
PFN_WDFREGISTRYQUERYVALUE pfnWdfRegistryQueryValue;
PFN_WDFREGISTRYQUERYMEMORY pfnWdfRegistryQueryMemory;
PFN_WDFREGISTRYQUERYMULTISTRING pfnWdfRegistryQueryMultiString;
PFN_WDFREGISTRYQUERYUNICODESTRING pfnWdfRegistryQueryUnicodeString;
PFN_WDFREGISTRYQUERYSTRING pfnWdfRegistryQueryString;
PFN_WDFREGISTRYQUERYULONG pfnWdfRegistryQueryULong;
PFN_WDFREGISTRYASSIGNVALUE pfnWdfRegistryAssignValue;
PFN_WDFREGISTRYASSIGNMEMORY pfnWdfRegistryAssignMemory;
PFN_WDFREGISTRYASSIGNMULTISTRING pfnWdfRegistryAssignMultiString;
PFN_WDFREGISTRYASSIGNUNICODESTRING pfnWdfRegistryAssignUnicodeString;
PFN_WDFREGISTRYASSIGNSTRING pfnWdfRegistryAssignString;
PFN_WDFREGISTRYASSIGNULONG pfnWdfRegistryAssignULong;
PFN_WDFREQUESTCREATE pfnWdfRequestCreate;
PFN_WDFREQUESTCREATEFROMIRP pfnWdfRequestCreateFromIrp;
PFN_WDFREQUESTREUSE pfnWdfRequestReuse;
PFN_WDFREQUESTCHANGETARGET pfnWdfRequestChangeTarget;
PFN_WDFREQUESTFORMATREQUESTUSINGCURRENTTYPE pfnWdfRequestFormatRequestUsingCurrentType;
PFN_WDFREQUESTWDMFORMATUSINGSTACKLOCATION pfnWdfRequestWdmFormatUsingStackLocation;
PFN_WDFREQUESTSEND pfnWdfRequestSend;
PFN_WDFREQUESTGETSTATUS pfnWdfRequestGetStatus;
PFN_WDFREQUESTMARKCANCELABLE pfnWdfRequestMarkCancelable;
PFN_WDFREQUESTUNMARKCANCELABLE pfnWdfRequestUnmarkCancelable;
PFN_WDFREQUESTISCANCELED pfnWdfRequestIsCanceled;
PFN_WDFREQUESTCANCELSENTREQUEST pfnWdfRequestCancelSentRequest;
PFN_WDFREQUESTISFROM32BITPROCESS pfnWdfRequestIsFrom32BitProcess;
PFN_WDFREQUESTSETCOMPLETIONROUTINE pfnWdfRequestSetCompletionRoutine;
PFN_WDFREQUESTGETCOMPLETIONPARAMS pfnWdfRequestGetCompletionParams;
PFN_WDFREQUESTALLOCATETIMER pfnWdfRequestAllocateTimer;
PFN_WDFREQUESTCOMPLETE pfnWdfRequestComplete;
PFN_WDFREQUESTCOMPLETEWITHPRIORITYBOOST pfnWdfRequestCompleteWithPriorityBoost;
PFN_WDFREQUESTCOMPLETEWITHINFORMATION pfnWdfRequestCompleteWithInformation;
PFN_WDFREQUESTGETPARAMETERS pfnWdfRequestGetParameters;
PFN_WDFREQUESTRETRIEVEINPUTMEMORY pfnWdfRequestRetrieveInputMemory;
PFN_WDFREQUESTRETRIEVEOUTPUTMEMORY pfnWdfRequestRetrieveOutputMemory;
PFN_WDFREQUESTRETRIEVEINPUTBUFFER pfnWdfRequestRetrieveInputBuffer;
PFN_WDFREQUESTRETRIEVEOUTPUTBUFFER pfnWdfRequestRetrieveOutputBuffer;
PFN_WDFREQUESTRETRIEVEINPUTWDMMDL pfnWdfRequestRetrieveInputWdmMdl;
PFN_WDFREQUESTRETRIEVEOUTPUTWDMMDL pfnWdfRequestRetrieveOutputWdmMdl;
PFN_WDFREQUESTRETRIEVEUNSAFEUSERINPUTBUFFER pfnWdfRequestRetrieveUnsafeUserInputBuffer;
PFN_WDFREQUESTRETRIEVEUNSAFEUSEROUTPUTBUFFER pfnWdfRequestRetrieveUnsafeUserOutputBuffer;
PFN_WDFREQUESTSETINFORMATION pfnWdfRequestSetInformation;
PFN_WDFREQUESTGETINFORMATION pfnWdfRequestGetInformation;
PFN_WDFREQUESTGETFILEOBJECT pfnWdfRequestGetFileObject;
PFN_WDFREQUESTPROBEANDLOCKUSERBUFFERFORREAD pfnWdfRequestProbeAndLockUserBufferForRead;
PFN_WDFREQUESTPROBEANDLOCKUSERBUFFERFORWRITE pfnWdfRequestProbeAndLockUserBufferForWrite;
PFN_WDFREQUESTGETREQUESTORMODE pfnWdfRequestGetRequestorMode;
PFN_WDFREQUESTFORWARDTOIOQUEUE pfnWdfRequestForwardToIoQueue;
PFN_WDFREQUESTGETIOQUEUE pfnWdfRequestGetIoQueue;
PFN_WDFREQUESTREQUEUE pfnWdfRequestRequeue;
PFN_WDFREQUESTSTOPACKNOWLEDGE pfnWdfRequestStopAcknowledge;
PFN_WDFREQUESTWDMGETIRP pfnWdfRequestWdmGetIrp;
PFN_WDFIORESOURCEREQUIREMENTSLISTSETSLOTNUMBER pfnWdfIoResourceRequirementsListSetSlotNumber;
PFN_WDFIORESOURCEREQUIREMENTSLISTSETINTERFACETYPE pfnWdfIoResourceRequirementsListSetInterfaceType;
PFN_WDFIORESOURCEREQUIREMENTSLISTAPPENDIORESLIST pfnWdfIoResourceRequirementsListAppendIoResList;
PFN_WDFIORESOURCEREQUIREMENTSLISTINSERTIORESLIST pfnWdfIoResourceRequirementsListInsertIoResList;
PFN_WDFIORESOURCEREQUIREMENTSLISTGETCOUNT pfnWdfIoResourceRequirementsListGetCount;
PFN_WDFIORESOURCEREQUIREMENTSLISTGETIORESLIST pfnWdfIoResourceRequirementsListGetIoResList;
PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVE pfnWdfIoResourceRequirementsListRemove;
PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVEBYIORESLIST pfnWdfIoResourceRequirementsListRemoveByIoResList;
PFN_WDFIORESOURCELISTCREATE pfnWdfIoResourceListCreate;
PFN_WDFIORESOURCELISTAPPENDDESCRIPTOR pfnWdfIoResourceListAppendDescriptor;
PFN_WDFIORESOURCELISTINSERTDESCRIPTOR pfnWdfIoResourceListInsertDescriptor;
PFN_WDFIORESOURCELISTUPDATEDESCRIPTOR pfnWdfIoResourceListUpdateDescriptor;
PFN_WDFIORESOURCELISTGETCOUNT pfnWdfIoResourceListGetCount;
PFN_WDFIORESOURCELISTGETDESCRIPTOR pfnWdfIoResourceListGetDescriptor;
PFN_WDFIORESOURCELISTREMOVE pfnWdfIoResourceListRemove;
PFN_WDFIORESOURCELISTREMOVEBYDESCRIPTOR pfnWdfIoResourceListRemoveByDescriptor;
PFN_WDFCMRESOURCELISTAPPENDDESCRIPTOR pfnWdfCmResourceListAppendDescriptor;
PFN_WDFCMRESOURCELISTINSERTDESCRIPTOR pfnWdfCmResourceListInsertDescriptor;
PFN_WDFCMRESOURCELISTGETCOUNT pfnWdfCmResourceListGetCount;
PFN_WDFCMRESOURCELISTGETDESCRIPTOR pfnWdfCmResourceListGetDescriptor;
PFN_WDFCMRESOURCELISTREMOVE pfnWdfCmResourceListRemove;
PFN_WDFCMRESOURCELISTREMOVEBYDESCRIPTOR pfnWdfCmResourceListRemoveByDescriptor;
PFN_WDFSTRINGCREATE pfnWdfStringCreate;
PFN_WDFSTRINGGETUNICODESTRING pfnWdfStringGetUnicodeString;
PFN_WDFOBJECTACQUIRELOCK pfnWdfObjectAcquireLock;
PFN_WDFOBJECTRELEASELOCK pfnWdfObjectReleaseLock;
PFN_WDFWAITLOCKCREATE pfnWdfWaitLockCreate;
PFN_WDFWAITLOCKACQUIRE pfnWdfWaitLockAcquire;
PFN_WDFWAITLOCKRELEASE pfnWdfWaitLockRelease;
PFN_WDFSPINLOCKCREATE pfnWdfSpinLockCreate;
PFN_WDFSPINLOCKACQUIRE pfnWdfSpinLockAcquire;
PFN_WDFSPINLOCKRELEASE pfnWdfSpinLockRelease;
PFN_WDFTIMERCREATE pfnWdfTimerCreate;
PFN_WDFTIMERSTART pfnWdfTimerStart;
PFN_WDFTIMERSTOP pfnWdfTimerStop;
PFN_WDFTIMERGETPARENTOBJECT pfnWdfTimerGetParentObject;
// PFN_WDFUSBTARGETDEVICECREATE pfnWdfUsbTargetDeviceCreate;
// PFN_WDFUSBTARGETDEVICERETRIEVEINFORMATION pfnWdfUsbTargetDeviceRetrieveInformation;
// PFN_WDFUSBTARGETDEVICEGETDEVICEDESCRIPTOR pfnWdfUsbTargetDeviceGetDeviceDescriptor;
// PFN_WDFUSBTARGETDEVICERETRIEVECONFIGDESCRIPTOR pfnWdfUsbTargetDeviceRetrieveConfigDescriptor;
// PFN_WDFUSBTARGETDEVICEQUERYSTRING pfnWdfUsbTargetDeviceQueryString;
// PFN_WDFUSBTARGETDEVICEALLOCANDQUERYSTRING pfnWdfUsbTargetDeviceAllocAndQueryString;
// PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORSTRING pfnWdfUsbTargetDeviceFormatRequestForString;
// PFN_WDFUSBTARGETDEVICEGETNUMINTERFACES pfnWdfUsbTargetDeviceGetNumInterfaces;
// PFN_WDFUSBTARGETDEVICESELECTCONFIG pfnWdfUsbTargetDeviceSelectConfig;
// PFN_WDFUSBTARGETDEVICEWDMGETCONFIGURATIONHANDLE pfnWdfUsbTargetDeviceWdmGetConfigurationHandle;
// PFN_WDFUSBTARGETDEVICERETRIEVECURRENTFRAMENUMBER pfnWdfUsbTargetDeviceRetrieveCurrentFrameNumber;
// PFN_WDFUSBTARGETDEVICESENDCONTROLTRANSFERSYNCHRONOUSLY pfnWdfUsbTargetDeviceSendControlTransferSynchronously;
// PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCONTROLTRANSFER pfnWdfUsbTargetDeviceFormatRequestForControlTransfer;
// PFN_WDFUSBTARGETDEVICEISCONNECTEDSYNCHRONOUS pfnWdfUsbTargetDeviceIsConnectedSynchronous;
// PFN_WDFUSBTARGETDEVICERESETPORTSYNCHRONOUSLY pfnWdfUsbTargetDeviceResetPortSynchronously;
// PFN_WDFUSBTARGETDEVICECYCLEPORTSYNCHRONOUSLY pfnWdfUsbTargetDeviceCyclePortSynchronously;
// PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCYCLEPORT pfnWdfUsbTargetDeviceFormatRequestForCyclePort;
// PFN_WDFUSBTARGETDEVICESENDURBSYNCHRONOUSLY pfnWdfUsbTargetDeviceSendUrbSynchronously;
// PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORURB pfnWdfUsbTargetDeviceFormatRequestForUrb;
// PFN_WDFUSBTARGETPIPEGETINFORMATION pfnWdfUsbTargetPipeGetInformation;
// PFN_WDFUSBTARGETPIPEISINENDPOINT pfnWdfUsbTargetPipeIsInEndpoint;
// PFN_WDFUSBTARGETPIPEISOUTENDPOINT pfnWdfUsbTargetPipeIsOutEndpoint;
// PFN_WDFUSBTARGETPIPEGETTYPE pfnWdfUsbTargetPipeGetType;
// PFN_WDFUSBTARGETPIPESETNOMAXIMUMPACKETSIZECHECK pfnWdfUsbTargetPipeSetNoMaximumPacketSizeCheck;
// PFN_WDFUSBTARGETPIPEWRITESYNCHRONOUSLY pfnWdfUsbTargetPipeWriteSynchronously;
// PFN_WDFUSBTARGETPIPEFORMATREQUESTFORWRITE pfnWdfUsbTargetPipeFormatRequestForWrite;
// PFN_WDFUSBTARGETPIPEREADSYNCHRONOUSLY pfnWdfUsbTargetPipeReadSynchronously;
// PFN_WDFUSBTARGETPIPEFORMATREQUESTFORREAD pfnWdfUsbTargetPipeFormatRequestForRead;
// PFN_WDFUSBTARGETPIPECONFIGCONTINUOUSREADER pfnWdfUsbTargetPipeConfigContinuousReader;
// PFN_WDFUSBTARGETPIPEABORTSYNCHRONOUSLY pfnWdfUsbTargetPipeAbortSynchronously;
// PFN_WDFUSBTARGETPIPEFORMATREQUESTFORABORT pfnWdfUsbTargetPipeFormatRequestForAbort;
// PFN_WDFUSBTARGETPIPERESETSYNCHRONOUSLY pfnWdfUsbTargetPipeResetSynchronously;
// PFN_WDFUSBTARGETPIPEFORMATREQUESTFORRESET pfnWdfUsbTargetPipeFormatRequestForReset;
// PFN_WDFUSBTARGETPIPESENDURBSYNCHRONOUSLY pfnWdfUsbTargetPipeSendUrbSynchronously;
// PFN_WDFUSBTARGETPIPEFORMATREQUESTFORURB pfnWdfUsbTargetPipeFormatRequestForUrb;
// PFN_WDFUSBINTERFACEGETINTERFACENUMBER pfnWdfUsbInterfaceGetInterfaceNumber;
// PFN_WDFUSBINTERFACEGETNUMENDPOINTS pfnWdfUsbInterfaceGetNumEndpoints;
// PFN_WDFUSBINTERFACEGETDESCRIPTOR pfnWdfUsbInterfaceGetDescriptor;
// PFN_WDFUSBINTERFACESELECTSETTING pfnWdfUsbInterfaceSelectSetting;
// PFN_WDFUSBINTERFACEGETENDPOINTINFORMATION pfnWdfUsbInterfaceGetEndpointInformation;
// PFN_WDFUSBTARGETDEVICEGETINTERFACE pfnWdfUsbTargetDeviceGetInterface;
// PFN_WDFUSBINTERFACEGETCONFIGUREDSETTINGINDEX pfnWdfUsbInterfaceGetConfiguredSettingIndex;
// PFN_WDFUSBINTERFACEGETNUMCONFIGUREDPIPES pfnWdfUsbInterfaceGetNumConfiguredPipes;
// PFN_WDFUSBINTERFACEGETCONFIGUREDPIPE pfnWdfUsbInterfaceGetConfiguredPipe;
// PFN_WDFUSBTARGETPIPEWDMGETPIPEHANDLE pfnWdfUsbTargetPipeWdmGetPipeHandle;
// PFN_WDFVERIFIERDBGBREAKPOINT pfnWdfVerifierDbgBreakPoint;
// PFN_WDFVERIFIERKEBUGCHECK pfnWdfVerifierKeBugCheck;
// PFN_WDFWMIPROVIDERCREATE pfnWdfWmiProviderCreate;
// PFN_WDFWMIPROVIDERGETDEVICE pfnWdfWmiProviderGetDevice;
// PFN_WDFWMIPROVIDERISENABLED pfnWdfWmiProviderIsEnabled;
// PFN_WDFWMIPROVIDERGETTRACINGHANDLE pfnWdfWmiProviderGetTracingHandle;
// PFN_WDFWMIINSTANCECREATE pfnWdfWmiInstanceCreate;
// PFN_WDFWMIINSTANCEREGISTER pfnWdfWmiInstanceRegister;
// PFN_WDFWMIINSTANCEDEREGISTER pfnWdfWmiInstanceDeregister;
// PFN_WDFWMIINSTANCEGETDEVICE pfnWdfWmiInstanceGetDevice;
// PFN_WDFWMIINSTANCEGETPROVIDER pfnWdfWmiInstanceGetProvider;
// PFN_WDFWMIINSTANCEFIREEVENT pfnWdfWmiInstanceFireEvent;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreate;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceRetrieveInformation;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceGetDeviceDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceRetrieveConfigDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceQueryString;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceAllocAndQueryString;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceFormatRequestForString;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceGetNumInterfaces;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceSelectConfig;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceWdmGetConfigurationHandle;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceRetrieveCurrentFrameNumber;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceSendControlTransferSynchronously;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceFormatRequestForControlTransfer;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceIsConnectedSynchronous;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceResetPortSynchronously;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCyclePortSynchronously;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceFormatRequestForCyclePort;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceSendUrbSynchronously;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceFormatRequestForUrb;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeGetInformation;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeIsInEndpoint;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeIsOutEndpoint;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeGetType;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeSetNoMaximumPacketSizeCheck;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeWriteSynchronously;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForWrite;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeReadSynchronously;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForRead;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeConfigContinuousReader;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeAbortSynchronously;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForAbort;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeResetSynchronously;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForReset;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeSendUrbSynchronously;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForUrb;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetInterfaceNumber;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetNumEndpoints;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceSelectSetting;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetEndpointInformation;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceGetInterface;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetConfiguredSettingIndex;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetNumConfiguredPipes;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetConfiguredPipe;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeWdmGetPipeHandle;
PFN_ROSWDFUNIMPLEMENTED pfnWdfVerifierDbgBreakPoint;
PFN_ROSWDFUNIMPLEMENTED pfnWdfVerifierKeBugCheck;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiProviderCreate;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiProviderGetDevice;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiProviderIsEnabled;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiProviderGetTracingHandle;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceCreate;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceRegister;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceDeregister;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceGetDevice;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceGetProvider;
PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceFireEvent;
PFN_WDFWORKITEMCREATE pfnWdfWorkItemCreate;
PFN_WDFWORKITEMENQUEUE pfnWdfWorkItemEnqueue;
PFN_WDFWORKITEMGETPARENTOBJECT pfnWdfWorkItemGetParentObject;
PFN_WDFWORKITEMFLUSH pfnWdfWorkItemFlush;
// PFN_WDFCOMMONBUFFERCREATEWITHCONFIG pfnWdfCommonBufferCreateWithConfig;
// PFN_WDFDMAENABLERGETFRAGMENTLENGTH pfnWdfDmaEnablerGetFragmentLength;
// PFN_WDFDMAENABLERWDMGETDMAADAPTER pfnWdfDmaEnablerWdmGetDmaAdapter;
// PFN_WDFUSBINTERFACEGETNUMSETTINGS pfnWdfUsbInterfaceGetNumSettings;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferCreateWithConfig;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerGetFragmentLength;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerWdmGetDmaAdapter;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetNumSettings;
PFN_WDFDEVICEREMOVEDEPENDENTUSAGEDEVICEOBJECT pfnWdfDeviceRemoveDependentUsageDeviceObject;
PFN_WDFDEVICEGETSYSTEMPOWERACTION pfnWdfDeviceGetSystemPowerAction;
PFN_WDFINTERRUPTSETEXTENDEDPOLICY pfnWdfInterruptSetExtendedPolicy;
PFN_WDFIOQUEUEASSIGNFORWARDPROGRESSPOLICY pfnWdfIoQueueAssignForwardProgressPolicy;
PFN_WDFPDOINITASSIGNCONTAINERID pfnWdfPdoInitAssignContainerID;
PFN_WDFPDOINITALLOWFORWARDINGREQUESTTOPARENT pfnWdfPdoInitAllowForwardingRequestToParent;
PFN_WDFREQUESTMARKCANCELABLEEX pfnWdfRequestMarkCancelableEx;
PFN_WDFREQUESTISRESERVED pfnWdfRequestIsReserved;
PFN_WDFREQUESTFORWARDTOPARENTDEVICEIOQUEUE pfnWdfRequestForwardToParentDeviceIoQueue;
// PFN_WDFCXDEVICEINITALLOCATE pfnWdfCxDeviceInitAllocate;
// PFN_WDFCXDEVICEINITASSIGNWDMIRPPREPROCESSCALLBACK pfnWdfCxDeviceInitAssignWdmIrpPreprocessCallback;
// PFN_WDFCXDEVICEINITSETIOINCALLERCONTEXTCALLBACK pfnWdfCxDeviceInitSetIoInCallerContextCallback;
// PFN_WDFCXDEVICEINITSETREQUESTATTRIBUTES pfnWdfCxDeviceInitSetRequestAttributes;
// PFN_WDFCXDEVICEINITSETFILEOBJECTCONFIG pfnWdfCxDeviceInitSetFileObjectConfig;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitAllocate;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitAssignWdmIrpPreprocessCallback;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitSetIoInCallerContextCallback;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitSetRequestAttributes;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitSetFileObjectConfig;
PFN_WDFDEVICEWDMDISPATCHIRP pfnWdfDeviceWdmDispatchIrp;
PFN_WDFDEVICEWDMDISPATCHIRPTOIOQUEUE pfnWdfDeviceWdmDispatchIrpToIoQueue;
PFN_WDFDEVICEINITSETREMOVELOCKOPTIONS pfnWdfDeviceInitSetRemoveLockOptions;
PFN_WDFDEVICECONFIGUREWDMIRPDISPATCHCALLBACK pfnWdfDeviceConfigureWdmIrpDispatchCallback;
// PFN_WDFDMAENABLERCONFIGURESYSTEMPROFILE pfnWdfDmaEnablerConfigureSystemProfile;
// PFN_WDFDMATRANSACTIONINITIALIZEUSINGOFFSET pfnWdfDmaTransactionInitializeUsingOffset;
// PFN_WDFDMATRANSACTIONGETTRANSFERINFO pfnWdfDmaTransactionGetTransferInfo;
// PFN_WDFDMATRANSACTIONSETCHANNELCONFIGURATIONCALLBACK pfnWdfDmaTransactionSetChannelConfigurationCallback;
// PFN_WDFDMATRANSACTIONSETTRANSFERCOMPLETECALLBACK pfnWdfDmaTransactionSetTransferCompleteCallback;
// PFN_WDFDMATRANSACTIONSETIMMEDIATEEXECUTION pfnWdfDmaTransactionSetImmediateExecution;
// PFN_WDFDMATRANSACTIONALLOCATERESOURCES pfnWdfDmaTransactionAllocateResources;
// PFN_WDFDMATRANSACTIONSETDEVICEADDRESSOFFSET pfnWdfDmaTransactionSetDeviceAddressOffset;
// PFN_WDFDMATRANSACTIONFREERESOURCES pfnWdfDmaTransactionFreeResources;
// PFN_WDFDMATRANSACTIONCANCEL pfnWdfDmaTransactionCancel;
// PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT pfnWdfDmaTransactionWdmGetTransferContext;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerConfigureSystemProfile;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionInitializeUsingOffset;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetTransferInfo;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetChannelConfigurationCallback;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetTransferCompleteCallback;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetImmediateExecution;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionAllocateResources;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetDeviceAddressOffset;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionFreeResources;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionCancel;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionWdmGetTransferContext;
PFN_WDFINTERRUPTQUEUEWORKITEMFORISR pfnWdfInterruptQueueWorkItemForIsr;
PFN_WDFINTERRUPTTRYTOACQUIRELOCK pfnWdfInterruptTryToAcquireLock;
PFN_WDFIOQUEUESTOPANDPURGE pfnWdfIoQueueStopAndPurge;
PFN_WDFIOQUEUESTOPANDPURGESYNCHRONOUSLY pfnWdfIoQueueStopAndPurgeSynchronously;
PFN_WDFIOTARGETPURGE pfnWdfIoTargetPurge;
// PFN_WDFUSBTARGETDEVICECREATEWITHPARAMETERS pfnWdfUsbTargetDeviceCreateWithParameters;
// PFN_WDFUSBTARGETDEVICEQUERYUSBCAPABILITY pfnWdfUsbTargetDeviceQueryUsbCapability;
// PFN_WDFUSBTARGETDEVICECREATEURB pfnWdfUsbTargetDeviceCreateUrb;
// PFN_WDFUSBTARGETDEVICECREATEISOCHURB pfnWdfUsbTargetDeviceCreateIsochUrb;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreateWithParameters;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceQueryUsbCapability;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreateUrb;
PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreateIsochUrb;
PFN_WDFDEVICEWDMASSIGNPOWERFRAMEWORKSETTINGS pfnWdfDeviceWdmAssignPowerFrameworkSettings;
// PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER pfnWdfDmaTransactionStopSystemTransfer;
// PFN_WDFCXVERIFIERKEBUGCHECK pfnWdfCxVerifierKeBugCheck;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionStopSystemTransfer;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCxVerifierKeBugCheck;
PFN_WDFINTERRUPTREPORTACTIVE pfnWdfInterruptReportActive;
PFN_WDFINTERRUPTREPORTINACTIVE pfnWdfInterruptReportInactive;
PFN_WDFDEVICEINITSETRELEASEHARDWAREORDERONFAILURE pfnWdfDeviceInitSetReleaseHardwareOrderOnFailure;
// PFN_WDFGETTRIAGEINFO pfnWdfGetTriageInfo;
PFN_ROSWDFUNIMPLEMENTED pfnWdfGetTriageInfo;
PFN_WDFDEVICEINITSETIOTYPEEX pfnWdfDeviceInitSetIoTypeEx;
PFN_WDFDEVICEQUERYPROPERTYEX pfnWdfDeviceQueryPropertyEx;
PFN_WDFDEVICEALLOCANDQUERYPROPERTYEX pfnWdfDeviceAllocAndQueryPropertyEx;
PFN_WDFDEVICEASSIGNPROPERTY pfnWdfDeviceAssignProperty;
PFN_WDFFDOINITQUERYPROPERTYEX pfnWdfFdoInitQueryPropertyEx;
PFN_WDFFDOINITALLOCANDQUERYPROPERTYEX pfnWdfFdoInitAllocAndQueryPropertyEx;
PFN_WDFDEVICESTOPIDLEACTUAL pfnWdfDeviceStopIdleActual;
PFN_WDFDEVICERESUMEIDLEACTUAL pfnWdfDeviceResumeIdleActual;
PFN_WDFDEVICEGETSELFIOTARGET pfnWdfDeviceGetSelfIoTarget;
PFN_WDFDEVICEINITALLOWSELFIOTARGET pfnWdfDeviceInitAllowSelfIoTarget;
PFN_WDFIOTARGETSELFASSIGNDEFAULTIOQUEUE pfnWdfIoTargetSelfAssignDefaultIoQueue;
PFN_WDFDEVICEOPENDEVICEMAPKEY pfnWdfDeviceOpenDevicemapKey;
} WDFFUNCTIONS, *PWDFFUNCTIONS;
typedef struct _WDFVERSION {
ULONG Size;
ULONG FuncCount;
WDFFUNCTIONS Functions;
} WDFVERSION, *PWDFVERSION;
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfChildListCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_CHILD_LIST_CONFIG Config,
_In_opt_
PWDF_OBJECT_ATTRIBUTES ChildListAttributes,
_Out_
WDFCHILDLIST* ChildList
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfChildListGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfChildListRetrievePdo)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList,
_Inout_
PWDF_CHILD_RETRIEVE_INFO RetrieveInfo
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfChildListRetrieveAddressDescription)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList,
_In_
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription,
_Inout_
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfChildListBeginScan)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfChildListEndScan)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfChildListBeginIteration)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList,
_In_
PWDF_CHILD_LIST_ITERATOR Iterator
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfChildListRetrieveNextDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList,
_In_
PWDF_CHILD_LIST_ITERATOR Iterator,
_Out_
WDFDEVICE* Device,
_Inout_opt_
PWDF_CHILD_RETRIEVE_INFO Info
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfChildListEndIteration)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList,
_In_
PWDF_CHILD_LIST_ITERATOR Iterator
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList,
_In_
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription,
_In_opt_
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList,
_In_
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfChildListRequestChildEject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCHILDLIST ChildList,
_In_
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfCollectionCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES CollectionAttributes,
_Out_
WDFCOLLECTION* Collection
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG
STDCALL
WDFEXPORT(WdfCollectionGetCount)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfCollectionAdd)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection,
_In_
WDFOBJECT Object
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfCollectionRemove)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection,
_In_
WDFOBJECT Item
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfCollectionRemoveItem)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
STDCALL
WDFEXPORT(WdfCollectionGetItem)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
STDCALL
WDFEXPORT(WdfCollectionGetFirstItem)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
STDCALL
WDFEXPORT(WdfCollectionGetLastItem)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOLLECTION Collection
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfCommonBufferCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMAENABLER DmaEnabler,
_In_
_When_(Length == 0, __drv_reportError(Length cannot be zero))
size_t Length,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFCOMMONBUFFER* CommonBuffer
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfCommonBufferCreateWithConfig)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMAENABLER DmaEnabler,
_In_
_When_(Length == 0, __drv_reportError(Length cannot be zero))
size_t Length,
_In_
PWDF_COMMON_BUFFER_CONFIG Config,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFCOMMONBUFFER* CommonBuffer
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PVOID
STDCALL
WDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOMMONBUFFER CommonBuffer
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PHYSICAL_ADDRESS
STDCALL
WDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOMMONBUFFER CommonBuffer
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
size_t
STDCALL
WDFEXPORT(WdfCommonBufferGetLength)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCOMMONBUFFER CommonBuffer
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
PWDFDEVICE_INIT
STDCALL
WDFEXPORT(WdfControlDeviceInitAllocate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver,
_In_
CONST UNICODE_STRING* SDDLString
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfControlDeviceInitSetShutdownNotification)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification,
_In_
UCHAR Flags
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfControlFinishInitializing)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
PWDFCXDEVICE_INIT
STDCALL
WDFEXPORT(WdfCxDeviceInitAllocate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFCXDEVICE_INIT CxDeviceInit,
_In_
PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS EvtCxDeviceWdmIrpPreprocess,
_In_
UCHAR MajorFunction,
_When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions))
_When_(NumMinorFunctions == 0, _In_opt_)
PUCHAR MinorFunctions,
_In_
ULONG NumMinorFunctions
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFCXDEVICE_INIT CxDeviceInit,
_In_
PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfCxDeviceInitSetRequestAttributes)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFCXDEVICE_INIT CxDeviceInit,
_In_
PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFCXDEVICE_INIT CxDeviceInit,
_In_
PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig,
_In_opt_
PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfCxVerifierKeBugCheck)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
WDFOBJECT Object,
_In_
ULONG BugCheckCode,
_In_
ULONG_PTR BugCheckParameter1,
_In_
ULONG_PTR BugCheckParameter2,
_In_
ULONG_PTR BugCheckParameter3,
_In_
ULONG_PTR BugCheckParameter4
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceGetDeviceState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_Out_
PWDF_DEVICE_STATE DeviceState
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetDeviceState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_STATE DeviceState
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PDEVICE_OBJECT DeviceObject
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PDEVICE_OBJECT
STDCALL
WDFEXPORT(WdfDeviceWdmGetDeviceObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PDEVICE_OBJECT
STDCALL
WDFEXPORT(WdfDeviceWdmGetAttachedDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PDEVICE_OBJECT
STDCALL
WDFEXPORT(WdfDeviceWdmGetPhysicalDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PIRP Irp
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceWdmDispatchIrp)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PIRP Irp,
_In_
WDFCONTEXT DispatchContext
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PIRP Irp,
_In_
WDFQUEUE Queue,
_In_
ULONG Flags
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceAddDependentUsageDeviceObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PDEVICE_OBJECT DependentDevice
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PDEVICE_OBJECT DependentDevice
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PDEVICE_OBJECT PhysicalDevice
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PDEVICE_OBJECT PhysicalDevice
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceClearRemovalRelationsDevices)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDRIVER
STDCALL
WDFEXPORT(WdfDeviceGetDriver)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceRetrieveDeviceName)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
WDFSTRING String
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceAssignMofResourceName)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PCUNICODE_STRING MofResourceName
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFIOTARGET
STDCALL
WDFEXPORT(WdfDeviceGetIoTarget)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDF_DEVICE_PNP_STATE
STDCALL
WDFEXPORT(WdfDeviceGetDevicePnpState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDF_DEVICE_POWER_STATE
STDCALL
WDFEXPORT(WdfDeviceGetDevicePowerState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDF_DEVICE_POWER_POLICY_STATE
STDCALL
WDFEXPORT(WdfDeviceGetDevicePowerPolicyState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceAssignS0IdleSettings)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceAssignSxWakeSettings)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceOpenRegistryKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
ULONG DeviceInstanceKeyType,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceOpenDevicemapKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PCUNICODE_STRING KeyName,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetSpecialFileSupport)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
WDF_SPECIAL_FILE_TYPE FileType,
_In_
BOOLEAN FileTypeIsSupported
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetCharacteristics)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
ULONG DeviceCharacteristics
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG
STDCALL
WDFEXPORT(WdfDeviceGetCharacteristics)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG
STDCALL
WDFEXPORT(WdfDeviceGetAlignmentRequirement)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetAlignmentRequirement)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
ULONG AlignmentRequirement
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitFree)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_PNPPOWER_EVENT_CALLBACKS PnpPowerEventCallbacks
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
BOOLEAN IsPowerPolicyOwner
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
WDF_DEVICE_PNP_STATE PnpState,
_In_
PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange,
_In_
ULONG CallbackTypes
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
WDF_DEVICE_POWER_STATE PowerState,
_In_
PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange,
_In_
ULONG CallbackTypes
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState,
_In_
PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION EvtDevicePowerPolicyStateChange,
_In_
ULONG CallbackTypes
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetExclusive)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
BOOLEAN IsExclusive
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetIoType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
WDF_DEVICE_IO_TYPE IoType
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetPowerNotPageable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetPowerPageable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetPowerInrush)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetDeviceType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
DEVICE_TYPE DeviceType
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceInitAssignName)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_opt_
PCUNICODE_STRING DeviceName
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceInitAssignSDDLString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_opt_
PCUNICODE_STRING SDDLString
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetDeviceClass)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
CONST GUID* DeviceClassGuid
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetCharacteristics)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
ULONG DeviceCharacteristics,
_In_
BOOLEAN OrInValues
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetFileObjectConfig)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_FILEOBJECT_CONFIG FileObjectConfig,
_In_opt_
PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetRequestAttributes)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PFN_WDFDEVICE_WDM_IRP_PREPROCESS EvtDeviceWdmIrpPreprocess,
_In_
UCHAR MajorFunction,
_When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions))
_When_(NumMinorFunctions == 0, _In_opt_)
PUCHAR MinorFunctions,
_In_
ULONG NumMinorFunctions
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetRemoveLockOptions)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_REMOVE_LOCK_OPTIONS Options
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_Inout_
PWDFDEVICE_INIT* DeviceInit,
_In_opt_
PWDF_OBJECT_ATTRIBUTES DeviceAttributes,
_Out_
WDFDEVICE* Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetStaticStopRemove)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
BOOLEAN Stoppable
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceCreateDeviceInterface)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
CONST GUID* InterfaceClassGUID,
_In_opt_
PCUNICODE_STRING ReferenceString
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetDeviceInterfaceState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
CONST GUID* InterfaceClassGUID,
_In_opt_
PCUNICODE_STRING ReferenceString,
_In_
BOOLEAN IsInterfaceEnabled
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
CONST GUID* InterfaceClassGUID,
_In_opt_
PCUNICODE_STRING ReferenceString,
_In_
WDFSTRING String
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceCreateSymbolicLink)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PCUNICODE_STRING SymbolicLinkName
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceQueryProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
ULONG BufferLength,
_Out_writes_bytes_all_(BufferLength)
PVOID PropertyBuffer,
_Out_
PULONG ResultLength
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceAllocAndQueryProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetPnpCapabilities)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_PNP_CAPABILITIES PnpCapabilities
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetPowerCapabilities)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetBusInformationForChildren)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PPNP_BUS_INFORMATION BusInformation
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceIndicateWakeStatus)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
NTSTATUS WaitWakeStatus
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceSetFailed)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
WDF_DEVICE_FAILED_ACTION FailedAction
);
_Must_inspect_result_
_When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL))
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceStopIdleNoTrack)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
BOOLEAN WaitForD0
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceResumeIdleNoTrack)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL))
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceStopIdleActual)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
BOOLEAN WaitForD0,
_In_opt_
PVOID Tag,
_In_
LONG Line,
_In_z_
PCHAR File
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceResumeIdleActual)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_opt_
PVOID Tag,
_In_
LONG Line,
_In_z_
PCHAR File
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFFILEOBJECT
STDCALL
WDFEXPORT(WdfDeviceGetFileObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PFILE_OBJECT FileObject
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceEnqueueRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFQUEUE
STDCALL
WDFEXPORT(WdfDeviceGetDefaultQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceConfigureRequestDispatching)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
WDFQUEUE Queue,
_In_
_Strict_type_match_
WDF_REQUEST_TYPE RequestType
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_opt_
WDFDRIVER Driver,
_In_
UCHAR MajorFunction,
_In_
PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDisptach,
_In_opt_
WDFCONTEXT DriverContext
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
POWER_ACTION
STDCALL
WDFEXPORT(WdfDeviceGetSystemPowerAction)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_POWER_FRAMEWORK_SETTINGS PowerFrameworkSettings
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitSetIoTypeEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_IO_TYPE_CONFIG IoTypeConfig
);
_Must_inspect_result_
_IRQL_requires_max_(APC_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceQueryPropertyEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
ULONG BufferLength,
_Out_
PVOID PropertyBuffer,
_Out_
PULONG RequiredSize,
_Out_
PDEVPROPTYPE Type
);
_Must_inspect_result_
_IRQL_requires_max_(APC_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceAllocAndQueryPropertyEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory,
_Out_
PDEVPROPTYPE Type
);
_Must_inspect_result_
_IRQL_requires_max_(APC_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceAssignProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
DEVPROPTYPE Type,
_In_
ULONG Size,
_In_opt_
PVOID Data
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFIOTARGET
STDCALL
WDFEXPORT(WdfDeviceGetSelfIoTarget)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDeviceInitAllowSelfIoTarget)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDmaEnablerCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_DMA_ENABLER_CONFIG Config,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFDMAENABLER* DmaEnablerHandle
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDmaEnablerConfigureSystemProfile)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMAENABLER DmaEnabler,
_In_
PWDF_DMA_SYSTEM_PROFILE_CONFIG ProfileConfig,
_In_
WDF_DMA_DIRECTION ConfigDirection
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
size_t
STDCALL
WDFEXPORT(WdfDmaEnablerGetMaximumLength)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMAENABLER DmaEnabler
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
size_t
STDCALL
WDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMAENABLER DmaEnabler
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMAENABLER DmaEnabler,
_In_
_When_(MaximumFragments == 0, __drv_reportError(MaximumFragments cannot be zero))
size_t MaximumFragments
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
size_t
STDCALL
WDFEXPORT(WdfDmaEnablerGetFragmentLength)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMAENABLER DmaEnabler,
_In_
WDF_DMA_DIRECTION DmaDirection
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PDMA_ADAPTER
STDCALL
WDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMAENABLER DmaEnabler,
_In_
WDF_DMA_DIRECTION DmaDirection
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDmaTransactionCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMAENABLER DmaEnabler,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFDMATRANSACTION* DmaTransaction
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDmaTransactionInitialize)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_
PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
_In_
WDF_DMA_DIRECTION DmaDirection,
_In_
PMDL Mdl,
_In_
PVOID VirtualAddress,
_In_
_When_(Length == 0, __drv_reportError(Length cannot be zero))
size_t Length
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDmaTransactionInitializeUsingOffset)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_
PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
_In_
WDF_DMA_DIRECTION DmaDirection,
_In_
PMDL Mdl,
_In_
size_t Offset,
_In_
_When_(Length == 0, __drv_reportError(Length cannot be zero))
size_t Length
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDmaTransactionInitializeUsingRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_
WDFREQUEST Request,
_In_
PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
_In_
WDF_DMA_DIRECTION DmaDirection
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDmaTransactionExecute)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_opt_
WDFCONTEXT Context
);
_Success_(TRUE)
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDmaTransactionRelease)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfDmaTransactionDmaCompleted)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_Out_
NTSTATUS* Status
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfDmaTransactionDmaCompletedWithLength)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_
size_t TransferredLength,
_Out_
NTSTATUS* Status
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfDmaTransactionDmaCompletedFinal)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_
size_t FinalTransferredLength,
_Out_
NTSTATUS* Status
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
size_t
STDCALL
WDFEXPORT(WdfDmaTransactionGetBytesTransferred)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDmaTransactionSetMaximumLength)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_
size_t MaximumLength
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFREQUEST
STDCALL
WDFEXPORT(WdfDmaTransactionGetRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
size_t
STDCALL
WDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfDmaTransactionGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDmaTransactionGetTransferInfo)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_Out_opt_
ULONG* MapRegisterCount,
_Out_opt_
ULONG* ScatterGatherElementCount
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_opt_
PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL ConfigureRoutine,
_In_opt_
PVOID ConfigureContext
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_opt_
PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
_In_opt_
PVOID DmaCompletionContext
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDmaTransactionSetImmediateExecution)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_
BOOLEAN UseImmediateExecution
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDmaTransactionAllocateResources)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_
WDF_DMA_DIRECTION DmaDirection,
_In_
ULONG RequiredMapRegisters,
_In_
PFN_WDF_RESERVE_DMA EvtReserveDmaFunction,
_In_
PVOID EvtReserveDmaContext
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction,
_In_
ULONG Offset
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDmaTransactionFreeResources)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfDmaTransactionCancel)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PVOID
STDCALL
WDFEXPORT(WdfDmaTransactionWdmGetTransferContext)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDmaTransactionStopSystemTransfer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDMATRANSACTION DmaTransaction
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDpcCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDF_DPC_CONFIG Config,
_In_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFDPC* Dpc
);
_IRQL_requires_max_(HIGH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfDpcEnqueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDPC Dpc
);
_When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL))
_When_(Wait == __false, _IRQL_requires_max_(HIGH_LEVEL))
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfDpcCancel)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDPC Dpc,
_In_
BOOLEAN Wait
);
_IRQL_requires_max_(HIGH_LEVEL)
WDFAPI
WDFOBJECT
STDCALL
WDFEXPORT(WdfDpcGetParentObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDPC Dpc
);
_IRQL_requires_max_(HIGH_LEVEL)
WDFAPI
PKDPC
STDCALL
WDFEXPORT(WdfDpcWdmGetDpc)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDPC Dpc
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDriverCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PDRIVER_OBJECT DriverObject,
_In_
PCUNICODE_STRING RegistryPath,
_In_opt_
PWDF_OBJECT_ATTRIBUTES DriverAttributes,
_In_
PWDF_DRIVER_CONFIG DriverConfig,
_Out_opt_
WDFDRIVER* Driver
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
PWSTR
STDCALL
WDFEXPORT(WdfDriverGetRegistryPath)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PDRIVER_OBJECT
STDCALL
WDFEXPORT(WdfDriverWdmGetDriverObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDriverOpenParametersRegistryKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDRIVER
STDCALL
WDFEXPORT(WdfWdmDriverGetWdfDriverHandle)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PDRIVER_OBJECT DriverObject
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDriverRegisterTraceInfo)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PDRIVER_OBJECT DriverObject,
_In_
PFN_WDF_TRACE_CALLBACK EvtTraceCallback,
_In_
PVOID ControlBlock
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDriverRetrieveVersionString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver,
_In_
WDFSTRING String
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfDriverIsVersionAvailable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver,
_In_
PWDF_DRIVER_VERSION_AVAILABLE_PARAMS VersionAvailableParams
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PDEVICE_OBJECT
STDCALL
WDFEXPORT(WdfFdoInitWdmGetPhysicalDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfFdoInitOpenRegistryKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
ULONG DeviceInstanceKeyType,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfFdoInitQueryProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
ULONG BufferLength,
_Out_writes_bytes_all_opt_(BufferLength)
PVOID PropertyBuffer,
_Out_
PULONG ResultLength
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfFdoInitAllocAndQueryProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfFdoInitQueryPropertyEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
ULONG BufferLength,
_Out_
PVOID PropertyBuffer,
_Out_
PULONG ResultLength,
_Out_
PDEVPROPTYPE Type
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory,
_Out_
PDEVPROPTYPE Type
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfFdoInitSetEventCallbacks)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_FDO_EVENT_CALLBACKS FdoEventCallbacks
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfFdoInitSetFilter)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfFdoInitSetDefaultChildListConfig)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_Inout_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_CHILD_LIST_CONFIG Config,
_In_opt_
PWDF_OBJECT_ATTRIBUTES DefaultChildListAttributes
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfFdoQueryForInterface)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Fdo,
_In_
LPCGUID InterfaceType,
_Out_
PINTERFACE Interface,
_In_
USHORT Size,
_In_
USHORT Version,
_In_opt_
PVOID InterfaceSpecificData
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFCHILDLIST
STDCALL
WDFEXPORT(WdfFdoGetDefaultChildList)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Fdo
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfFdoAddStaticChild)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Fdo,
_In_
WDFDEVICE Child
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfFdoLockStaticChildListForIteration)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Fdo
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfFdoRetrieveNextStaticChild)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Fdo,
_In_opt_
WDFDEVICE PreviousChild,
_In_
ULONG Flags
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfFdoUnlockStaticChildListFromIteration)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Fdo
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
PUNICODE_STRING
STDCALL
WDFEXPORT(WdfFileObjectGetFileName)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFFILEOBJECT FileObject
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG
STDCALL
WDFEXPORT(WdfFileObjectGetFlags)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFFILEOBJECT FileObject
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfFileObjectGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFFILEOBJECT FileObject
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PFILE_OBJECT
STDCALL
WDFEXPORT(WdfFileObjectWdmGetFileObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFFILEOBJECT FileObject
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfInterruptCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_INTERRUPT_CONFIG Configuration,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFINTERRUPT* Interrupt
);
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfInterruptQueueDpcForIsr)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfInterruptQueueWorkItemForIsr)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfInterruptSynchronize)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt,
_In_
PFN_WDF_INTERRUPT_SYNCHRONIZE Callback,
_In_
WDFCONTEXT Context
);
_IRQL_requires_max_(DISPATCH_LEVEL + 1)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfInterruptAcquireLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
_Acquires_lock_(_Curr_)
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(DISPATCH_LEVEL + 1)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfInterruptReleaseLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_held_(_Curr_)
_Releases_lock_(_Curr_)
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfInterruptEnable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfInterruptDisable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_Must_inspect_result_
WDFAPI
PKINTERRUPT
STDCALL
WDFEXPORT(WdfInterruptWdmGetInterrupt)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfInterruptGetInfo)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt,
_Out_
PWDF_INTERRUPT_INFO Info
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfInterruptSetPolicy)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt,
_In_
WDF_INTERRUPT_POLICY Policy,
_In_
WDF_INTERRUPT_PRIORITY Priority,
_In_
KAFFINITY TargetProcessorSet
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfInterruptSetExtendedPolicy)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt,
_In_
PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(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
STDCALL
WDFEXPORT(WdfInterruptTryToAcquireLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
_When_(return!=0, _Acquires_lock_(_Curr_))
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfInterruptReportActive)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfInterruptReportInactive)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFINTERRUPT Interrupt
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoQueueCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_IO_QUEUE_CONFIG Config,
_In_opt_
PWDF_OBJECT_ATTRIBUTES QueueAttributes,
_Out_opt_
WDFQUEUE* Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDF_IO_QUEUE_STATE
STDCALL
WDFEXPORT(WdfIoQueueGetState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_Out_opt_
PULONG QueueRequests,
_Out_opt_
PULONG DriverRequests
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoQueueStart)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoQueueStop)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_When_(Context != 0, _In_)
_When_(Context == 0, _In_opt_)
PFN_WDF_IO_QUEUE_STATE StopComplete,
_When_(StopComplete != 0, _In_)
_When_(StopComplete == 0, _In_opt_)
WDFCONTEXT Context
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoQueueStopSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfIoQueueGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoQueueRetrieveNextRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_Out_
WDFREQUEST* OutRequest
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoQueueRetrieveRequestByFileObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_In_
WDFFILEOBJECT FileObject,
_Out_
WDFREQUEST* OutRequest
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoQueueFindRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_In_opt_
WDFREQUEST FoundRequest,
_In_opt_
WDFFILEOBJECT FileObject,
_Inout_opt_
PWDF_REQUEST_PARAMETERS Parameters,
_Out_
WDFREQUEST* OutRequest
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoQueueRetrieveFoundRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_In_
WDFREQUEST FoundRequest,
_Out_
WDFREQUEST* OutRequest
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoQueueDrainSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoQueueDrain)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_When_(Context != 0, _In_)
_When_(Context == 0, _In_opt_)
PFN_WDF_IO_QUEUE_STATE DrainComplete,
_When_(DrainComplete != 0, _In_)
_When_(DrainComplete == 0, _In_opt_)
WDFCONTEXT Context
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoQueuePurgeSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoQueuePurge)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_When_(Context != 0, _In_)
_When_(Context == 0, _In_opt_)
PFN_WDF_IO_QUEUE_STATE PurgeComplete,
_When_(PurgeComplete != 0, _In_)
_When_(PurgeComplete == 0, _In_opt_)
WDFCONTEXT Context
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoQueueReadyNotify)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_In_opt_
PFN_WDF_IO_QUEUE_STATE QueueReady,
_In_opt_
WDFCONTEXT Context
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoQueueAssignForwardProgressPolicy)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_In_
PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY ForwardProgressPolicy
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoQueueStopAndPurge)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue,
_When_(Context != 0, _In_)
_When_(Context == 0, _In_opt_)
PFN_WDF_IO_QUEUE_STATE StopAndPurgeComplete,
_When_(StopAndPurgeComplete != 0, _In_)
_When_(StopAndPurgeComplete == 0, _In_opt_)
WDFCONTEXT Context
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoQueueStopAndPurgeSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFQUEUE Queue
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_opt_
PWDF_OBJECT_ATTRIBUTES IoTargetAttributes,
_Out_
WDFIOTARGET* IoTarget
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetOpen)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
PWDF_IO_TARGET_OPEN_PARAMS OpenParams
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoTargetCloseForQueryRemove)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoTargetClose)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetStart)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_When_(Action == 3, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(Action == 0 || Action == 1 || Action == 2, _IRQL_requires_max_(PASSIVE_LEVEL))
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoTargetStop)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
_Strict_type_match_
WDF_IO_TARGET_SENT_IO_ACTION Action
);
_When_(Action == 2, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(Action == 0 || Action == 1, _IRQL_requires_max_(PASSIVE_LEVEL))
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoTargetPurge)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
_Strict_type_match_
WDF_IO_TARGET_PURGE_IO_ACTION Action
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDF_IO_TARGET_STATE
STDCALL
WDFEXPORT(WdfIoTargetGetState)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfIoTargetGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetQueryTargetProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
ULONG BufferLength,
_When_(BufferLength != 0, _Out_writes_bytes_to_opt_(BufferLength, *ResultLength))
_When_(BufferLength == 0, _Out_opt_)
PVOID PropertyBuffer,
_Deref_out_range_(<=,BufferLength)
PULONG ResultLength
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
DEVICE_REGISTRY_PROPERTY DeviceProperty,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
_Out_
WDFMEMORY* PropertyMemory
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetQueryForInterface)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
LPCGUID InterfaceType,
_Out_
PINTERFACE Interface,
_In_
USHORT Size,
_In_
USHORT Version,
_In_opt_
PVOID InterfaceSpecificData
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PDEVICE_OBJECT
STDCALL
WDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PDEVICE_OBJECT
STDCALL
WDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PFILE_OBJECT
STDCALL
WDFEXPORT(WdfIoTargetWdmGetTargetFileObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
HANDLE
STDCALL
WDFEXPORT(WdfIoTargetWdmGetTargetFileHandle)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetSendReadSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_MEMORY_DESCRIPTOR OutputBuffer,
_In_opt_
PLONGLONG DeviceOffset,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_opt_
PULONG_PTR BytesRead
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetFormatRequestForRead)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFREQUEST Request,
_In_opt_
WDFMEMORY OutputBuffer,
_In_opt_
PWDFMEMORY_OFFSET OutputBufferOffset,
_In_opt_
PLONGLONG DeviceOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetSendWriteSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_MEMORY_DESCRIPTOR InputBuffer,
_In_opt_
PLONGLONG DeviceOffset,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_opt_
PULONG_PTR BytesWritten
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetFormatRequestForWrite)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFREQUEST Request,
_In_opt_
WDFMEMORY InputBuffer,
_In_opt_
PWDFMEMORY_OFFSET InputBufferOffset,
_In_opt_
PLONGLONG DeviceOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetSendIoctlSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_opt_
WDFREQUEST Request,
_In_
ULONG IoctlCode,
_In_opt_
PWDF_MEMORY_DESCRIPTOR InputBuffer,
_In_opt_
PWDF_MEMORY_DESCRIPTOR OutputBuffer,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_opt_
PULONG_PTR BytesReturned
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetFormatRequestForIoctl)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFREQUEST Request,
_In_
ULONG IoctlCode,
_In_opt_
WDFMEMORY InputBuffer,
_In_opt_
PWDFMEMORY_OFFSET InputBufferOffset,
_In_opt_
WDFMEMORY OutputBuffer,
_In_opt_
PWDFMEMORY_OFFSET OutputBufferOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_opt_
WDFREQUEST Request,
_In_
ULONG IoctlCode,
_In_opt_
PWDF_MEMORY_DESCRIPTOR InputBuffer,
_In_opt_
PWDF_MEMORY_DESCRIPTOR OutputBuffer,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_opt_
PULONG_PTR BytesReturned
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFREQUEST Request,
_In_
ULONG IoctlCode,
_In_opt_
WDFMEMORY InputBuffer,
_In_opt_
PWDFMEMORY_OFFSET InputBufferOffset,
_In_opt_
WDFMEMORY OutputBuffer,
_In_opt_
PWDFMEMORY_OFFSET OutputBufferOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_opt_
WDFREQUEST Request,
_In_
ULONG IoctlCode,
_In_opt_
PWDF_MEMORY_DESCRIPTOR OtherArg1,
_In_opt_
PWDF_MEMORY_DESCRIPTOR OtherArg2,
_In_opt_
PWDF_MEMORY_DESCRIPTOR OtherArg4,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_opt_
PULONG_PTR BytesReturned
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFREQUEST Request,
_In_
ULONG IoctlCode,
_In_opt_
WDFMEMORY OtherArg1,
_In_opt_
PWDFMEMORY_OFFSET OtherArg1Offset,
_In_opt_
WDFMEMORY OtherArg2,
_In_opt_
PWDFMEMORY_OFFSET OtherArg2Offset,
_In_opt_
WDFMEMORY OtherArg4,
_In_opt_
PWDFMEMORY_OFFSET OtherArg4Offset
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIOTARGET IoTarget,
_In_
WDFQUEUE Queue
);
_Must_inspect_result_
_When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL))
_When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL))
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfMemoryCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
ULONG PoolTag,
_In_
_When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
size_t BufferSize,
_Out_
WDFMEMORY* Memory,
_Outptr_opt_result_bytebuffer_(BufferSize)
PVOID* Buffer
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfMemoryCreatePreallocated)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_In_ __drv_aliasesMem
PVOID Buffer,
_In_
_When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
size_t BufferSize,
_Out_
WDFMEMORY* Memory
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PVOID
STDCALL
WDFEXPORT(WdfMemoryGetBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFMEMORY Memory,
_Out_opt_
size_t* BufferSize
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfMemoryAssignBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFMEMORY Memory,
_Pre_notnull_ _Pre_writable_byte_size_(BufferSize)
PVOID Buffer,
_In_
_When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
size_t BufferSize
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfMemoryCopyToBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFMEMORY SourceMemory,
_In_
size_t SourceOffset,
_Out_writes_bytes_( NumBytesToCopyTo )
PVOID Buffer,
_In_
_When_(NumBytesToCopyTo == 0, __drv_reportError(NumBytesToCopyTo cannot be zero))
size_t NumBytesToCopyTo
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfMemoryCopyFromBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFMEMORY DestinationMemory,
_In_
size_t DestinationOffset,
_In_
PVOID Buffer,
_In_
_When_(NumBytesToCopyFrom == 0, __drv_reportError(NumBytesToCopyFrom cannot be zero))
size_t NumBytesToCopyFrom
);
_Must_inspect_result_
_When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL))
_When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL))
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfLookasideListCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES LookasideAttributes,
_In_
_When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
size_t BufferSize,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES MemoryAttributes,
_In_opt_
ULONG PoolTag,
_Out_
WDFLOOKASIDE* Lookaside
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfMemoryCreateFromLookaside)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFLOOKASIDE Lookaside,
_Out_
WDFMEMORY* Memory
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceMiniportCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_In_
PDEVICE_OBJECT DeviceObject,
_In_opt_
PDEVICE_OBJECT AttachedDeviceObject,
_In_opt_
PDEVICE_OBJECT Pdo,
_Out_
WDFDEVICE* Device
);
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfDriverMiniportUnload)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDRIVER Driver
);
WDFAPI
PVOID
FASTCALL
WDFEXPORT(WdfObjectGetTypedContextWorker)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Handle,
_In_
PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo
);
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfObjectAllocateContext)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Handle,
_In_
PWDF_OBJECT_ATTRIBUTES ContextAttributes,
_Outptr_opt_
PVOID* Context
);
WDFAPI
WDFOBJECT
FASTCALL
WDFEXPORT(WdfObjectContextGetObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PVOID ContextPointer
);
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfObjectReferenceActual)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Handle,
_In_opt_
PVOID Tag,
_In_
LONG Line,
_In_z_
PCHAR File
);
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfObjectDereferenceActual)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Handle,
_In_opt_
PVOID Tag,
_In_
LONG Line,
_In_z_
PCHAR File
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfObjectCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFOBJECT* Object
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfObjectDelete)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Object
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfObjectQuery)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFOBJECT Object,
_In_
CONST GUID* Guid,
_In_
ULONG QueryBufferLength,
_Out_writes_bytes_(QueryBufferLength)
PVOID QueryBuffer
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
PWDFDEVICE_INIT
STDCALL
WDFEXPORT(WdfPdoInitAllocate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE ParentDevice
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfPdoInitSetEventCallbacks)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PWDF_PDO_EVENT_CALLBACKS DispatchTable
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoInitAssignDeviceID)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PCUNICODE_STRING DeviceID
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoInitAssignInstanceID)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PCUNICODE_STRING InstanceID
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoInitAddHardwareID)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PCUNICODE_STRING HardwareID
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoInitAddCompatibleID)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PCUNICODE_STRING CompatibleID
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoInitAssignContainerID)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PCUNICODE_STRING ContainerID
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoInitAddDeviceText)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
PCUNICODE_STRING DeviceDescription,
_In_
PCUNICODE_STRING DeviceLocation,
_In_
LCID LocaleId
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfPdoInitSetDefaultLocale)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
LCID LocaleId
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoInitAssignRawDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit,
_In_
CONST GUID* DeviceClassGuid
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfPdoInitAllowForwardingRequestToParent)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDFDEVICE_INIT DeviceInit
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoMarkMissing)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfPdoRequestEject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfPdoGetParent)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoRetrieveIdentificationDescription)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_Inout_
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoRetrieveAddressDescription)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_Inout_
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoUpdateAddressDescription)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_Inout_
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PDEVICE_OBJECT PhysicalDevice
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PDEVICE_OBJECT PhysicalDevice
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfPdoClearEjectionRelationsDevices)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfDeviceAddQueryInterface)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_QUERY_INTERFACE_CONFIG InterfaceConfig
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryOpenKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
WDFKEY ParentKey,
_In_
PCUNICODE_STRING KeyName,
_In_
ACCESS_MASK DesiredAccess,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryCreateKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
WDFKEY ParentKey,
_In_
PCUNICODE_STRING KeyName,
_In_
ACCESS_MASK DesiredAccess,
_In_
ULONG CreateOptions,
_Out_opt_
PULONG CreateDisposition,
_In_opt_
PWDF_OBJECT_ATTRIBUTES KeyAttributes,
_Out_
WDFKEY* Key
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRegistryClose)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
HANDLE
STDCALL
WDFEXPORT(WdfRegistryWdmGetHandle)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryRemoveKey)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryRemoveValue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryQueryValue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
ULONG ValueLength,
_Out_writes_bytes_opt_( ValueLength)
PVOID Value,
_Out_opt_
PULONG ValueLengthQueried,
_Out_opt_
PULONG ValueType
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryQueryMemory)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
_Strict_type_match_
POOL_TYPE PoolType,
_In_opt_
PWDF_OBJECT_ATTRIBUTES MemoryAttributes,
_Out_
WDFMEMORY* Memory,
_Out_opt_
PULONG ValueType
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryQueryMultiString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_opt_
PWDF_OBJECT_ATTRIBUTES StringsAttributes,
_In_
WDFCOLLECTION Collection
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryQueryUnicodeString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_Out_opt_
PUSHORT ValueByteLength,
_Inout_opt_
PUNICODE_STRING Value
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryQueryString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
WDFSTRING String
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryQueryULong)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_Out_
PULONG Value
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryAssignValue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
ULONG ValueType,
_In_
ULONG ValueLength,
_In_reads_( ValueLength)
PVOID Value
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryAssignMemory)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
ULONG ValueType,
_In_
WDFMEMORY Memory,
_In_opt_
PWDFMEMORY_OFFSET MemoryOffsets
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryAssignMultiString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
WDFCOLLECTION StringsCollection
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryAssignUnicodeString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
PCUNICODE_STRING Value
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryAssignString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
WDFSTRING String
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRegistryAssignULong)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFKEY Key,
_In_
PCUNICODE_STRING ValueName,
_In_
ULONG Value
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES RequestAttributes,
_In_opt_
WDFIOTARGET IoTarget,
_Out_
WDFREQUEST* Request
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestCreateFromIrp)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES RequestAttributes,
_In_
PIRP Irp,
_In_
BOOLEAN RequestFreesIrp,
_Out_
WDFREQUEST* Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestReuse)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
PWDF_REQUEST_REUSE_PARAMS ReuseParams
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestChangeTarget)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
WDFIOTARGET IoTarget
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestFormatRequestUsingCurrentType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestWdmFormatUsingStackLocation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
PIO_STACK_LOCATION Stack
);
_IRQL_requires_max_(DISPATCH_LEVEL)
_When_(Options->Flags & WDF_REQUEST_SEND_OPTION_SYNCHRONOUS == 0, _Must_inspect_result_)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfRequestSend)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
WDFIOTARGET Target,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS Options
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestGetStatus)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestMarkCancelable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
PFN_WDF_REQUEST_CANCEL EvtRequestCancel
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestMarkCancelableEx)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
PFN_WDF_REQUEST_CANCEL EvtRequestCancel
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestUnmarkCancelable)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfRequestIsCanceled)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfRequestCancelSentRequest)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(APC_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfRequestIsFrom32BitProcess)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestSetCompletionRoutine)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_opt_
PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine,
_In_opt_ __drv_aliasesMem
WDFCONTEXT CompletionContext
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestGetCompletionParams)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Out_
PWDF_REQUEST_COMPLETION_PARAMS Params
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestAllocateTimer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestComplete)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
NTSTATUS Status
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestCompleteWithPriorityBoost)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
NTSTATUS Status,
_In_
CCHAR PriorityBoost
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestCompleteWithInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
NTSTATUS Status,
_In_
ULONG_PTR Information
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestGetParameters)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Out_
PWDF_REQUEST_PARAMETERS Parameters
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestRetrieveInputMemory)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Out_
WDFMEMORY* Memory
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestRetrieveOutputMemory)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Out_
WDFMEMORY* Memory
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestRetrieveInputBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
size_t MinimumRequiredLength,
_Outptr_result_bytebuffer_(*Length)
PVOID* Buffer,
_Out_opt_
size_t* Length
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestRetrieveOutputBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
size_t MinimumRequiredSize,
_Outptr_result_bytebuffer_(*Length)
PVOID* Buffer,
_Out_opt_
size_t* Length
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestRetrieveInputWdmMdl)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Outptr_
PMDL* Mdl
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestRetrieveOutputWdmMdl)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_Outptr_
PMDL* Mdl
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
size_t MinimumRequiredLength,
_Outptr_result_bytebuffer_maybenull_(*Length)
PVOID* InputBuffer,
_Out_opt_
size_t* Length
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
size_t MinimumRequiredLength,
_Outptr_result_bytebuffer_maybenull_(*Length)
PVOID* OutputBuffer,
_Out_opt_
size_t* Length
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestSetInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
ULONG_PTR Information
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG_PTR
STDCALL
WDFEXPORT(WdfRequestGetInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFFILEOBJECT
STDCALL
WDFEXPORT(WdfRequestGetFileObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestProbeAndLockUserBufferForRead)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_reads_bytes_(Length)
PVOID Buffer,
_In_
size_t Length,
_Out_
WDFMEMORY* MemoryObject
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_reads_bytes_(Length)
PVOID Buffer,
_In_
size_t Length,
_Out_
WDFMEMORY* MemoryObject
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
KPROCESSOR_MODE
STDCALL
WDFEXPORT(WdfRequestGetRequestorMode)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestForwardToIoQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
WDFQUEUE DestinationQueue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFQUEUE
STDCALL
WDFEXPORT(WdfRequestGetIoQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestRequeue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfRequestStopAcknowledge)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
BOOLEAN Requeue
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PIRP
STDCALL
WDFEXPORT(WdfRequestWdmGetIrp)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfRequestIsReserved)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfRequestForwardToParentDeviceIoQueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFREQUEST Request,
_In_
WDFQUEUE ParentDeviceQueue,
_In_
PWDF_REQUEST_FORWARD_OPTIONS ForwardOptions
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESREQLIST RequirementsList,
_In_
ULONG SlotNumber
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESREQLIST RequirementsList,
_In_
_Strict_type_match_
INTERFACE_TYPE InterfaceType
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListAppendIoResList)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESREQLIST RequirementsList,
_In_
WDFIORESLIST IoResList
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListInsertIoResList)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESREQLIST RequirementsList,
_In_
WDFIORESLIST IoResList,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListGetCount)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESREQLIST RequirementsList
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFIORESLIST
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListGetIoResList)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESREQLIST RequirementsList,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListRemove)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESREQLIST RequirementsList,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESREQLIST RequirementsList,
_In_
WDFIORESLIST IoResList
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceListCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESREQLIST RequirementsList,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFIORESLIST* ResourceList
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceListAppendDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESLIST ResourceList,
_In_
PIO_RESOURCE_DESCRIPTOR Descriptor
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceListInsertDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESLIST ResourceList,
_In_
PIO_RESOURCE_DESCRIPTOR Descriptor,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoResourceListUpdateDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESLIST ResourceList,
_In_
PIO_RESOURCE_DESCRIPTOR Descriptor,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG
STDCALL
WDFEXPORT(WdfIoResourceListGetCount)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESLIST ResourceList
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PIO_RESOURCE_DESCRIPTOR
STDCALL
WDFEXPORT(WdfIoResourceListGetDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESLIST ResourceList,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoResourceListRemove)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESLIST ResourceList,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfIoResourceListRemoveByDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFIORESLIST ResourceList,
_In_
PIO_RESOURCE_DESCRIPTOR Descriptor
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfCmResourceListAppendDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCMRESLIST List,
_In_
PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfCmResourceListInsertDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCMRESLIST List,
_In_
PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONG
STDCALL
WDFEXPORT(WdfCmResourceListGetCount)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCMRESLIST List
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
PCM_PARTIAL_RESOURCE_DESCRIPTOR
STDCALL
WDFEXPORT(WdfCmResourceListGetDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCMRESLIST List,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfCmResourceListRemove)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCMRESLIST List,
_In_
ULONG Index
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfCmResourceListRemoveByDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFCMRESLIST List,
_In_
PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfStringCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PCUNICODE_STRING UnicodeString,
_In_opt_
PWDF_OBJECT_ATTRIBUTES StringAttributes,
_Out_
WDFSTRING* String
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfStringGetUnicodeString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFSTRING String,
_Out_
PUNICODE_STRING UnicodeString
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfObjectAcquireLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
_Acquires_lock_(_Curr_)
WDFOBJECT Object
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfObjectReleaseLock)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_held_(_Curr_)
_Releases_lock_(_Curr_)
WDFOBJECT Object
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfWaitLockCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES LockAttributes,
_Out_
WDFWAITLOCK* Lock
);
_When_(Timeout == NULL, _IRQL_requires_max_(PASSIVE_LEVEL))
_When_(Timeout != NULL && *Timeout == 0, _IRQL_requires_max_(DISPATCH_LEVEL))
_When_(Timeout != NULL && *Timeout != 0, _IRQL_requires_max_(PASSIVE_LEVEL))
_Always_(_When_(Timeout == NULL, _Acquires_lock_(Lock)))
_When_(Timeout != NULL && return == STATUS_SUCCESS, _Acquires_lock_(Lock))
_When_(Timeout != NULL, _Must_inspect_result_)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfWaitLockAcquire)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
WDFWAITLOCK Lock,
_In_opt_
PLONGLONG Timeout
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfWaitLockRelease)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_held_(_Curr_)
_Releases_lock_(_Curr_)
WDFWAITLOCK Lock
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfSpinLockCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_opt_
PWDF_OBJECT_ATTRIBUTES SpinLockAttributes,
_Out_
WDFSPINLOCK* SpinLock
);
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_raises_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfSpinLockAcquire)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_not_held_(_Curr_)
_Acquires_lock_(_Curr_)
_IRQL_saves_
WDFSPINLOCK SpinLock
);
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_min_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfSpinLockRelease)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
_Requires_lock_held_(_Curr_)
_Releases_lock_(_Curr_)
_IRQL_restores_
WDFSPINLOCK SpinLock
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfTimerCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDF_TIMER_CONFIG Config,
_In_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFTIMER* Timer
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfTimerStart)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFTIMER Timer,
_In_
LONGLONG DueTime
);
_When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL))
_When_(Wait == __false, _IRQL_requires_max_(DISPATCH_LEVEL))
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfTimerStop)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFTIMER Timer,
_In_
BOOLEAN Wait
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
STDCALL
WDFEXPORT(WdfTimerGetParentObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFTIMER Timer
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFUSBDEVICE* UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceCreateWithParameters)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_USB_DEVICE_CREATE_CONFIG Config,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFUSBDEVICE* UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceRetrieveInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_Out_
PWDF_USB_DEVICE_INFORMATION Information
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_Out_
PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_Out_writes_bytes_to_opt_(*ConfigDescriptorLength,*ConfigDescriptorLength)
PVOID ConfigDescriptor,
_Inout_
PUSHORT ConfigDescriptorLength
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceQueryString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_Out_writes_opt_(*NumCharacters)
PUSHORT String,
_Inout_
PUSHORT NumCharacters,
_In_
UCHAR StringIndex,
_In_opt_
USHORT LangID
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
PWDF_OBJECT_ATTRIBUTES StringMemoryAttributes,
_Out_
WDFMEMORY* StringMemory,
_Out_opt_
PUSHORT NumCharacters,
_In_
UCHAR StringIndex,
_In_opt_
USHORT LangID
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceFormatRequestForString)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
WDFREQUEST Request,
_In_
WDFMEMORY Memory,
_In_opt_
PWDFMEMORY_OFFSET Offset,
_In_
UCHAR StringIndex,
_In_opt_
USHORT LangID
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
UCHAR
STDCALL
WDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceSelectConfig)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PipeAttributes,
_Inout_
PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
USBD_CONFIGURATION_HANDLE
STDCALL
WDFEXPORT(WdfUsbTargetDeviceWdmGetConfigurationHandle)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceRetrieveCurrentFrameNumber)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_Out_
PULONG CurrentFrameNumber
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_In_
PWDF_USB_CONTROL_SETUP_PACKET SetupPacket,
_In_opt_
PWDF_MEMORY_DESCRIPTOR MemoryDescriptor,
_Out_opt_
PULONG BytesTransferred
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
WDFREQUEST Request,
_In_
PWDF_USB_CONTROL_SETUP_PACKET SetupPacket,
_In_opt_
WDFMEMORY TransferMemory,
_In_opt_
PWDFMEMORY_OFFSET TransferOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceIsConnectedSynchronous)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceCyclePortSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceFormatRequestForCyclePort)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceSendUrbSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_In_reads_(_Inexpressible_("union bug in SAL"))
PURB Urb
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceFormatRequestForUrb)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
WDFREQUEST Request,
_In_
WDFMEMORY UrbMemory,
_In_opt_
PWDFMEMORY_OFFSET UrbMemoryOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
CONST GUID* CapabilityType,
_In_
ULONG CapabilityBufferLength,
_When_(CapabilityBufferLength == 0, _Out_opt_)
_When_(CapabilityBufferLength != 0 && ResultLength == NULL, _Out_writes_bytes_(CapabilityBufferLength))
_When_(CapabilityBufferLength != 0 && ResultLength != NULL, _Out_writes_bytes_to_opt_(CapabilityBufferLength, *ResultLength))
PVOID CapabilityBuffer,
_Out_opt_
_When_(ResultLength != NULL,_Deref_out_range_(<=,CapabilityBufferLength))
PULONG ResultLength
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceCreateUrb)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFMEMORY* UrbMemory,
_Outptr_opt_result_bytebuffer_(sizeof(URB))
PURB* Urb
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetDeviceCreateIsochUrb)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_opt_
PWDF_OBJECT_ATTRIBUTES Attributes,
_In_
ULONG NumberOfIsochPackets,
_Out_
WDFMEMORY* UrbMemory,
_Outptr_opt_result_bytebuffer_(GET_ISO_URB_SIZE(NumberOfIsochPackets))
PURB* Urb
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfUsbTargetPipeGetInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_Out_
PWDF_USB_PIPE_INFORMATION PipeInformation
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfUsbTargetPipeIsInEndpoint)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfUsbTargetPipeIsOutEndpoint)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDF_USB_PIPE_TYPE
STDCALL
WDFEXPORT(WdfUsbTargetPipeGetType)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeWriteSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_In_opt_
PWDF_MEMORY_DESCRIPTOR MemoryDescriptor,
_Out_opt_
PULONG BytesWritten
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
WDFREQUEST Request,
_In_opt_
WDFMEMORY WriteMemory,
_In_opt_
PWDFMEMORY_OFFSET WriteOffset
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeReadSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_In_opt_
PWDF_MEMORY_DESCRIPTOR MemoryDescriptor,
_Out_opt_
PULONG BytesRead
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeFormatRequestForRead)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
WDFREQUEST Request,
_In_opt_
WDFMEMORY ReadMemory,
_In_opt_
PWDFMEMORY_OFFSET ReadOffset
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeConfigContinuousReader)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
PWDF_USB_CONTINUOUS_READER_CONFIG Config
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeAbortSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeResetSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeFormatRequestForReset)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_
WDFREQUEST Request
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE Pipe,
_In_opt_
WDFREQUEST Request,
_In_opt_
PWDF_REQUEST_SEND_OPTIONS RequestOptions,
_In_reads_(_Inexpressible_("union bug in SAL"))
PURB Urb
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE PIPE,
_In_
WDFREQUEST Request,
_In_
WDFMEMORY UrbMemory,
_In_opt_
PWDFMEMORY_OFFSET UrbMemoryOffset
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
STDCALL
WDFEXPORT(WdfUsbInterfaceGetInterfaceNumber)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
STDCALL
WDFEXPORT(WdfUsbInterfaceGetNumEndpoints)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_
UCHAR SettingIndex
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfUsbInterfaceGetDescriptor)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_
UCHAR SettingIndex,
_Out_
PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
STDCALL
WDFEXPORT(WdfUsbInterfaceGetNumSettings)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfUsbInterfaceSelectSetting)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_opt_
PWDF_OBJECT_ATTRIBUTES PipesAttributes,
_In_
PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfUsbInterfaceGetEndpointInformation)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_
UCHAR SettingIndex,
_In_
UCHAR EndpointIndex,
_Out_
PWDF_USB_PIPE_INFORMATION EndpointInfo
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFUSBINTERFACE
STDCALL
WDFEXPORT(WdfUsbTargetDeviceGetInterface)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBDEVICE UsbDevice,
_In_
UCHAR InterfaceIndex
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
STDCALL
WDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE Interface
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BYTE
STDCALL
WDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFUSBPIPE
STDCALL
WDFEXPORT(WdfUsbInterfaceGetConfiguredPipe)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBINTERFACE UsbInterface,
_In_
UCHAR PipeIndex,
_Out_opt_
PWDF_USB_PIPE_INFORMATION PipeInfo
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
USBD_PIPE_HANDLE
STDCALL
WDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFUSBPIPE UsbPipe
);
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfVerifierDbgBreakPoint)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals
);
WDFAPI
VOID
STDCALL
WDFEXPORT(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
STDCALL
WDFEXPORT(WdfGetTriageInfo)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfWmiProviderCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_WMI_PROVIDER_CONFIG WmiProviderConfig,
_In_opt_
PWDF_OBJECT_ATTRIBUTES ProviderAttributes,
_Out_
WDFWMIPROVIDER* WmiProvider
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfWmiProviderGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWMIPROVIDER WmiProvider
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
BOOLEAN
STDCALL
WDFEXPORT(WdfWmiProviderIsEnabled)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWMIPROVIDER WmiProvider,
_In_
WDF_WMI_PROVIDER_CONTROL ProviderControl
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
ULONGLONG
STDCALL
WDFEXPORT(WdfWmiProviderGetTracingHandle)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWMIPROVIDER WmiProvider
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfWmiInstanceCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFDEVICE Device,
_In_
PWDF_WMI_INSTANCE_CONFIG InstanceConfig,
_In_opt_
PWDF_OBJECT_ATTRIBUTES InstanceAttributes,
_Out_opt_
WDFWMIINSTANCE* Instance
);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfWmiInstanceRegister)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWMIINSTANCE WmiInstance
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfWmiInstanceDeregister)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWMIINSTANCE WmiInstance
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFDEVICE
STDCALL
WDFEXPORT(WdfWmiInstanceGetDevice)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWMIINSTANCE WmiInstance
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFWMIPROVIDER
STDCALL
WDFEXPORT(WdfWmiInstanceGetProvider)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWMIINSTANCE WmiInstance
);
_Must_inspect_result_
_IRQL_requires_max_(APC_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfWmiInstanceFireEvent)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWMIINSTANCE WmiInstance,
_In_opt_
ULONG EventDataSize,
_In_reads_bytes_opt_(EventDataSize)
PVOID EventData
);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
NTSTATUS
STDCALL
WDFEXPORT(WdfWorkItemCreate)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
PWDF_WORKITEM_CONFIG Config,
_In_
PWDF_OBJECT_ATTRIBUTES Attributes,
_Out_
WDFWORKITEM* WorkItem
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfWorkItemEnqueue)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWORKITEM WorkItem
);
_IRQL_requires_max_(DISPATCH_LEVEL)
WDFAPI
WDFOBJECT
STDCALL
WDFEXPORT(WdfWorkItemGetParentObject)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWORKITEM WorkItem
);
_IRQL_requires_max_(PASSIVE_LEVEL)
WDFAPI
VOID
STDCALL
WDFEXPORT(WdfWorkItemFlush)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
_In_
WDFWORKITEM WorkItem
);
#ifdef FX_DYNAMICS_GENERATE_TABLE
WDFVERSION WdfVersion = {
sizeof(WDFVERSION),
sizeof(WDFFUNCTIONS)/sizeof(PVOID),
{
WDFEXPORT(WdfChildListCreate),
WDFEXPORT(WdfChildListGetDevice),
WDFEXPORT(WdfChildListRetrievePdo),
WDFEXPORT(WdfChildListRetrieveAddressDescription),
WDFEXPORT(WdfChildListBeginScan),
WDFEXPORT(WdfChildListEndScan),
WDFEXPORT(WdfChildListBeginIteration),
WDFEXPORT(WdfChildListRetrieveNextDevice),
WDFEXPORT(WdfChildListEndIteration),
WDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent),
WDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing),
WDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent),
WDFEXPORT(WdfChildListRequestChildEject),
WDFEXPORT(WdfCollectionCreate),
WDFEXPORT(WdfCollectionGetCount),
WDFEXPORT(WdfCollectionAdd),
WDFEXPORT(WdfCollectionRemove),
WDFEXPORT(WdfCollectionRemoveItem),
WDFEXPORT(WdfCollectionGetItem),
WDFEXPORT(WdfCollectionGetFirstItem),
WDFEXPORT(WdfCollectionGetLastItem),
// WDFEXPORT(WdfCommonBufferCreate),
// WDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress),
// WDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress),
// WDFEXPORT(WdfCommonBufferGetLength),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfControlDeviceInitAllocate),
WDFEXPORT(WdfControlDeviceInitSetShutdownNotification),
WDFEXPORT(WdfControlFinishInitializing),
WDFEXPORT(WdfDeviceGetDeviceState),
WDFEXPORT(WdfDeviceSetDeviceState),
WDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle),
WDFEXPORT(WdfDeviceWdmGetDeviceObject),
WDFEXPORT(WdfDeviceWdmGetAttachedDevice),
WDFEXPORT(WdfDeviceWdmGetPhysicalDevice),
WDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp),
WDFEXPORT(WdfDeviceAddDependentUsageDeviceObject),
WDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice),
WDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice),
WDFEXPORT(WdfDeviceClearRemovalRelationsDevices),
WDFEXPORT(WdfDeviceGetDriver),
WDFEXPORT(WdfDeviceRetrieveDeviceName),
WDFEXPORT(WdfDeviceAssignMofResourceName),
WDFEXPORT(WdfDeviceGetIoTarget),
WDFEXPORT(WdfDeviceGetDevicePnpState),
WDFEXPORT(WdfDeviceGetDevicePowerState),
WDFEXPORT(WdfDeviceGetDevicePowerPolicyState),
WDFEXPORT(WdfDeviceAssignS0IdleSettings),
WDFEXPORT(WdfDeviceAssignSxWakeSettings),
WDFEXPORT(WdfDeviceOpenRegistryKey),
WDFEXPORT(WdfDeviceSetSpecialFileSupport),
WDFEXPORT(WdfDeviceSetCharacteristics),
WDFEXPORT(WdfDeviceGetCharacteristics),
WDFEXPORT(WdfDeviceGetAlignmentRequirement),
WDFEXPORT(WdfDeviceSetAlignmentRequirement),
WDFEXPORT(WdfDeviceInitFree),
WDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks),
WDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks),
WDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership),
WDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback),
WDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback),
WDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback),
WDFEXPORT(WdfDeviceInitSetIoType),
WDFEXPORT(WdfDeviceInitSetExclusive),
WDFEXPORT(WdfDeviceInitSetPowerNotPageable),
WDFEXPORT(WdfDeviceInitSetPowerPageable),
WDFEXPORT(WdfDeviceInitSetPowerInrush),
WDFEXPORT(WdfDeviceInitSetDeviceType),
WDFEXPORT(WdfDeviceInitAssignName),
WDFEXPORT(WdfDeviceInitAssignSDDLString),
WDFEXPORT(WdfDeviceInitSetDeviceClass),
WDFEXPORT(WdfDeviceInitSetCharacteristics),
WDFEXPORT(WdfDeviceInitSetFileObjectConfig),
WDFEXPORT(WdfDeviceInitSetRequestAttributes),
WDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback),
WDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback),
WDFEXPORT(WdfDeviceCreate),
WDFEXPORT(WdfDeviceSetStaticStopRemove),
WDFEXPORT(WdfDeviceCreateDeviceInterface),
WDFEXPORT(WdfDeviceSetDeviceInterfaceState),
WDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString),
WDFEXPORT(WdfDeviceCreateSymbolicLink),
WDFEXPORT(WdfDeviceQueryProperty),
WDFEXPORT(WdfDeviceAllocAndQueryProperty),
WDFEXPORT(WdfDeviceSetPnpCapabilities),
WDFEXPORT(WdfDeviceSetPowerCapabilities),
WDFEXPORT(WdfDeviceSetBusInformationForChildren),
WDFEXPORT(WdfDeviceIndicateWakeStatus),
WDFEXPORT(WdfDeviceSetFailed),
WDFEXPORT(WdfDeviceStopIdleNoTrack),
WDFEXPORT(WdfDeviceResumeIdleNoTrack),
WDFEXPORT(WdfDeviceGetFileObject),
WDFEXPORT(WdfDeviceEnqueueRequest),
WDFEXPORT(WdfDeviceGetDefaultQueue),
WDFEXPORT(WdfDeviceConfigureRequestDispatching),
// WDFEXPORT(WdfDmaEnablerCreate),
// WDFEXPORT(WdfDmaEnablerGetMaximumLength),
// WDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements),
// WDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements),
// WDFEXPORT(WdfDmaTransactionCreate),
// WDFEXPORT(WdfDmaTransactionInitialize),
// WDFEXPORT(WdfDmaTransactionInitializeUsingRequest),
// WDFEXPORT(WdfDmaTransactionExecute),
// WDFEXPORT(WdfDmaTransactionRelease),
// WDFEXPORT(WdfDmaTransactionDmaCompleted),
// WDFEXPORT(WdfDmaTransactionDmaCompletedWithLength),
// WDFEXPORT(WdfDmaTransactionDmaCompletedFinal),
// WDFEXPORT(WdfDmaTransactionGetBytesTransferred),
// WDFEXPORT(WdfDmaTransactionSetMaximumLength),
// WDFEXPORT(WdfDmaTransactionGetRequest),
// WDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength),
// WDFEXPORT(WdfDmaTransactionGetDevice),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfDpcCreate),
WDFEXPORT(WdfDpcEnqueue),
WDFEXPORT(WdfDpcCancel),
WDFEXPORT(WdfDpcGetParentObject),
WDFEXPORT(WdfDpcWdmGetDpc),
WDFEXPORT(WdfDriverCreate),
WDFEXPORT(WdfDriverGetRegistryPath),
WDFEXPORT(WdfDriverWdmGetDriverObject),
WDFEXPORT(WdfDriverOpenParametersRegistryKey),
WDFEXPORT(WdfWdmDriverGetWdfDriverHandle),
WDFEXPORT(WdfDriverRegisterTraceInfo),
WDFEXPORT(WdfDriverRetrieveVersionString),
WDFEXPORT(WdfDriverIsVersionAvailable),
WDFEXPORT(WdfFdoInitWdmGetPhysicalDevice),
WDFEXPORT(WdfFdoInitOpenRegistryKey),
WDFEXPORT(WdfFdoInitQueryProperty),
WDFEXPORT(WdfFdoInitAllocAndQueryProperty),
WDFEXPORT(WdfFdoInitSetEventCallbacks),
WDFEXPORT(WdfFdoInitSetFilter),
WDFEXPORT(WdfFdoInitSetDefaultChildListConfig),
WDFEXPORT(WdfFdoQueryForInterface),
WDFEXPORT(WdfFdoGetDefaultChildList),
WDFEXPORT(WdfFdoAddStaticChild),
WDFEXPORT(WdfFdoLockStaticChildListForIteration),
WDFEXPORT(WdfFdoRetrieveNextStaticChild),
WDFEXPORT(WdfFdoUnlockStaticChildListFromIteration),
WDFEXPORT(WdfFileObjectGetFileName),
WDFEXPORT(WdfFileObjectGetFlags),
WDFEXPORT(WdfFileObjectGetDevice),
WDFEXPORT(WdfFileObjectWdmGetFileObject),
WDFEXPORT(WdfInterruptCreate),
WDFEXPORT(WdfInterruptQueueDpcForIsr),
WDFEXPORT(WdfInterruptSynchronize),
WDFEXPORT(WdfInterruptAcquireLock),
WDFEXPORT(WdfInterruptReleaseLock),
WDFEXPORT(WdfInterruptEnable),
WDFEXPORT(WdfInterruptDisable),
WDFEXPORT(WdfInterruptWdmGetInterrupt),
WDFEXPORT(WdfInterruptGetInfo),
WDFEXPORT(WdfInterruptSetPolicy),
WDFEXPORT(WdfInterruptGetDevice),
WDFEXPORT(WdfIoQueueCreate),
WDFEXPORT(WdfIoQueueGetState),
WDFEXPORT(WdfIoQueueStart),
WDFEXPORT(WdfIoQueueStop),
WDFEXPORT(WdfIoQueueStopSynchronously),
WDFEXPORT(WdfIoQueueGetDevice),
WDFEXPORT(WdfIoQueueRetrieveNextRequest),
WDFEXPORT(WdfIoQueueRetrieveRequestByFileObject),
WDFEXPORT(WdfIoQueueFindRequest),
WDFEXPORT(WdfIoQueueRetrieveFoundRequest),
WDFEXPORT(WdfIoQueueDrainSynchronously),
WDFEXPORT(WdfIoQueueDrain),
WDFEXPORT(WdfIoQueuePurgeSynchronously),
WDFEXPORT(WdfIoQueuePurge),
WDFEXPORT(WdfIoQueueReadyNotify),
WDFEXPORT(WdfIoTargetCreate),
WDFEXPORT(WdfIoTargetOpen),
WDFEXPORT(WdfIoTargetCloseForQueryRemove),
WDFEXPORT(WdfIoTargetClose),
WDFEXPORT(WdfIoTargetStart),
WDFEXPORT(WdfIoTargetStop),
WDFEXPORT(WdfIoTargetGetState),
WDFEXPORT(WdfIoTargetGetDevice),
WDFEXPORT(WdfIoTargetQueryTargetProperty),
WDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty),
WDFEXPORT(WdfIoTargetQueryForInterface),
WDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject),
WDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice),
WDFEXPORT(WdfIoTargetWdmGetTargetFileObject),
WDFEXPORT(WdfIoTargetWdmGetTargetFileHandle),
WDFEXPORT(WdfIoTargetSendReadSynchronously),
WDFEXPORT(WdfIoTargetFormatRequestForRead),
WDFEXPORT(WdfIoTargetSendWriteSynchronously),
WDFEXPORT(WdfIoTargetFormatRequestForWrite),
WDFEXPORT(WdfIoTargetSendIoctlSynchronously),
WDFEXPORT(WdfIoTargetFormatRequestForIoctl),
WDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously),
WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl),
WDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously),
WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers),
WDFEXPORT(WdfMemoryCreate),
WDFEXPORT(WdfMemoryCreatePreallocated),
WDFEXPORT(WdfMemoryGetBuffer),
WDFEXPORT(WdfMemoryAssignBuffer),
WDFEXPORT(WdfMemoryCopyToBuffer),
WDFEXPORT(WdfMemoryCopyFromBuffer),
WDFEXPORT(WdfLookasideListCreate),
WDFEXPORT(WdfMemoryCreateFromLookaside),
WDFEXPORT(WdfDeviceMiniportCreate),
WDFEXPORT(WdfDriverMiniportUnload),
WDFEXPORT(WdfObjectGetTypedContextWorker),
WDFEXPORT(WdfObjectAllocateContext),
WDFEXPORT(WdfObjectContextGetObject),
WDFEXPORT(WdfObjectReferenceActual),
WDFEXPORT(WdfObjectDereferenceActual),
WDFEXPORT(WdfObjectCreate),
WDFEXPORT(WdfObjectDelete),
WDFEXPORT(WdfObjectQuery),
WDFEXPORT(WdfPdoInitAllocate),
WDFEXPORT(WdfPdoInitSetEventCallbacks),
WDFEXPORT(WdfPdoInitAssignDeviceID),
WDFEXPORT(WdfPdoInitAssignInstanceID),
WDFEXPORT(WdfPdoInitAddHardwareID),
WDFEXPORT(WdfPdoInitAddCompatibleID),
WDFEXPORT(WdfPdoInitAddDeviceText),
WDFEXPORT(WdfPdoInitSetDefaultLocale),
WDFEXPORT(WdfPdoInitAssignRawDevice),
WDFEXPORT(WdfPdoMarkMissing),
WDFEXPORT(WdfPdoRequestEject),
WDFEXPORT(WdfPdoGetParent),
WDFEXPORT(WdfPdoRetrieveIdentificationDescription),
WDFEXPORT(WdfPdoRetrieveAddressDescription),
WDFEXPORT(WdfPdoUpdateAddressDescription),
WDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice),
WDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice),
WDFEXPORT(WdfPdoClearEjectionRelationsDevices),
WDFEXPORT(WdfDeviceAddQueryInterface),
WDFEXPORT(WdfRegistryOpenKey),
WDFEXPORT(WdfRegistryCreateKey),
WDFEXPORT(WdfRegistryClose),
WDFEXPORT(WdfRegistryWdmGetHandle),
WDFEXPORT(WdfRegistryRemoveKey),
WDFEXPORT(WdfRegistryRemoveValue),
WDFEXPORT(WdfRegistryQueryValue),
WDFEXPORT(WdfRegistryQueryMemory),
WDFEXPORT(WdfRegistryQueryMultiString),
WDFEXPORT(WdfRegistryQueryUnicodeString),
WDFEXPORT(WdfRegistryQueryString),
WDFEXPORT(WdfRegistryQueryULong),
WDFEXPORT(WdfRegistryAssignValue),
WDFEXPORT(WdfRegistryAssignMemory),
WDFEXPORT(WdfRegistryAssignMultiString),
WDFEXPORT(WdfRegistryAssignUnicodeString),
WDFEXPORT(WdfRegistryAssignString),
WDFEXPORT(WdfRegistryAssignULong),
WDFEXPORT(WdfRequestCreate),
WDFEXPORT(WdfRequestCreateFromIrp),
WDFEXPORT(WdfRequestReuse),
WDFEXPORT(WdfRequestChangeTarget),
WDFEXPORT(WdfRequestFormatRequestUsingCurrentType),
WDFEXPORT(WdfRequestWdmFormatUsingStackLocation),
WDFEXPORT(WdfRequestSend),
WDFEXPORT(WdfRequestGetStatus),
WDFEXPORT(WdfRequestMarkCancelable),
WDFEXPORT(WdfRequestUnmarkCancelable),
WDFEXPORT(WdfRequestIsCanceled),
WDFEXPORT(WdfRequestCancelSentRequest),
WDFEXPORT(WdfRequestIsFrom32BitProcess),
WDFEXPORT(WdfRequestSetCompletionRoutine),
WDFEXPORT(WdfRequestGetCompletionParams),
WDFEXPORT(WdfRequestAllocateTimer),
WDFEXPORT(WdfRequestComplete),
WDFEXPORT(WdfRequestCompleteWithPriorityBoost),
WDFEXPORT(WdfRequestCompleteWithInformation),
WDFEXPORT(WdfRequestGetParameters),
WDFEXPORT(WdfRequestRetrieveInputMemory),
WDFEXPORT(WdfRequestRetrieveOutputMemory),
WDFEXPORT(WdfRequestRetrieveInputBuffer),
WDFEXPORT(WdfRequestRetrieveOutputBuffer),
WDFEXPORT(WdfRequestRetrieveInputWdmMdl),
WDFEXPORT(WdfRequestRetrieveOutputWdmMdl),
WDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer),
WDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer),
WDFEXPORT(WdfRequestSetInformation),
WDFEXPORT(WdfRequestGetInformation),
WDFEXPORT(WdfRequestGetFileObject),
WDFEXPORT(WdfRequestProbeAndLockUserBufferForRead),
WDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite),
WDFEXPORT(WdfRequestGetRequestorMode),
WDFEXPORT(WdfRequestForwardToIoQueue),
WDFEXPORT(WdfRequestGetIoQueue),
WDFEXPORT(WdfRequestRequeue),
WDFEXPORT(WdfRequestStopAcknowledge),
WDFEXPORT(WdfRequestWdmGetIrp),
WDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber),
WDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType),
WDFEXPORT(WdfIoResourceRequirementsListAppendIoResList),
WDFEXPORT(WdfIoResourceRequirementsListInsertIoResList),
WDFEXPORT(WdfIoResourceRequirementsListGetCount),
WDFEXPORT(WdfIoResourceRequirementsListGetIoResList),
WDFEXPORT(WdfIoResourceRequirementsListRemove),
WDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList),
WDFEXPORT(WdfIoResourceListCreate),
WDFEXPORT(WdfIoResourceListAppendDescriptor),
WDFEXPORT(WdfIoResourceListInsertDescriptor),
WDFEXPORT(WdfIoResourceListUpdateDescriptor),
WDFEXPORT(WdfIoResourceListGetCount),
WDFEXPORT(WdfIoResourceListGetDescriptor),
WDFEXPORT(WdfIoResourceListRemove),
WDFEXPORT(WdfIoResourceListRemoveByDescriptor),
WDFEXPORT(WdfCmResourceListAppendDescriptor),
WDFEXPORT(WdfCmResourceListInsertDescriptor),
WDFEXPORT(WdfCmResourceListGetCount),
WDFEXPORT(WdfCmResourceListGetDescriptor),
WDFEXPORT(WdfCmResourceListRemove),
WDFEXPORT(WdfCmResourceListRemoveByDescriptor),
WDFEXPORT(WdfStringCreate),
WDFEXPORT(WdfStringGetUnicodeString),
WDFEXPORT(WdfObjectAcquireLock),
WDFEXPORT(WdfObjectReleaseLock),
WDFEXPORT(WdfWaitLockCreate),
WDFEXPORT(WdfWaitLockAcquire),
WDFEXPORT(WdfWaitLockRelease),
WDFEXPORT(WdfSpinLockCreate),
WDFEXPORT(WdfSpinLockAcquire),
WDFEXPORT(WdfSpinLockRelease),
WDFEXPORT(WdfTimerCreate),
WDFEXPORT(WdfTimerStart),
WDFEXPORT(WdfTimerStop),
WDFEXPORT(WdfTimerGetParentObject),
// WDFEXPORT(WdfUsbTargetDeviceCreate),
// WDFEXPORT(WdfUsbTargetDeviceRetrieveInformation),
// WDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor),
// WDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor),
// WDFEXPORT(WdfUsbTargetDeviceQueryString),
// WDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString),
// WDFEXPORT(WdfUsbTargetDeviceFormatRequestForString),
// WDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces),
// WDFEXPORT(WdfUsbTargetDeviceSelectConfig),
// WDFEXPORT(WdfUsbTargetDeviceWdmGetConfigurationHandle),
// WDFEXPORT(WdfUsbTargetDeviceRetrieveCurrentFrameNumber),
// WDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously),
// WDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer),
// WDFEXPORT(WdfUsbTargetDeviceIsConnectedSynchronous),
// WDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously),
// WDFEXPORT(WdfUsbTargetDeviceCyclePortSynchronously),
// WDFEXPORT(WdfUsbTargetDeviceFormatRequestForCyclePort),
// WDFEXPORT(WdfUsbTargetDeviceSendUrbSynchronously),
// WDFEXPORT(WdfUsbTargetDeviceFormatRequestForUrb),
// WDFEXPORT(WdfUsbTargetPipeGetInformation),
// WDFEXPORT(WdfUsbTargetPipeIsInEndpoint),
// WDFEXPORT(WdfUsbTargetPipeIsOutEndpoint),
// WDFEXPORT(WdfUsbTargetPipeGetType),
// WDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck),
// WDFEXPORT(WdfUsbTargetPipeWriteSynchronously),
// WDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite),
// WDFEXPORT(WdfUsbTargetPipeReadSynchronously),
// WDFEXPORT(WdfUsbTargetPipeFormatRequestForRead),
// WDFEXPORT(WdfUsbTargetPipeConfigContinuousReader),
// WDFEXPORT(WdfUsbTargetPipeAbortSynchronously),
// WDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort),
// WDFEXPORT(WdfUsbTargetPipeResetSynchronously),
// WDFEXPORT(WdfUsbTargetPipeFormatRequestForReset),
// WDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously),
// WDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb),
// WDFEXPORT(WdfUsbInterfaceGetInterfaceNumber),
// WDFEXPORT(WdfUsbInterfaceGetNumEndpoints),
// WDFEXPORT(WdfUsbInterfaceGetDescriptor),
// WDFEXPORT(WdfUsbInterfaceSelectSetting),
// WDFEXPORT(WdfUsbInterfaceGetEndpointInformation),
// WDFEXPORT(WdfUsbTargetDeviceGetInterface),
// WDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex),
// WDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes),
// WDFEXPORT(WdfUsbInterfaceGetConfiguredPipe),
// WDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle),
// WDFEXPORT(WdfVerifierDbgBreakPoint),
// WDFEXPORT(WdfVerifierKeBugCheck),
// WDFEXPORT(WdfWmiProviderCreate),
// WDFEXPORT(WdfWmiProviderGetDevice),
// WDFEXPORT(WdfWmiProviderIsEnabled),
// WDFEXPORT(WdfWmiProviderGetTracingHandle),
// WDFEXPORT(WdfWmiInstanceCreate),
// WDFEXPORT(WdfWmiInstanceRegister),
// WDFEXPORT(WdfWmiInstanceDeregister),
// WDFEXPORT(WdfWmiInstanceGetDevice),
// WDFEXPORT(WdfWmiInstanceGetProvider),
// WDFEXPORT(WdfWmiInstanceFireEvent),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfWorkItemCreate),
WDFEXPORT(WdfWorkItemEnqueue),
WDFEXPORT(WdfWorkItemGetParentObject),
WDFEXPORT(WdfWorkItemFlush),
// WDFEXPORT(WdfCommonBufferCreateWithConfig),
// WDFEXPORT(WdfDmaEnablerGetFragmentLength),
// WDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter),
// WDFEXPORT(WdfUsbInterfaceGetNumSettings),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject),
WDFEXPORT(WdfDeviceGetSystemPowerAction),
WDFEXPORT(WdfInterruptSetExtendedPolicy),
WDFEXPORT(WdfIoQueueAssignForwardProgressPolicy),
WDFEXPORT(WdfPdoInitAssignContainerID),
WDFEXPORT(WdfPdoInitAllowForwardingRequestToParent),
WDFEXPORT(WdfRequestMarkCancelableEx),
WDFEXPORT(WdfRequestIsReserved),
WDFEXPORT(WdfRequestForwardToParentDeviceIoQueue),
// WDFEXPORT(WdfCxDeviceInitAllocate),
// WDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback),
// WDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback),
// WDFEXPORT(WdfCxDeviceInitSetRequestAttributes),
// WDFEXPORT(WdfCxDeviceInitSetFileObjectConfig),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfDeviceWdmDispatchIrp),
WDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue),
WDFEXPORT(WdfDeviceInitSetRemoveLockOptions),
WDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback),
// WDFEXPORT(WdfDmaEnablerConfigureSystemProfile),
// WDFEXPORT(WdfDmaTransactionInitializeUsingOffset),
// WDFEXPORT(WdfDmaTransactionGetTransferInfo),
// WDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback),
// WDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback),
// WDFEXPORT(WdfDmaTransactionSetImmediateExecution),
// WDFEXPORT(WdfDmaTransactionAllocateResources),
// WDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset),
// WDFEXPORT(WdfDmaTransactionFreeResources),
// WDFEXPORT(WdfDmaTransactionCancel),
// WDFEXPORT(WdfDmaTransactionWdmGetTransferContext),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfInterruptQueueWorkItemForIsr),
WDFEXPORT(WdfInterruptTryToAcquireLock),
WDFEXPORT(WdfIoQueueStopAndPurge),
WDFEXPORT(WdfIoQueueStopAndPurgeSynchronously),
WDFEXPORT(WdfIoTargetPurge),
// WDFEXPORT(WdfUsbTargetDeviceCreateWithParameters),
// WDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability),
// WDFEXPORT(WdfUsbTargetDeviceCreateUrb),
// WDFEXPORT(WdfUsbTargetDeviceCreateIsochUrb),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings),
// WDFEXPORT(WdfDmaTransactionStopSystemTransfer),
// WDFEXPORT(WdfCxVerifierKeBugCheck),
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfInterruptReportActive),
WDFEXPORT(WdfInterruptReportInactive),
WDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure),
// WDFEXPORT(WdfGetTriageInfo),
WdfApiNotImplemented,
WDFEXPORT(WdfDeviceInitSetIoTypeEx),
WDFEXPORT(WdfDeviceQueryPropertyEx),
WDFEXPORT(WdfDeviceAllocAndQueryPropertyEx),
WDFEXPORT(WdfDeviceAssignProperty),
WDFEXPORT(WdfFdoInitQueryPropertyEx),
WDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx),
WDFEXPORT(WdfDeviceStopIdleActual),
WDFEXPORT(WdfDeviceResumeIdleActual),
WDFEXPORT(WdfDeviceGetSelfIoTarget),
WDFEXPORT(WdfDeviceInitAllowSelfIoTarget),
WDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue),
WDFEXPORT(WdfDeviceOpenDevicemapKey),
}
};
#endif // FX_DYNAMICS_GENERATE_TABLE
#endif // _FXDYNAMICS_H_