/*++ 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_