1 /*++ 2 3 Module Name: FxDynamics.h 4 5 Abstract: 6 Generated header for WDF APIs 7 8 Environment: 9 kernel mode only 10 11 Warning: manual changes to this file will be lost. 12 --*/ 13 14 #ifndef _FXDYNAMICS_H_ 15 #define _FXDYNAMICS_H_ 16 17 typedef WDFAPI NTSTATUS 18 (STDCALL *PFN_ROSWDFUNIMPLEMENTED)(VOID); 19 20 WDFAPI 21 NTSTATUS 22 STDCALL 23 WdfApiNotImplemented(); 24 25 26 typedef struct _WDFFUNCTIONS { 27 28 PFN_WDFCHILDLISTCREATE pfnWdfChildListCreate; 29 PFN_WDFCHILDLISTGETDEVICE pfnWdfChildListGetDevice; 30 PFN_WDFCHILDLISTRETRIEVEPDO pfnWdfChildListRetrievePdo; 31 PFN_WDFCHILDLISTRETRIEVEADDRESSDESCRIPTION pfnWdfChildListRetrieveAddressDescription; 32 PFN_WDFCHILDLISTBEGINSCAN pfnWdfChildListBeginScan; 33 PFN_WDFCHILDLISTENDSCAN pfnWdfChildListEndScan; 34 PFN_WDFCHILDLISTBEGINITERATION pfnWdfChildListBeginIteration; 35 PFN_WDFCHILDLISTRETRIEVENEXTDEVICE pfnWdfChildListRetrieveNextDevice; 36 PFN_WDFCHILDLISTENDITERATION pfnWdfChildListEndIteration; 37 PFN_WDFCHILDLISTADDORUPDATECHILDDESCRIPTIONASPRESENT pfnWdfChildListAddOrUpdateChildDescriptionAsPresent; 38 PFN_WDFCHILDLISTUPDATECHILDDESCRIPTIONASMISSING pfnWdfChildListUpdateChildDescriptionAsMissing; 39 PFN_WDFCHILDLISTUPDATEALLCHILDDESCRIPTIONSASPRESENT pfnWdfChildListUpdateAllChildDescriptionsAsPresent; 40 PFN_WDFCHILDLISTREQUESTCHILDEJECT pfnWdfChildListRequestChildEject; 41 PFN_WDFCOLLECTIONCREATE pfnWdfCollectionCreate; 42 PFN_WDFCOLLECTIONGETCOUNT pfnWdfCollectionGetCount; 43 PFN_WDFCOLLECTIONADD pfnWdfCollectionAdd; 44 PFN_WDFCOLLECTIONREMOVE pfnWdfCollectionRemove; 45 PFN_WDFCOLLECTIONREMOVEITEM pfnWdfCollectionRemoveItem; 46 PFN_WDFCOLLECTIONGETITEM pfnWdfCollectionGetItem; 47 PFN_WDFCOLLECTIONGETFIRSTITEM pfnWdfCollectionGetFirstItem; 48 PFN_WDFCOLLECTIONGETLASTITEM pfnWdfCollectionGetLastItem; 49 // PFN_WDFCOMMONBUFFERCREATE pfnWdfCommonBufferCreate; 50 // PFN_WDFCOMMONBUFFERGETALIGNEDVIRTUALADDRESS pfnWdfCommonBufferGetAlignedVirtualAddress; 51 // PFN_WDFCOMMONBUFFERGETALIGNEDLOGICALADDRESS pfnWdfCommonBufferGetAlignedLogicalAddress; 52 // PFN_WDFCOMMONBUFFERGETLENGTH pfnWdfCommonBufferGetLength; 53 PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferCreate; 54 PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferGetAlignedVirtualAddress; 55 PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferGetAlignedLogicalAddress; 56 PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferGetLength; 57 58 PFN_WDFCONTROLDEVICEINITALLOCATE pfnWdfControlDeviceInitAllocate; 59 PFN_WDFCONTROLDEVICEINITSETSHUTDOWNNOTIFICATION pfnWdfControlDeviceInitSetShutdownNotification; 60 PFN_WDFCONTROLFINISHINITIALIZING pfnWdfControlFinishInitializing; 61 PFN_WDFDEVICEGETDEVICESTATE pfnWdfDeviceGetDeviceState; 62 PFN_WDFDEVICESETDEVICESTATE pfnWdfDeviceSetDeviceState; 63 PFN_WDFWDMDEVICEGETWDFDEVICEHANDLE pfnWdfWdmDeviceGetWdfDeviceHandle; 64 PFN_WDFDEVICEWDMGETDEVICEOBJECT pfnWdfDeviceWdmGetDeviceObject; 65 PFN_WDFDEVICEWDMGETATTACHEDDEVICE pfnWdfDeviceWdmGetAttachedDevice; 66 PFN_WDFDEVICEWDMGETPHYSICALDEVICE pfnWdfDeviceWdmGetPhysicalDevice; 67 PFN_WDFDEVICEWDMDISPATCHPREPROCESSEDIRP pfnWdfDeviceWdmDispatchPreprocessedIrp; 68 PFN_WDFDEVICEADDDEPENDENTUSAGEDEVICEOBJECT pfnWdfDeviceAddDependentUsageDeviceObject; 69 PFN_WDFDEVICEADDREMOVALRELATIONSPHYSICALDEVICE pfnWdfDeviceAddRemovalRelationsPhysicalDevice; 70 PFN_WDFDEVICEREMOVEREMOVALRELATIONSPHYSICALDEVICE pfnWdfDeviceRemoveRemovalRelationsPhysicalDevice; 71 PFN_WDFDEVICECLEARREMOVALRELATIONSDEVICES pfnWdfDeviceClearRemovalRelationsDevices; 72 PFN_WDFDEVICEGETDRIVER pfnWdfDeviceGetDriver; 73 PFN_WDFDEVICERETRIEVEDEVICENAME pfnWdfDeviceRetrieveDeviceName; 74 PFN_WDFDEVICEASSIGNMOFRESOURCENAME pfnWdfDeviceAssignMofResourceName; 75 PFN_WDFDEVICEGETIOTARGET pfnWdfDeviceGetIoTarget; 76 PFN_WDFDEVICEGETDEVICEPNPSTATE pfnWdfDeviceGetDevicePnpState; 77 PFN_WDFDEVICEGETDEVICEPOWERSTATE pfnWdfDeviceGetDevicePowerState; 78 PFN_WDFDEVICEGETDEVICEPOWERPOLICYSTATE pfnWdfDeviceGetDevicePowerPolicyState; 79 PFN_WDFDEVICEASSIGNS0IDLESETTINGS pfnWdfDeviceAssignS0IdleSettings; 80 PFN_WDFDEVICEASSIGNSXWAKESETTINGS pfnWdfDeviceAssignSxWakeSettings; 81 PFN_WDFDEVICEOPENREGISTRYKEY pfnWdfDeviceOpenRegistryKey; 82 PFN_WDFDEVICESETSPECIALFILESUPPORT pfnWdfDeviceSetSpecialFileSupport; 83 PFN_WDFDEVICESETCHARACTERISTICS pfnWdfDeviceSetCharacteristics; 84 PFN_WDFDEVICEGETCHARACTERISTICS pfnWdfDeviceGetCharacteristics; 85 PFN_WDFDEVICEGETALIGNMENTREQUIREMENT pfnWdfDeviceGetAlignmentRequirement; 86 PFN_WDFDEVICESETALIGNMENTREQUIREMENT pfnWdfDeviceSetAlignmentRequirement; 87 PFN_WDFDEVICEINITFREE pfnWdfDeviceInitFree; 88 PFN_WDFDEVICEINITSETPNPPOWEREVENTCALLBACKS pfnWdfDeviceInitSetPnpPowerEventCallbacks; 89 PFN_WDFDEVICEINITSETPOWERPOLICYEVENTCALLBACKS pfnWdfDeviceInitSetPowerPolicyEventCallbacks; 90 PFN_WDFDEVICEINITSETPOWERPOLICYOWNERSHIP pfnWdfDeviceInitSetPowerPolicyOwnership; 91 PFN_WDFDEVICEINITREGISTERPNPSTATECHANGECALLBACK pfnWdfDeviceInitRegisterPnpStateChangeCallback; 92 PFN_WDFDEVICEINITREGISTERPOWERSTATECHANGECALLBACK pfnWdfDeviceInitRegisterPowerStateChangeCallback; 93 PFN_WDFDEVICEINITREGISTERPOWERPOLICYSTATECHANGECALLBACK pfnWdfDeviceInitRegisterPowerPolicyStateChangeCallback; 94 PFN_WDFDEVICEINITSETIOTYPE pfnWdfDeviceInitSetIoType; 95 PFN_WDFDEVICEINITSETEXCLUSIVE pfnWdfDeviceInitSetExclusive; 96 PFN_WDFDEVICEINITSETPOWERNOTPAGEABLE pfnWdfDeviceInitSetPowerNotPageable; 97 PFN_WDFDEVICEINITSETPOWERPAGEABLE pfnWdfDeviceInitSetPowerPageable; 98 PFN_WDFDEVICEINITSETPOWERINRUSH pfnWdfDeviceInitSetPowerInrush; 99 PFN_WDFDEVICEINITSETDEVICETYPE pfnWdfDeviceInitSetDeviceType; 100 PFN_WDFDEVICEINITASSIGNNAME pfnWdfDeviceInitAssignName; 101 PFN_WDFDEVICEINITASSIGNSDDLSTRING pfnWdfDeviceInitAssignSDDLString; 102 PFN_WDFDEVICEINITSETDEVICECLASS pfnWdfDeviceInitSetDeviceClass; 103 PFN_WDFDEVICEINITSETCHARACTERISTICS pfnWdfDeviceInitSetCharacteristics; 104 PFN_WDFDEVICEINITSETFILEOBJECTCONFIG pfnWdfDeviceInitSetFileObjectConfig; 105 PFN_WDFDEVICEINITSETREQUESTATTRIBUTES pfnWdfDeviceInitSetRequestAttributes; 106 PFN_WDFDEVICEINITASSIGNWDMIRPPREPROCESSCALLBACK pfnWdfDeviceInitAssignWdmIrpPreprocessCallback; 107 PFN_WDFDEVICEINITSETIOINCALLERCONTEXTCALLBACK pfnWdfDeviceInitSetIoInCallerContextCallback; 108 PFN_WDFDEVICECREATE pfnWdfDeviceCreate; 109 PFN_WDFDEVICESETSTATICSTOPREMOVE pfnWdfDeviceSetStaticStopRemove; 110 PFN_WDFDEVICECREATEDEVICEINTERFACE pfnWdfDeviceCreateDeviceInterface; 111 PFN_WDFDEVICESETDEVICEINTERFACESTATE pfnWdfDeviceSetDeviceInterfaceState; 112 PFN_WDFDEVICERETRIEVEDEVICEINTERFACESTRING pfnWdfDeviceRetrieveDeviceInterfaceString; 113 PFN_WDFDEVICECREATESYMBOLICLINK pfnWdfDeviceCreateSymbolicLink; 114 PFN_WDFDEVICEQUERYPROPERTY pfnWdfDeviceQueryProperty; 115 PFN_WDFDEVICEALLOCANDQUERYPROPERTY pfnWdfDeviceAllocAndQueryProperty; 116 PFN_WDFDEVICESETPNPCAPABILITIES pfnWdfDeviceSetPnpCapabilities; 117 PFN_WDFDEVICESETPOWERCAPABILITIES pfnWdfDeviceSetPowerCapabilities; 118 PFN_WDFDEVICESETBUSINFORMATIONFORCHILDREN pfnWdfDeviceSetBusInformationForChildren; 119 PFN_WDFDEVICEINDICATEWAKESTATUS pfnWdfDeviceIndicateWakeStatus; 120 PFN_WDFDEVICESETFAILED pfnWdfDeviceSetFailed; 121 PFN_WDFDEVICESTOPIDLENOTRACK pfnWdfDeviceStopIdleNoTrack; 122 PFN_WDFDEVICERESUMEIDLENOTRACK pfnWdfDeviceResumeIdleNoTrack; 123 PFN_WDFDEVICEGETFILEOBJECT pfnWdfDeviceGetFileObject; 124 PFN_WDFDEVICEENQUEUEREQUEST pfnWdfDeviceEnqueueRequest; 125 PFN_WDFDEVICEGETDEFAULTQUEUE pfnWdfDeviceGetDefaultQueue; 126 PFN_WDFDEVICECONFIGUREREQUESTDISPATCHING pfnWdfDeviceConfigureRequestDispatching; 127 // PFN_WDFDMAENABLERCREATE pfnWdfDmaEnablerCreate; 128 // PFN_WDFDMAENABLERGETMAXIMUMLENGTH pfnWdfDmaEnablerGetMaximumLength; 129 // PFN_WDFDMAENABLERGETMAXIMUMSCATTERGATHERELEMENTS pfnWdfDmaEnablerGetMaximumScatterGatherElements; 130 // PFN_WDFDMAENABLERSETMAXIMUMSCATTERGATHERELEMENTS pfnWdfDmaEnablerSetMaximumScatterGatherElements; 131 // PFN_WDFDMATRANSACTIONCREATE pfnWdfDmaTransactionCreate; 132 // PFN_WDFDMATRANSACTIONINITIALIZE pfnWdfDmaTransactionInitialize; 133 // PFN_WDFDMATRANSACTIONINITIALIZEUSINGREQUEST pfnWdfDmaTransactionInitializeUsingRequest; 134 // PFN_WDFDMATRANSACTIONEXECUTE pfnWdfDmaTransactionExecute; 135 // PFN_WDFDMATRANSACTIONRELEASE pfnWdfDmaTransactionRelease; 136 // PFN_WDFDMATRANSACTIONDMACOMPLETED pfnWdfDmaTransactionDmaCompleted; 137 // PFN_WDFDMATRANSACTIONDMACOMPLETEDWITHLENGTH pfnWdfDmaTransactionDmaCompletedWithLength; 138 // PFN_WDFDMATRANSACTIONDMACOMPLETEDFINAL pfnWdfDmaTransactionDmaCompletedFinal; 139 // PFN_WDFDMATRANSACTIONGETBYTESTRANSFERRED pfnWdfDmaTransactionGetBytesTransferred; 140 // PFN_WDFDMATRANSACTIONSETMAXIMUMLENGTH pfnWdfDmaTransactionSetMaximumLength; 141 // PFN_WDFDMATRANSACTIONGETREQUEST pfnWdfDmaTransactionGetRequest; 142 // PFN_WDFDMATRANSACTIONGETCURRENTDMATRANSFERLENGTH pfnWdfDmaTransactionGetCurrentDmaTransferLength; 143 // PFN_WDFDMATRANSACTIONGETDEVICE pfnWdfDmaTransactionGetDevice; 144 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerCreate; 145 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerGetMaximumLength; 146 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerGetMaximumScatterGatherElements; 147 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerSetMaximumScatterGatherElements; 148 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionCreate; 149 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionInitialize; 150 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionInitializeUsingRequest; 151 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionExecute; 152 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionRelease; 153 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionDmaCompleted; 154 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionDmaCompletedWithLength; 155 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionDmaCompletedFinal; 156 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetBytesTransferred; 157 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetMaximumLength; 158 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetRequest; 159 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetCurrentDmaTransferLength; 160 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetDevice; 161 162 PFN_WDFDPCCREATE pfnWdfDpcCreate; 163 PFN_WDFDPCENQUEUE pfnWdfDpcEnqueue; 164 PFN_WDFDPCCANCEL pfnWdfDpcCancel; 165 PFN_WDFDPCGETPARENTOBJECT pfnWdfDpcGetParentObject; 166 PFN_WDFDPCWDMGETDPC pfnWdfDpcWdmGetDpc; 167 PFN_WDFDRIVERCREATE pfnWdfDriverCreate; 168 PFN_WDFDRIVERGETREGISTRYPATH pfnWdfDriverGetRegistryPath; 169 PFN_WDFDRIVERWDMGETDRIVEROBJECT pfnWdfDriverWdmGetDriverObject; 170 PFN_WDFDRIVEROPENPARAMETERSREGISTRYKEY pfnWdfDriverOpenParametersRegistryKey; 171 PFN_WDFWDMDRIVERGETWDFDRIVERHANDLE pfnWdfWdmDriverGetWdfDriverHandle; 172 PFN_WDFDRIVERREGISTERTRACEINFO pfnWdfDriverRegisterTraceInfo; 173 PFN_WDFDRIVERRETRIEVEVERSIONSTRING pfnWdfDriverRetrieveVersionString; 174 PFN_WDFDRIVERISVERSIONAVAILABLE pfnWdfDriverIsVersionAvailable; 175 PFN_WDFFDOINITWDMGETPHYSICALDEVICE pfnWdfFdoInitWdmGetPhysicalDevice; 176 PFN_WDFFDOINITOPENREGISTRYKEY pfnWdfFdoInitOpenRegistryKey; 177 PFN_WDFFDOINITQUERYPROPERTY pfnWdfFdoInitQueryProperty; 178 PFN_WDFFDOINITALLOCANDQUERYPROPERTY pfnWdfFdoInitAllocAndQueryProperty; 179 PFN_WDFFDOINITSETEVENTCALLBACKS pfnWdfFdoInitSetEventCallbacks; 180 PFN_WDFFDOINITSETFILTER pfnWdfFdoInitSetFilter; 181 PFN_WDFFDOINITSETDEFAULTCHILDLISTCONFIG pfnWdfFdoInitSetDefaultChildListConfig; 182 PFN_WDFFDOQUERYFORINTERFACE pfnWdfFdoQueryForInterface; 183 PFN_WDFFDOGETDEFAULTCHILDLIST pfnWdfFdoGetDefaultChildList; 184 PFN_WDFFDOADDSTATICCHILD pfnWdfFdoAddStaticChild; 185 PFN_WDFFDOLOCKSTATICCHILDLISTFORITERATION pfnWdfFdoLockStaticChildListForIteration; 186 PFN_WDFFDORETRIEVENEXTSTATICCHILD pfnWdfFdoRetrieveNextStaticChild; 187 PFN_WDFFDOUNLOCKSTATICCHILDLISTFROMITERATION pfnWdfFdoUnlockStaticChildListFromIteration; 188 PFN_WDFFILEOBJECTGETFILENAME pfnWdfFileObjectGetFileName; 189 PFN_WDFFILEOBJECTGETFLAGS pfnWdfFileObjectGetFlags; 190 PFN_WDFFILEOBJECTGETDEVICE pfnWdfFileObjectGetDevice; 191 PFN_WDFFILEOBJECTWDMGETFILEOBJECT pfnWdfFileObjectWdmGetFileObject; 192 PFN_WDFINTERRUPTCREATE pfnWdfInterruptCreate; 193 PFN_WDFINTERRUPTQUEUEDPCFORISR pfnWdfInterruptQueueDpcForIsr; 194 PFN_WDFINTERRUPTSYNCHRONIZE pfnWdfInterruptSynchronize; 195 PFN_WDFINTERRUPTACQUIRELOCK pfnWdfInterruptAcquireLock; 196 PFN_WDFINTERRUPTRELEASELOCK pfnWdfInterruptReleaseLock; 197 PFN_WDFINTERRUPTENABLE pfnWdfInterruptEnable; 198 PFN_WDFINTERRUPTDISABLE pfnWdfInterruptDisable; 199 PFN_WDFINTERRUPTWDMGETINTERRUPT pfnWdfInterruptWdmGetInterrupt; 200 PFN_WDFINTERRUPTGETINFO pfnWdfInterruptGetInfo; 201 PFN_WDFINTERRUPTSETPOLICY pfnWdfInterruptSetPolicy; 202 PFN_WDFINTERRUPTGETDEVICE pfnWdfInterruptGetDevice; 203 PFN_WDFIOQUEUECREATE pfnWdfIoQueueCreate; 204 PFN_WDFIOQUEUEGETSTATE pfnWdfIoQueueGetState; 205 PFN_WDFIOQUEUESTART pfnWdfIoQueueStart; 206 PFN_WDFIOQUEUESTOP pfnWdfIoQueueStop; 207 PFN_WDFIOQUEUESTOPSYNCHRONOUSLY pfnWdfIoQueueStopSynchronously; 208 PFN_WDFIOQUEUEGETDEVICE pfnWdfIoQueueGetDevice; 209 PFN_WDFIOQUEUERETRIEVENEXTREQUEST pfnWdfIoQueueRetrieveNextRequest; 210 PFN_WDFIOQUEUERETRIEVEREQUESTBYFILEOBJECT pfnWdfIoQueueRetrieveRequestByFileObject; 211 PFN_WDFIOQUEUEFINDREQUEST pfnWdfIoQueueFindRequest; 212 PFN_WDFIOQUEUERETRIEVEFOUNDREQUEST pfnWdfIoQueueRetrieveFoundRequest; 213 PFN_WDFIOQUEUEDRAINSYNCHRONOUSLY pfnWdfIoQueueDrainSynchronously; 214 PFN_WDFIOQUEUEDRAIN pfnWdfIoQueueDrain; 215 PFN_WDFIOQUEUEPURGESYNCHRONOUSLY pfnWdfIoQueuePurgeSynchronously; 216 PFN_WDFIOQUEUEPURGE pfnWdfIoQueuePurge; 217 PFN_WDFIOQUEUEREADYNOTIFY pfnWdfIoQueueReadyNotify; 218 PFN_WDFIOTARGETCREATE pfnWdfIoTargetCreate; 219 PFN_WDFIOTARGETOPEN pfnWdfIoTargetOpen; 220 PFN_WDFIOTARGETCLOSEFORQUERYREMOVE pfnWdfIoTargetCloseForQueryRemove; 221 PFN_WDFIOTARGETCLOSE pfnWdfIoTargetClose; 222 PFN_WDFIOTARGETSTART pfnWdfIoTargetStart; 223 PFN_WDFIOTARGETSTOP pfnWdfIoTargetStop; 224 PFN_WDFIOTARGETGETSTATE pfnWdfIoTargetGetState; 225 PFN_WDFIOTARGETGETDEVICE pfnWdfIoTargetGetDevice; 226 PFN_WDFIOTARGETQUERYTARGETPROPERTY pfnWdfIoTargetQueryTargetProperty; 227 PFN_WDFIOTARGETALLOCANDQUERYTARGETPROPERTY pfnWdfIoTargetAllocAndQueryTargetProperty; 228 PFN_WDFIOTARGETQUERYFORINTERFACE pfnWdfIoTargetQueryForInterface; 229 PFN_WDFIOTARGETWDMGETTARGETDEVICEOBJECT pfnWdfIoTargetWdmGetTargetDeviceObject; 230 PFN_WDFIOTARGETWDMGETTARGETPHYSICALDEVICE pfnWdfIoTargetWdmGetTargetPhysicalDevice; 231 PFN_WDFIOTARGETWDMGETTARGETFILEOBJECT pfnWdfIoTargetWdmGetTargetFileObject; 232 PFN_WDFIOTARGETWDMGETTARGETFILEHANDLE pfnWdfIoTargetWdmGetTargetFileHandle; 233 PFN_WDFIOTARGETSENDREADSYNCHRONOUSLY pfnWdfIoTargetSendReadSynchronously; 234 PFN_WDFIOTARGETFORMATREQUESTFORREAD pfnWdfIoTargetFormatRequestForRead; 235 PFN_WDFIOTARGETSENDWRITESYNCHRONOUSLY pfnWdfIoTargetSendWriteSynchronously; 236 PFN_WDFIOTARGETFORMATREQUESTFORWRITE pfnWdfIoTargetFormatRequestForWrite; 237 PFN_WDFIOTARGETSENDIOCTLSYNCHRONOUSLY pfnWdfIoTargetSendIoctlSynchronously; 238 PFN_WDFIOTARGETFORMATREQUESTFORIOCTL pfnWdfIoTargetFormatRequestForIoctl; 239 PFN_WDFIOTARGETSENDINTERNALIOCTLSYNCHRONOUSLY pfnWdfIoTargetSendInternalIoctlSynchronously; 240 PFN_WDFIOTARGETFORMATREQUESTFORINTERNALIOCTL pfnWdfIoTargetFormatRequestForInternalIoctl; 241 PFN_WDFIOTARGETSENDINTERNALIOCTLOTHERSSYNCHRONOUSLY pfnWdfIoTargetSendInternalIoctlOthersSynchronously; 242 PFN_WDFIOTARGETFORMATREQUESTFORINTERNALIOCTLOTHERS pfnWdfIoTargetFormatRequestForInternalIoctlOthers; 243 PFN_WDFMEMORYCREATE pfnWdfMemoryCreate; 244 PFN_WDFMEMORYCREATEPREALLOCATED pfnWdfMemoryCreatePreallocated; 245 PFN_WDFMEMORYGETBUFFER pfnWdfMemoryGetBuffer; 246 PFN_WDFMEMORYASSIGNBUFFER pfnWdfMemoryAssignBuffer; 247 PFN_WDFMEMORYCOPYTOBUFFER pfnWdfMemoryCopyToBuffer; 248 PFN_WDFMEMORYCOPYFROMBUFFER pfnWdfMemoryCopyFromBuffer; 249 PFN_WDFLOOKASIDELISTCREATE pfnWdfLookasideListCreate; 250 PFN_WDFMEMORYCREATEFROMLOOKASIDE pfnWdfMemoryCreateFromLookaside; 251 PFN_WDFDEVICEMINIPORTCREATE pfnWdfDeviceMiniportCreate; 252 PFN_WDFDRIVERMINIPORTUNLOAD pfnWdfDriverMiniportUnload; 253 PFN_WDFOBJECTGETTYPEDCONTEXTWORKER pfnWdfObjectGetTypedContextWorker; 254 PFN_WDFOBJECTALLOCATECONTEXT pfnWdfObjectAllocateContext; 255 PFN_WDFOBJECTCONTEXTGETOBJECT pfnWdfObjectContextGetObject; 256 PFN_WDFOBJECTREFERENCEACTUAL pfnWdfObjectReferenceActual; 257 PFN_WDFOBJECTDEREFERENCEACTUAL pfnWdfObjectDereferenceActual; 258 PFN_WDFOBJECTCREATE pfnWdfObjectCreate; 259 PFN_WDFOBJECTDELETE pfnWdfObjectDelete; 260 PFN_WDFOBJECTQUERY pfnWdfObjectQuery; 261 PFN_WDFPDOINITALLOCATE pfnWdfPdoInitAllocate; 262 PFN_WDFPDOINITSETEVENTCALLBACKS pfnWdfPdoInitSetEventCallbacks; 263 PFN_WDFPDOINITASSIGNDEVICEID pfnWdfPdoInitAssignDeviceID; 264 PFN_WDFPDOINITASSIGNINSTANCEID pfnWdfPdoInitAssignInstanceID; 265 PFN_WDFPDOINITADDHARDWAREID pfnWdfPdoInitAddHardwareID; 266 PFN_WDFPDOINITADDCOMPATIBLEID pfnWdfPdoInitAddCompatibleID; 267 PFN_WDFPDOINITADDDEVICETEXT pfnWdfPdoInitAddDeviceText; 268 PFN_WDFPDOINITSETDEFAULTLOCALE pfnWdfPdoInitSetDefaultLocale; 269 PFN_WDFPDOINITASSIGNRAWDEVICE pfnWdfPdoInitAssignRawDevice; 270 PFN_WDFPDOMARKMISSING pfnWdfPdoMarkMissing; 271 PFN_WDFPDOREQUESTEJECT pfnWdfPdoRequestEject; 272 PFN_WDFPDOGETPARENT pfnWdfPdoGetParent; 273 PFN_WDFPDORETRIEVEIDENTIFICATIONDESCRIPTION pfnWdfPdoRetrieveIdentificationDescription; 274 PFN_WDFPDORETRIEVEADDRESSDESCRIPTION pfnWdfPdoRetrieveAddressDescription; 275 PFN_WDFPDOUPDATEADDRESSDESCRIPTION pfnWdfPdoUpdateAddressDescription; 276 PFN_WDFPDOADDEJECTIONRELATIONSPHYSICALDEVICE pfnWdfPdoAddEjectionRelationsPhysicalDevice; 277 PFN_WDFPDOREMOVEEJECTIONRELATIONSPHYSICALDEVICE pfnWdfPdoRemoveEjectionRelationsPhysicalDevice; 278 PFN_WDFPDOCLEAREJECTIONRELATIONSDEVICES pfnWdfPdoClearEjectionRelationsDevices; 279 PFN_WDFDEVICEADDQUERYINTERFACE pfnWdfDeviceAddQueryInterface; 280 PFN_WDFREGISTRYOPENKEY pfnWdfRegistryOpenKey; 281 PFN_WDFREGISTRYCREATEKEY pfnWdfRegistryCreateKey; 282 PFN_WDFREGISTRYCLOSE pfnWdfRegistryClose; 283 PFN_WDFREGISTRYWDMGETHANDLE pfnWdfRegistryWdmGetHandle; 284 PFN_WDFREGISTRYREMOVEKEY pfnWdfRegistryRemoveKey; 285 PFN_WDFREGISTRYREMOVEVALUE pfnWdfRegistryRemoveValue; 286 PFN_WDFREGISTRYQUERYVALUE pfnWdfRegistryQueryValue; 287 PFN_WDFREGISTRYQUERYMEMORY pfnWdfRegistryQueryMemory; 288 PFN_WDFREGISTRYQUERYMULTISTRING pfnWdfRegistryQueryMultiString; 289 PFN_WDFREGISTRYQUERYUNICODESTRING pfnWdfRegistryQueryUnicodeString; 290 PFN_WDFREGISTRYQUERYSTRING pfnWdfRegistryQueryString; 291 PFN_WDFREGISTRYQUERYULONG pfnWdfRegistryQueryULong; 292 PFN_WDFREGISTRYASSIGNVALUE pfnWdfRegistryAssignValue; 293 PFN_WDFREGISTRYASSIGNMEMORY pfnWdfRegistryAssignMemory; 294 PFN_WDFREGISTRYASSIGNMULTISTRING pfnWdfRegistryAssignMultiString; 295 PFN_WDFREGISTRYASSIGNUNICODESTRING pfnWdfRegistryAssignUnicodeString; 296 PFN_WDFREGISTRYASSIGNSTRING pfnWdfRegistryAssignString; 297 PFN_WDFREGISTRYASSIGNULONG pfnWdfRegistryAssignULong; 298 PFN_WDFREQUESTCREATE pfnWdfRequestCreate; 299 PFN_WDFREQUESTCREATEFROMIRP pfnWdfRequestCreateFromIrp; 300 PFN_WDFREQUESTREUSE pfnWdfRequestReuse; 301 PFN_WDFREQUESTCHANGETARGET pfnWdfRequestChangeTarget; 302 PFN_WDFREQUESTFORMATREQUESTUSINGCURRENTTYPE pfnWdfRequestFormatRequestUsingCurrentType; 303 PFN_WDFREQUESTWDMFORMATUSINGSTACKLOCATION pfnWdfRequestWdmFormatUsingStackLocation; 304 PFN_WDFREQUESTSEND pfnWdfRequestSend; 305 PFN_WDFREQUESTGETSTATUS pfnWdfRequestGetStatus; 306 PFN_WDFREQUESTMARKCANCELABLE pfnWdfRequestMarkCancelable; 307 PFN_WDFREQUESTUNMARKCANCELABLE pfnWdfRequestUnmarkCancelable; 308 PFN_WDFREQUESTISCANCELED pfnWdfRequestIsCanceled; 309 PFN_WDFREQUESTCANCELSENTREQUEST pfnWdfRequestCancelSentRequest; 310 PFN_WDFREQUESTISFROM32BITPROCESS pfnWdfRequestIsFrom32BitProcess; 311 PFN_WDFREQUESTSETCOMPLETIONROUTINE pfnWdfRequestSetCompletionRoutine; 312 PFN_WDFREQUESTGETCOMPLETIONPARAMS pfnWdfRequestGetCompletionParams; 313 PFN_WDFREQUESTALLOCATETIMER pfnWdfRequestAllocateTimer; 314 PFN_WDFREQUESTCOMPLETE pfnWdfRequestComplete; 315 PFN_WDFREQUESTCOMPLETEWITHPRIORITYBOOST pfnWdfRequestCompleteWithPriorityBoost; 316 PFN_WDFREQUESTCOMPLETEWITHINFORMATION pfnWdfRequestCompleteWithInformation; 317 PFN_WDFREQUESTGETPARAMETERS pfnWdfRequestGetParameters; 318 PFN_WDFREQUESTRETRIEVEINPUTMEMORY pfnWdfRequestRetrieveInputMemory; 319 PFN_WDFREQUESTRETRIEVEOUTPUTMEMORY pfnWdfRequestRetrieveOutputMemory; 320 PFN_WDFREQUESTRETRIEVEINPUTBUFFER pfnWdfRequestRetrieveInputBuffer; 321 PFN_WDFREQUESTRETRIEVEOUTPUTBUFFER pfnWdfRequestRetrieveOutputBuffer; 322 PFN_WDFREQUESTRETRIEVEINPUTWDMMDL pfnWdfRequestRetrieveInputWdmMdl; 323 PFN_WDFREQUESTRETRIEVEOUTPUTWDMMDL pfnWdfRequestRetrieveOutputWdmMdl; 324 PFN_WDFREQUESTRETRIEVEUNSAFEUSERINPUTBUFFER pfnWdfRequestRetrieveUnsafeUserInputBuffer; 325 PFN_WDFREQUESTRETRIEVEUNSAFEUSEROUTPUTBUFFER pfnWdfRequestRetrieveUnsafeUserOutputBuffer; 326 PFN_WDFREQUESTSETINFORMATION pfnWdfRequestSetInformation; 327 PFN_WDFREQUESTGETINFORMATION pfnWdfRequestGetInformation; 328 PFN_WDFREQUESTGETFILEOBJECT pfnWdfRequestGetFileObject; 329 PFN_WDFREQUESTPROBEANDLOCKUSERBUFFERFORREAD pfnWdfRequestProbeAndLockUserBufferForRead; 330 PFN_WDFREQUESTPROBEANDLOCKUSERBUFFERFORWRITE pfnWdfRequestProbeAndLockUserBufferForWrite; 331 PFN_WDFREQUESTGETREQUESTORMODE pfnWdfRequestGetRequestorMode; 332 PFN_WDFREQUESTFORWARDTOIOQUEUE pfnWdfRequestForwardToIoQueue; 333 PFN_WDFREQUESTGETIOQUEUE pfnWdfRequestGetIoQueue; 334 PFN_WDFREQUESTREQUEUE pfnWdfRequestRequeue; 335 PFN_WDFREQUESTSTOPACKNOWLEDGE pfnWdfRequestStopAcknowledge; 336 PFN_WDFREQUESTWDMGETIRP pfnWdfRequestWdmGetIrp; 337 PFN_WDFIORESOURCEREQUIREMENTSLISTSETSLOTNUMBER pfnWdfIoResourceRequirementsListSetSlotNumber; 338 PFN_WDFIORESOURCEREQUIREMENTSLISTSETINTERFACETYPE pfnWdfIoResourceRequirementsListSetInterfaceType; 339 PFN_WDFIORESOURCEREQUIREMENTSLISTAPPENDIORESLIST pfnWdfIoResourceRequirementsListAppendIoResList; 340 PFN_WDFIORESOURCEREQUIREMENTSLISTINSERTIORESLIST pfnWdfIoResourceRequirementsListInsertIoResList; 341 PFN_WDFIORESOURCEREQUIREMENTSLISTGETCOUNT pfnWdfIoResourceRequirementsListGetCount; 342 PFN_WDFIORESOURCEREQUIREMENTSLISTGETIORESLIST pfnWdfIoResourceRequirementsListGetIoResList; 343 PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVE pfnWdfIoResourceRequirementsListRemove; 344 PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVEBYIORESLIST pfnWdfIoResourceRequirementsListRemoveByIoResList; 345 PFN_WDFIORESOURCELISTCREATE pfnWdfIoResourceListCreate; 346 PFN_WDFIORESOURCELISTAPPENDDESCRIPTOR pfnWdfIoResourceListAppendDescriptor; 347 PFN_WDFIORESOURCELISTINSERTDESCRIPTOR pfnWdfIoResourceListInsertDescriptor; 348 PFN_WDFIORESOURCELISTUPDATEDESCRIPTOR pfnWdfIoResourceListUpdateDescriptor; 349 PFN_WDFIORESOURCELISTGETCOUNT pfnWdfIoResourceListGetCount; 350 PFN_WDFIORESOURCELISTGETDESCRIPTOR pfnWdfIoResourceListGetDescriptor; 351 PFN_WDFIORESOURCELISTREMOVE pfnWdfIoResourceListRemove; 352 PFN_WDFIORESOURCELISTREMOVEBYDESCRIPTOR pfnWdfIoResourceListRemoveByDescriptor; 353 PFN_WDFCMRESOURCELISTAPPENDDESCRIPTOR pfnWdfCmResourceListAppendDescriptor; 354 PFN_WDFCMRESOURCELISTINSERTDESCRIPTOR pfnWdfCmResourceListInsertDescriptor; 355 PFN_WDFCMRESOURCELISTGETCOUNT pfnWdfCmResourceListGetCount; 356 PFN_WDFCMRESOURCELISTGETDESCRIPTOR pfnWdfCmResourceListGetDescriptor; 357 PFN_WDFCMRESOURCELISTREMOVE pfnWdfCmResourceListRemove; 358 PFN_WDFCMRESOURCELISTREMOVEBYDESCRIPTOR pfnWdfCmResourceListRemoveByDescriptor; 359 PFN_WDFSTRINGCREATE pfnWdfStringCreate; 360 PFN_WDFSTRINGGETUNICODESTRING pfnWdfStringGetUnicodeString; 361 PFN_WDFOBJECTACQUIRELOCK pfnWdfObjectAcquireLock; 362 PFN_WDFOBJECTRELEASELOCK pfnWdfObjectReleaseLock; 363 PFN_WDFWAITLOCKCREATE pfnWdfWaitLockCreate; 364 PFN_WDFWAITLOCKACQUIRE pfnWdfWaitLockAcquire; 365 PFN_WDFWAITLOCKRELEASE pfnWdfWaitLockRelease; 366 PFN_WDFSPINLOCKCREATE pfnWdfSpinLockCreate; 367 PFN_WDFSPINLOCKACQUIRE pfnWdfSpinLockAcquire; 368 PFN_WDFSPINLOCKRELEASE pfnWdfSpinLockRelease; 369 PFN_WDFTIMERCREATE pfnWdfTimerCreate; 370 PFN_WDFTIMERSTART pfnWdfTimerStart; 371 PFN_WDFTIMERSTOP pfnWdfTimerStop; 372 PFN_WDFTIMERGETPARENTOBJECT pfnWdfTimerGetParentObject; 373 // PFN_WDFUSBTARGETDEVICECREATE pfnWdfUsbTargetDeviceCreate; 374 // PFN_WDFUSBTARGETDEVICERETRIEVEINFORMATION pfnWdfUsbTargetDeviceRetrieveInformation; 375 // PFN_WDFUSBTARGETDEVICEGETDEVICEDESCRIPTOR pfnWdfUsbTargetDeviceGetDeviceDescriptor; 376 // PFN_WDFUSBTARGETDEVICERETRIEVECONFIGDESCRIPTOR pfnWdfUsbTargetDeviceRetrieveConfigDescriptor; 377 // PFN_WDFUSBTARGETDEVICEQUERYSTRING pfnWdfUsbTargetDeviceQueryString; 378 // PFN_WDFUSBTARGETDEVICEALLOCANDQUERYSTRING pfnWdfUsbTargetDeviceAllocAndQueryString; 379 // PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORSTRING pfnWdfUsbTargetDeviceFormatRequestForString; 380 // PFN_WDFUSBTARGETDEVICEGETNUMINTERFACES pfnWdfUsbTargetDeviceGetNumInterfaces; 381 // PFN_WDFUSBTARGETDEVICESELECTCONFIG pfnWdfUsbTargetDeviceSelectConfig; 382 // PFN_WDFUSBTARGETDEVICEWDMGETCONFIGURATIONHANDLE pfnWdfUsbTargetDeviceWdmGetConfigurationHandle; 383 // PFN_WDFUSBTARGETDEVICERETRIEVECURRENTFRAMENUMBER pfnWdfUsbTargetDeviceRetrieveCurrentFrameNumber; 384 // PFN_WDFUSBTARGETDEVICESENDCONTROLTRANSFERSYNCHRONOUSLY pfnWdfUsbTargetDeviceSendControlTransferSynchronously; 385 // PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCONTROLTRANSFER pfnWdfUsbTargetDeviceFormatRequestForControlTransfer; 386 // PFN_WDFUSBTARGETDEVICEISCONNECTEDSYNCHRONOUS pfnWdfUsbTargetDeviceIsConnectedSynchronous; 387 // PFN_WDFUSBTARGETDEVICERESETPORTSYNCHRONOUSLY pfnWdfUsbTargetDeviceResetPortSynchronously; 388 // PFN_WDFUSBTARGETDEVICECYCLEPORTSYNCHRONOUSLY pfnWdfUsbTargetDeviceCyclePortSynchronously; 389 // PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCYCLEPORT pfnWdfUsbTargetDeviceFormatRequestForCyclePort; 390 // PFN_WDFUSBTARGETDEVICESENDURBSYNCHRONOUSLY pfnWdfUsbTargetDeviceSendUrbSynchronously; 391 // PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORURB pfnWdfUsbTargetDeviceFormatRequestForUrb; 392 // PFN_WDFUSBTARGETPIPEGETINFORMATION pfnWdfUsbTargetPipeGetInformation; 393 // PFN_WDFUSBTARGETPIPEISINENDPOINT pfnWdfUsbTargetPipeIsInEndpoint; 394 // PFN_WDFUSBTARGETPIPEISOUTENDPOINT pfnWdfUsbTargetPipeIsOutEndpoint; 395 // PFN_WDFUSBTARGETPIPEGETTYPE pfnWdfUsbTargetPipeGetType; 396 // PFN_WDFUSBTARGETPIPESETNOMAXIMUMPACKETSIZECHECK pfnWdfUsbTargetPipeSetNoMaximumPacketSizeCheck; 397 // PFN_WDFUSBTARGETPIPEWRITESYNCHRONOUSLY pfnWdfUsbTargetPipeWriteSynchronously; 398 // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORWRITE pfnWdfUsbTargetPipeFormatRequestForWrite; 399 // PFN_WDFUSBTARGETPIPEREADSYNCHRONOUSLY pfnWdfUsbTargetPipeReadSynchronously; 400 // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORREAD pfnWdfUsbTargetPipeFormatRequestForRead; 401 // PFN_WDFUSBTARGETPIPECONFIGCONTINUOUSREADER pfnWdfUsbTargetPipeConfigContinuousReader; 402 // PFN_WDFUSBTARGETPIPEABORTSYNCHRONOUSLY pfnWdfUsbTargetPipeAbortSynchronously; 403 // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORABORT pfnWdfUsbTargetPipeFormatRequestForAbort; 404 // PFN_WDFUSBTARGETPIPERESETSYNCHRONOUSLY pfnWdfUsbTargetPipeResetSynchronously; 405 // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORRESET pfnWdfUsbTargetPipeFormatRequestForReset; 406 // PFN_WDFUSBTARGETPIPESENDURBSYNCHRONOUSLY pfnWdfUsbTargetPipeSendUrbSynchronously; 407 // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORURB pfnWdfUsbTargetPipeFormatRequestForUrb; 408 // PFN_WDFUSBINTERFACEGETINTERFACENUMBER pfnWdfUsbInterfaceGetInterfaceNumber; 409 // PFN_WDFUSBINTERFACEGETNUMENDPOINTS pfnWdfUsbInterfaceGetNumEndpoints; 410 // PFN_WDFUSBINTERFACEGETDESCRIPTOR pfnWdfUsbInterfaceGetDescriptor; 411 // PFN_WDFUSBINTERFACESELECTSETTING pfnWdfUsbInterfaceSelectSetting; 412 // PFN_WDFUSBINTERFACEGETENDPOINTINFORMATION pfnWdfUsbInterfaceGetEndpointInformation; 413 // PFN_WDFUSBTARGETDEVICEGETINTERFACE pfnWdfUsbTargetDeviceGetInterface; 414 // PFN_WDFUSBINTERFACEGETCONFIGUREDSETTINGINDEX pfnWdfUsbInterfaceGetConfiguredSettingIndex; 415 // PFN_WDFUSBINTERFACEGETNUMCONFIGUREDPIPES pfnWdfUsbInterfaceGetNumConfiguredPipes; 416 // PFN_WDFUSBINTERFACEGETCONFIGUREDPIPE pfnWdfUsbInterfaceGetConfiguredPipe; 417 // PFN_WDFUSBTARGETPIPEWDMGETPIPEHANDLE pfnWdfUsbTargetPipeWdmGetPipeHandle; 418 // PFN_WDFVERIFIERDBGBREAKPOINT pfnWdfVerifierDbgBreakPoint; 419 // PFN_WDFVERIFIERKEBUGCHECK pfnWdfVerifierKeBugCheck; 420 // PFN_WDFWMIPROVIDERCREATE pfnWdfWmiProviderCreate; 421 // PFN_WDFWMIPROVIDERGETDEVICE pfnWdfWmiProviderGetDevice; 422 // PFN_WDFWMIPROVIDERISENABLED pfnWdfWmiProviderIsEnabled; 423 // PFN_WDFWMIPROVIDERGETTRACINGHANDLE pfnWdfWmiProviderGetTracingHandle; 424 // PFN_WDFWMIINSTANCECREATE pfnWdfWmiInstanceCreate; 425 // PFN_WDFWMIINSTANCEREGISTER pfnWdfWmiInstanceRegister; 426 // PFN_WDFWMIINSTANCEDEREGISTER pfnWdfWmiInstanceDeregister; 427 // PFN_WDFWMIINSTANCEGETDEVICE pfnWdfWmiInstanceGetDevice; 428 // PFN_WDFWMIINSTANCEGETPROVIDER pfnWdfWmiInstanceGetProvider; 429 // PFN_WDFWMIINSTANCEFIREEVENT pfnWdfWmiInstanceFireEvent; 430 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreate; 431 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceRetrieveInformation; 432 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceGetDeviceDescriptor; 433 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceRetrieveConfigDescriptor; 434 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceQueryString; 435 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceAllocAndQueryString; 436 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceFormatRequestForString; 437 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceGetNumInterfaces; 438 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceSelectConfig; 439 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceWdmGetConfigurationHandle; 440 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceRetrieveCurrentFrameNumber; 441 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceSendControlTransferSynchronously; 442 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceFormatRequestForControlTransfer; 443 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceIsConnectedSynchronous; 444 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceResetPortSynchronously; 445 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCyclePortSynchronously; 446 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceFormatRequestForCyclePort; 447 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceSendUrbSynchronously; 448 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceFormatRequestForUrb; 449 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeGetInformation; 450 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeIsInEndpoint; 451 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeIsOutEndpoint; 452 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeGetType; 453 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeSetNoMaximumPacketSizeCheck; 454 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeWriteSynchronously; 455 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForWrite; 456 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeReadSynchronously; 457 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForRead; 458 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeConfigContinuousReader; 459 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeAbortSynchronously; 460 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForAbort; 461 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeResetSynchronously; 462 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForReset; 463 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeSendUrbSynchronously; 464 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeFormatRequestForUrb; 465 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetInterfaceNumber; 466 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetNumEndpoints; 467 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetDescriptor; 468 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceSelectSetting; 469 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetEndpointInformation; 470 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceGetInterface; 471 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetConfiguredSettingIndex; 472 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetNumConfiguredPipes; 473 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetConfiguredPipe; 474 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetPipeWdmGetPipeHandle; 475 PFN_ROSWDFUNIMPLEMENTED pfnWdfVerifierDbgBreakPoint; 476 PFN_ROSWDFUNIMPLEMENTED pfnWdfVerifierKeBugCheck; 477 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiProviderCreate; 478 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiProviderGetDevice; 479 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiProviderIsEnabled; 480 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiProviderGetTracingHandle; 481 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceCreate; 482 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceRegister; 483 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceDeregister; 484 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceGetDevice; 485 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceGetProvider; 486 PFN_ROSWDFUNIMPLEMENTED pfnWdfWmiInstanceFireEvent; 487 488 PFN_WDFWORKITEMCREATE pfnWdfWorkItemCreate; 489 PFN_WDFWORKITEMENQUEUE pfnWdfWorkItemEnqueue; 490 PFN_WDFWORKITEMGETPARENTOBJECT pfnWdfWorkItemGetParentObject; 491 PFN_WDFWORKITEMFLUSH pfnWdfWorkItemFlush; 492 // PFN_WDFCOMMONBUFFERCREATEWITHCONFIG pfnWdfCommonBufferCreateWithConfig; 493 // PFN_WDFDMAENABLERGETFRAGMENTLENGTH pfnWdfDmaEnablerGetFragmentLength; 494 // PFN_WDFDMAENABLERWDMGETDMAADAPTER pfnWdfDmaEnablerWdmGetDmaAdapter; 495 // PFN_WDFUSBINTERFACEGETNUMSETTINGS pfnWdfUsbInterfaceGetNumSettings; 496 PFN_ROSWDFUNIMPLEMENTED pfnWdfCommonBufferCreateWithConfig; 497 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerGetFragmentLength; 498 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerWdmGetDmaAdapter; 499 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbInterfaceGetNumSettings; 500 501 PFN_WDFDEVICEREMOVEDEPENDENTUSAGEDEVICEOBJECT pfnWdfDeviceRemoveDependentUsageDeviceObject; 502 PFN_WDFDEVICEGETSYSTEMPOWERACTION pfnWdfDeviceGetSystemPowerAction; 503 PFN_WDFINTERRUPTSETEXTENDEDPOLICY pfnWdfInterruptSetExtendedPolicy; 504 PFN_WDFIOQUEUEASSIGNFORWARDPROGRESSPOLICY pfnWdfIoQueueAssignForwardProgressPolicy; 505 PFN_WDFPDOINITASSIGNCONTAINERID pfnWdfPdoInitAssignContainerID; 506 PFN_WDFPDOINITALLOWFORWARDINGREQUESTTOPARENT pfnWdfPdoInitAllowForwardingRequestToParent; 507 PFN_WDFREQUESTMARKCANCELABLEEX pfnWdfRequestMarkCancelableEx; 508 PFN_WDFREQUESTISRESERVED pfnWdfRequestIsReserved; 509 PFN_WDFREQUESTFORWARDTOPARENTDEVICEIOQUEUE pfnWdfRequestForwardToParentDeviceIoQueue; 510 // PFN_WDFCXDEVICEINITALLOCATE pfnWdfCxDeviceInitAllocate; 511 // PFN_WDFCXDEVICEINITASSIGNWDMIRPPREPROCESSCALLBACK pfnWdfCxDeviceInitAssignWdmIrpPreprocessCallback; 512 // PFN_WDFCXDEVICEINITSETIOINCALLERCONTEXTCALLBACK pfnWdfCxDeviceInitSetIoInCallerContextCallback; 513 // PFN_WDFCXDEVICEINITSETREQUESTATTRIBUTES pfnWdfCxDeviceInitSetRequestAttributes; 514 // PFN_WDFCXDEVICEINITSETFILEOBJECTCONFIG pfnWdfCxDeviceInitSetFileObjectConfig; 515 PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitAllocate; 516 PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitAssignWdmIrpPreprocessCallback; 517 PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitSetIoInCallerContextCallback; 518 PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitSetRequestAttributes; 519 PFN_ROSWDFUNIMPLEMENTED pfnWdfCxDeviceInitSetFileObjectConfig; 520 521 PFN_WDFDEVICEWDMDISPATCHIRP pfnWdfDeviceWdmDispatchIrp; 522 PFN_WDFDEVICEWDMDISPATCHIRPTOIOQUEUE pfnWdfDeviceWdmDispatchIrpToIoQueue; 523 PFN_WDFDEVICEINITSETREMOVELOCKOPTIONS pfnWdfDeviceInitSetRemoveLockOptions; 524 PFN_WDFDEVICECONFIGUREWDMIRPDISPATCHCALLBACK pfnWdfDeviceConfigureWdmIrpDispatchCallback; 525 // PFN_WDFDMAENABLERCONFIGURESYSTEMPROFILE pfnWdfDmaEnablerConfigureSystemProfile; 526 // PFN_WDFDMATRANSACTIONINITIALIZEUSINGOFFSET pfnWdfDmaTransactionInitializeUsingOffset; 527 // PFN_WDFDMATRANSACTIONGETTRANSFERINFO pfnWdfDmaTransactionGetTransferInfo; 528 // PFN_WDFDMATRANSACTIONSETCHANNELCONFIGURATIONCALLBACK pfnWdfDmaTransactionSetChannelConfigurationCallback; 529 // PFN_WDFDMATRANSACTIONSETTRANSFERCOMPLETECALLBACK pfnWdfDmaTransactionSetTransferCompleteCallback; 530 // PFN_WDFDMATRANSACTIONSETIMMEDIATEEXECUTION pfnWdfDmaTransactionSetImmediateExecution; 531 // PFN_WDFDMATRANSACTIONALLOCATERESOURCES pfnWdfDmaTransactionAllocateResources; 532 // PFN_WDFDMATRANSACTIONSETDEVICEADDRESSOFFSET pfnWdfDmaTransactionSetDeviceAddressOffset; 533 // PFN_WDFDMATRANSACTIONFREERESOURCES pfnWdfDmaTransactionFreeResources; 534 // PFN_WDFDMATRANSACTIONCANCEL pfnWdfDmaTransactionCancel; 535 // PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT pfnWdfDmaTransactionWdmGetTransferContext; 536 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerConfigureSystemProfile; 537 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionInitializeUsingOffset; 538 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetTransferInfo; 539 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetChannelConfigurationCallback; 540 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetTransferCompleteCallback; 541 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetImmediateExecution; 542 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionAllocateResources; 543 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionSetDeviceAddressOffset; 544 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionFreeResources; 545 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionCancel; 546 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionWdmGetTransferContext; 547 548 PFN_WDFINTERRUPTQUEUEWORKITEMFORISR pfnWdfInterruptQueueWorkItemForIsr; 549 PFN_WDFINTERRUPTTRYTOACQUIRELOCK pfnWdfInterruptTryToAcquireLock; 550 PFN_WDFIOQUEUESTOPANDPURGE pfnWdfIoQueueStopAndPurge; 551 PFN_WDFIOQUEUESTOPANDPURGESYNCHRONOUSLY pfnWdfIoQueueStopAndPurgeSynchronously; 552 PFN_WDFIOTARGETPURGE pfnWdfIoTargetPurge; 553 // PFN_WDFUSBTARGETDEVICECREATEWITHPARAMETERS pfnWdfUsbTargetDeviceCreateWithParameters; 554 // PFN_WDFUSBTARGETDEVICEQUERYUSBCAPABILITY pfnWdfUsbTargetDeviceQueryUsbCapability; 555 // PFN_WDFUSBTARGETDEVICECREATEURB pfnWdfUsbTargetDeviceCreateUrb; 556 // PFN_WDFUSBTARGETDEVICECREATEISOCHURB pfnWdfUsbTargetDeviceCreateIsochUrb; 557 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreateWithParameters; 558 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceQueryUsbCapability; 559 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreateUrb; 560 PFN_ROSWDFUNIMPLEMENTED pfnWdfUsbTargetDeviceCreateIsochUrb; 561 562 PFN_WDFDEVICEWDMASSIGNPOWERFRAMEWORKSETTINGS pfnWdfDeviceWdmAssignPowerFrameworkSettings; 563 // PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER pfnWdfDmaTransactionStopSystemTransfer; 564 // PFN_WDFCXVERIFIERKEBUGCHECK pfnWdfCxVerifierKeBugCheck; 565 PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionStopSystemTransfer; 566 PFN_ROSWDFUNIMPLEMENTED pfnWdfCxVerifierKeBugCheck; 567 568 PFN_WDFINTERRUPTREPORTACTIVE pfnWdfInterruptReportActive; 569 PFN_WDFINTERRUPTREPORTINACTIVE pfnWdfInterruptReportInactive; 570 PFN_WDFDEVICEINITSETRELEASEHARDWAREORDERONFAILURE pfnWdfDeviceInitSetReleaseHardwareOrderOnFailure; 571 // PFN_WDFGETTRIAGEINFO pfnWdfGetTriageInfo; 572 PFN_ROSWDFUNIMPLEMENTED pfnWdfGetTriageInfo; 573 574 PFN_WDFDEVICEINITSETIOTYPEEX pfnWdfDeviceInitSetIoTypeEx; 575 PFN_WDFDEVICEQUERYPROPERTYEX pfnWdfDeviceQueryPropertyEx; 576 PFN_WDFDEVICEALLOCANDQUERYPROPERTYEX pfnWdfDeviceAllocAndQueryPropertyEx; 577 PFN_WDFDEVICEASSIGNPROPERTY pfnWdfDeviceAssignProperty; 578 PFN_WDFFDOINITQUERYPROPERTYEX pfnWdfFdoInitQueryPropertyEx; 579 PFN_WDFFDOINITALLOCANDQUERYPROPERTYEX pfnWdfFdoInitAllocAndQueryPropertyEx; 580 PFN_WDFDEVICESTOPIDLEACTUAL pfnWdfDeviceStopIdleActual; 581 PFN_WDFDEVICERESUMEIDLEACTUAL pfnWdfDeviceResumeIdleActual; 582 PFN_WDFDEVICEGETSELFIOTARGET pfnWdfDeviceGetSelfIoTarget; 583 PFN_WDFDEVICEINITALLOWSELFIOTARGET pfnWdfDeviceInitAllowSelfIoTarget; 584 PFN_WDFIOTARGETSELFASSIGNDEFAULTIOQUEUE pfnWdfIoTargetSelfAssignDefaultIoQueue; 585 PFN_WDFDEVICEOPENDEVICEMAPKEY pfnWdfDeviceOpenDevicemapKey; 586 587 } WDFFUNCTIONS, *PWDFFUNCTIONS; 588 589 590 typedef struct _WDFVERSION { 591 592 ULONG Size; 593 ULONG FuncCount; 594 WDFFUNCTIONS Functions; 595 596 } WDFVERSION, *PWDFVERSION; 597 598 599 _Must_inspect_result_ 600 _IRQL_requires_max_(PASSIVE_LEVEL) 601 WDFAPI 602 NTSTATUS 603 STDCALL 604 WDFEXPORT(WdfChildListCreate)( 605 _In_ 606 PWDF_DRIVER_GLOBALS DriverGlobals, 607 _In_ 608 WDFDEVICE Device, 609 _In_ 610 PWDF_CHILD_LIST_CONFIG Config, 611 _In_opt_ 612 PWDF_OBJECT_ATTRIBUTES ChildListAttributes, 613 _Out_ 614 WDFCHILDLIST* ChildList 615 ); 616 617 _IRQL_requires_max_(DISPATCH_LEVEL) 618 WDFAPI 619 WDFDEVICE 620 STDCALL 621 WDFEXPORT(WdfChildListGetDevice)( 622 _In_ 623 PWDF_DRIVER_GLOBALS DriverGlobals, 624 _In_ 625 WDFCHILDLIST ChildList 626 ); 627 628 _Must_inspect_result_ 629 _IRQL_requires_max_(DISPATCH_LEVEL) 630 WDFAPI 631 WDFDEVICE 632 STDCALL 633 WDFEXPORT(WdfChildListRetrievePdo)( 634 _In_ 635 PWDF_DRIVER_GLOBALS DriverGlobals, 636 _In_ 637 WDFCHILDLIST ChildList, 638 _Inout_ 639 PWDF_CHILD_RETRIEVE_INFO RetrieveInfo 640 ); 641 642 _Must_inspect_result_ 643 _IRQL_requires_max_(DISPATCH_LEVEL) 644 WDFAPI 645 NTSTATUS 646 STDCALL 647 WDFEXPORT(WdfChildListRetrieveAddressDescription)( 648 _In_ 649 PWDF_DRIVER_GLOBALS DriverGlobals, 650 _In_ 651 WDFCHILDLIST ChildList, 652 _In_ 653 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription, 654 _Inout_ 655 PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription 656 ); 657 658 _IRQL_requires_max_(DISPATCH_LEVEL) 659 WDFAPI 660 VOID 661 STDCALL 662 WDFEXPORT(WdfChildListBeginScan)( 663 _In_ 664 PWDF_DRIVER_GLOBALS DriverGlobals, 665 _In_ 666 WDFCHILDLIST ChildList 667 ); 668 669 _IRQL_requires_max_(DISPATCH_LEVEL) 670 WDFAPI 671 VOID 672 STDCALL 673 WDFEXPORT(WdfChildListEndScan)( 674 _In_ 675 PWDF_DRIVER_GLOBALS DriverGlobals, 676 _In_ 677 WDFCHILDLIST ChildList 678 ); 679 680 _IRQL_requires_max_(DISPATCH_LEVEL) 681 WDFAPI 682 VOID 683 STDCALL 684 WDFEXPORT(WdfChildListBeginIteration)( 685 _In_ 686 PWDF_DRIVER_GLOBALS DriverGlobals, 687 _In_ 688 WDFCHILDLIST ChildList, 689 _In_ 690 PWDF_CHILD_LIST_ITERATOR Iterator 691 ); 692 693 _Must_inspect_result_ 694 _IRQL_requires_max_(DISPATCH_LEVEL) 695 WDFAPI 696 NTSTATUS 697 STDCALL 698 WDFEXPORT(WdfChildListRetrieveNextDevice)( 699 _In_ 700 PWDF_DRIVER_GLOBALS DriverGlobals, 701 _In_ 702 WDFCHILDLIST ChildList, 703 _In_ 704 PWDF_CHILD_LIST_ITERATOR Iterator, 705 _Out_ 706 WDFDEVICE* Device, 707 _Inout_opt_ 708 PWDF_CHILD_RETRIEVE_INFO Info 709 ); 710 711 _IRQL_requires_max_(DISPATCH_LEVEL) 712 WDFAPI 713 VOID 714 STDCALL 715 WDFEXPORT(WdfChildListEndIteration)( 716 _In_ 717 PWDF_DRIVER_GLOBALS DriverGlobals, 718 _In_ 719 WDFCHILDLIST ChildList, 720 _In_ 721 PWDF_CHILD_LIST_ITERATOR Iterator 722 ); 723 724 _Must_inspect_result_ 725 _IRQL_requires_max_(DISPATCH_LEVEL) 726 WDFAPI 727 NTSTATUS 728 STDCALL 729 WDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent)( 730 _In_ 731 PWDF_DRIVER_GLOBALS DriverGlobals, 732 _In_ 733 WDFCHILDLIST ChildList, 734 _In_ 735 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription, 736 _In_opt_ 737 PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription 738 ); 739 740 _Must_inspect_result_ 741 _IRQL_requires_max_(DISPATCH_LEVEL) 742 WDFAPI 743 NTSTATUS 744 STDCALL 745 WDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing)( 746 _In_ 747 PWDF_DRIVER_GLOBALS DriverGlobals, 748 _In_ 749 WDFCHILDLIST ChildList, 750 _In_ 751 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription 752 ); 753 754 _IRQL_requires_max_(DISPATCH_LEVEL) 755 WDFAPI 756 VOID 757 STDCALL 758 WDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent)( 759 _In_ 760 PWDF_DRIVER_GLOBALS DriverGlobals, 761 _In_ 762 WDFCHILDLIST ChildList 763 ); 764 765 _IRQL_requires_max_(DISPATCH_LEVEL) 766 WDFAPI 767 BOOLEAN 768 STDCALL 769 WDFEXPORT(WdfChildListRequestChildEject)( 770 _In_ 771 PWDF_DRIVER_GLOBALS DriverGlobals, 772 _In_ 773 WDFCHILDLIST ChildList, 774 _In_ 775 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription 776 ); 777 778 _Must_inspect_result_ 779 _IRQL_requires_max_(DISPATCH_LEVEL) 780 WDFAPI 781 NTSTATUS 782 STDCALL 783 WDFEXPORT(WdfCollectionCreate)( 784 _In_ 785 PWDF_DRIVER_GLOBALS DriverGlobals, 786 _In_opt_ 787 PWDF_OBJECT_ATTRIBUTES CollectionAttributes, 788 _Out_ 789 WDFCOLLECTION* Collection 790 ); 791 792 _IRQL_requires_max_(DISPATCH_LEVEL) 793 WDFAPI 794 ULONG 795 STDCALL 796 WDFEXPORT(WdfCollectionGetCount)( 797 _In_ 798 PWDF_DRIVER_GLOBALS DriverGlobals, 799 _In_ 800 WDFCOLLECTION Collection 801 ); 802 803 _Must_inspect_result_ 804 _IRQL_requires_max_(DISPATCH_LEVEL) 805 WDFAPI 806 NTSTATUS 807 STDCALL 808 WDFEXPORT(WdfCollectionAdd)( 809 _In_ 810 PWDF_DRIVER_GLOBALS DriverGlobals, 811 _In_ 812 WDFCOLLECTION Collection, 813 _In_ 814 WDFOBJECT Object 815 ); 816 817 _IRQL_requires_max_(DISPATCH_LEVEL) 818 WDFAPI 819 VOID 820 STDCALL 821 WDFEXPORT(WdfCollectionRemove)( 822 _In_ 823 PWDF_DRIVER_GLOBALS DriverGlobals, 824 _In_ 825 WDFCOLLECTION Collection, 826 _In_ 827 WDFOBJECT Item 828 ); 829 830 _IRQL_requires_max_(DISPATCH_LEVEL) 831 WDFAPI 832 VOID 833 STDCALL 834 WDFEXPORT(WdfCollectionRemoveItem)( 835 _In_ 836 PWDF_DRIVER_GLOBALS DriverGlobals, 837 _In_ 838 WDFCOLLECTION Collection, 839 _In_ 840 ULONG Index 841 ); 842 843 _IRQL_requires_max_(DISPATCH_LEVEL) 844 WDFAPI 845 WDFOBJECT 846 STDCALL 847 WDFEXPORT(WdfCollectionGetItem)( 848 _In_ 849 PWDF_DRIVER_GLOBALS DriverGlobals, 850 _In_ 851 WDFCOLLECTION Collection, 852 _In_ 853 ULONG Index 854 ); 855 856 _IRQL_requires_max_(DISPATCH_LEVEL) 857 WDFAPI 858 WDFOBJECT 859 STDCALL 860 WDFEXPORT(WdfCollectionGetFirstItem)( 861 _In_ 862 PWDF_DRIVER_GLOBALS DriverGlobals, 863 _In_ 864 WDFCOLLECTION Collection 865 ); 866 867 _IRQL_requires_max_(DISPATCH_LEVEL) 868 WDFAPI 869 WDFOBJECT 870 STDCALL 871 WDFEXPORT(WdfCollectionGetLastItem)( 872 _In_ 873 PWDF_DRIVER_GLOBALS DriverGlobals, 874 _In_ 875 WDFCOLLECTION Collection 876 ); 877 878 _Must_inspect_result_ 879 _IRQL_requires_max_(PASSIVE_LEVEL) 880 WDFAPI 881 NTSTATUS 882 STDCALL 883 WDFEXPORT(WdfCommonBufferCreate)( 884 _In_ 885 PWDF_DRIVER_GLOBALS DriverGlobals, 886 _In_ 887 WDFDMAENABLER DmaEnabler, 888 _In_ 889 _When_(Length == 0, __drv_reportError(Length cannot be zero)) 890 size_t Length, 891 _In_opt_ 892 PWDF_OBJECT_ATTRIBUTES Attributes, 893 _Out_ 894 WDFCOMMONBUFFER* CommonBuffer 895 ); 896 897 _Must_inspect_result_ 898 _IRQL_requires_max_(PASSIVE_LEVEL) 899 WDFAPI 900 NTSTATUS 901 STDCALL 902 WDFEXPORT(WdfCommonBufferCreateWithConfig)( 903 _In_ 904 PWDF_DRIVER_GLOBALS DriverGlobals, 905 _In_ 906 WDFDMAENABLER DmaEnabler, 907 _In_ 908 _When_(Length == 0, __drv_reportError(Length cannot be zero)) 909 size_t Length, 910 _In_ 911 PWDF_COMMON_BUFFER_CONFIG Config, 912 _In_opt_ 913 PWDF_OBJECT_ATTRIBUTES Attributes, 914 _Out_ 915 WDFCOMMONBUFFER* CommonBuffer 916 ); 917 918 _IRQL_requires_max_(DISPATCH_LEVEL) 919 WDFAPI 920 PVOID 921 STDCALL 922 WDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress)( 923 _In_ 924 PWDF_DRIVER_GLOBALS DriverGlobals, 925 _In_ 926 WDFCOMMONBUFFER CommonBuffer 927 ); 928 929 _IRQL_requires_max_(DISPATCH_LEVEL) 930 WDFAPI 931 PHYSICAL_ADDRESS 932 STDCALL 933 WDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress)( 934 _In_ 935 PWDF_DRIVER_GLOBALS DriverGlobals, 936 _In_ 937 WDFCOMMONBUFFER CommonBuffer 938 ); 939 940 _IRQL_requires_max_(DISPATCH_LEVEL) 941 WDFAPI 942 size_t 943 STDCALL 944 WDFEXPORT(WdfCommonBufferGetLength)( 945 _In_ 946 PWDF_DRIVER_GLOBALS DriverGlobals, 947 _In_ 948 WDFCOMMONBUFFER CommonBuffer 949 ); 950 951 _Must_inspect_result_ 952 _IRQL_requires_max_(PASSIVE_LEVEL) 953 WDFAPI 954 PWDFDEVICE_INIT 955 STDCALL 956 WDFEXPORT(WdfControlDeviceInitAllocate)( 957 _In_ 958 PWDF_DRIVER_GLOBALS DriverGlobals, 959 _In_ 960 WDFDRIVER Driver, 961 _In_ 962 CONST UNICODE_STRING* SDDLString 963 ); 964 965 _IRQL_requires_max_(PASSIVE_LEVEL) 966 WDFAPI 967 VOID 968 STDCALL 969 WDFEXPORT(WdfControlDeviceInitSetShutdownNotification)( 970 _In_ 971 PWDF_DRIVER_GLOBALS DriverGlobals, 972 _In_ 973 PWDFDEVICE_INIT DeviceInit, 974 _In_ 975 PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification, 976 _In_ 977 UCHAR Flags 978 ); 979 980 _IRQL_requires_max_(DISPATCH_LEVEL) 981 WDFAPI 982 VOID 983 STDCALL 984 WDFEXPORT(WdfControlFinishInitializing)( 985 _In_ 986 PWDF_DRIVER_GLOBALS DriverGlobals, 987 _In_ 988 WDFDEVICE Device 989 ); 990 991 _Must_inspect_result_ 992 _IRQL_requires_max_(PASSIVE_LEVEL) 993 WDFAPI 994 PWDFCXDEVICE_INIT 995 STDCALL 996 WDFEXPORT(WdfCxDeviceInitAllocate)( 997 _In_ 998 PWDF_DRIVER_GLOBALS DriverGlobals, 999 _In_ 1000 PWDFDEVICE_INIT DeviceInit 1001 ); 1002 1003 _Must_inspect_result_ 1004 _IRQL_requires_max_(DISPATCH_LEVEL) 1005 WDFAPI 1006 NTSTATUS 1007 STDCALL 1008 WDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback)( 1009 _In_ 1010 PWDF_DRIVER_GLOBALS DriverGlobals, 1011 _In_ 1012 PWDFCXDEVICE_INIT CxDeviceInit, 1013 _In_ 1014 PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS EvtCxDeviceWdmIrpPreprocess, 1015 _In_ 1016 UCHAR MajorFunction, 1017 _When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions)) 1018 _When_(NumMinorFunctions == 0, _In_opt_) 1019 PUCHAR MinorFunctions, 1020 _In_ 1021 ULONG NumMinorFunctions 1022 ); 1023 1024 _IRQL_requires_max_(DISPATCH_LEVEL) 1025 WDFAPI 1026 VOID 1027 STDCALL 1028 WDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback)( 1029 _In_ 1030 PWDF_DRIVER_GLOBALS DriverGlobals, 1031 _In_ 1032 PWDFCXDEVICE_INIT CxDeviceInit, 1033 _In_ 1034 PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext 1035 ); 1036 1037 _IRQL_requires_max_(DISPATCH_LEVEL) 1038 WDFAPI 1039 VOID 1040 STDCALL 1041 WDFEXPORT(WdfCxDeviceInitSetRequestAttributes)( 1042 _In_ 1043 PWDF_DRIVER_GLOBALS DriverGlobals, 1044 _In_ 1045 PWDFCXDEVICE_INIT CxDeviceInit, 1046 _In_ 1047 PWDF_OBJECT_ATTRIBUTES RequestAttributes 1048 ); 1049 1050 _IRQL_requires_max_(DISPATCH_LEVEL) 1051 WDFAPI 1052 VOID 1053 STDCALL 1054 WDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)( 1055 _In_ 1056 PWDF_DRIVER_GLOBALS DriverGlobals, 1057 _In_ 1058 PWDFCXDEVICE_INIT CxDeviceInit, 1059 _In_ 1060 PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig, 1061 _In_opt_ 1062 PWDF_OBJECT_ATTRIBUTES FileObjectAttributes 1063 ); 1064 1065 WDFAPI 1066 VOID 1067 STDCALL 1068 WDFEXPORT(WdfCxVerifierKeBugCheck)( 1069 _In_ 1070 PWDF_DRIVER_GLOBALS DriverGlobals, 1071 _In_opt_ 1072 WDFOBJECT Object, 1073 _In_ 1074 ULONG BugCheckCode, 1075 _In_ 1076 ULONG_PTR BugCheckParameter1, 1077 _In_ 1078 ULONG_PTR BugCheckParameter2, 1079 _In_ 1080 ULONG_PTR BugCheckParameter3, 1081 _In_ 1082 ULONG_PTR BugCheckParameter4 1083 ); 1084 1085 _IRQL_requires_max_(DISPATCH_LEVEL) 1086 WDFAPI 1087 VOID 1088 STDCALL 1089 WDFEXPORT(WdfDeviceGetDeviceState)( 1090 _In_ 1091 PWDF_DRIVER_GLOBALS DriverGlobals, 1092 _In_ 1093 WDFDEVICE Device, 1094 _Out_ 1095 PWDF_DEVICE_STATE DeviceState 1096 ); 1097 1098 _IRQL_requires_max_(DISPATCH_LEVEL) 1099 WDFAPI 1100 VOID 1101 STDCALL 1102 WDFEXPORT(WdfDeviceSetDeviceState)( 1103 _In_ 1104 PWDF_DRIVER_GLOBALS DriverGlobals, 1105 _In_ 1106 WDFDEVICE Device, 1107 _In_ 1108 PWDF_DEVICE_STATE DeviceState 1109 ); 1110 1111 _IRQL_requires_max_(DISPATCH_LEVEL) 1112 WDFAPI 1113 WDFDEVICE 1114 STDCALL 1115 WDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle)( 1116 _In_ 1117 PWDF_DRIVER_GLOBALS DriverGlobals, 1118 _In_ 1119 PDEVICE_OBJECT DeviceObject 1120 ); 1121 1122 _IRQL_requires_max_(DISPATCH_LEVEL) 1123 WDFAPI 1124 PDEVICE_OBJECT 1125 STDCALL 1126 WDFEXPORT(WdfDeviceWdmGetDeviceObject)( 1127 _In_ 1128 PWDF_DRIVER_GLOBALS DriverGlobals, 1129 _In_ 1130 WDFDEVICE Device 1131 ); 1132 1133 _IRQL_requires_max_(DISPATCH_LEVEL) 1134 WDFAPI 1135 PDEVICE_OBJECT 1136 STDCALL 1137 WDFEXPORT(WdfDeviceWdmGetAttachedDevice)( 1138 _In_ 1139 PWDF_DRIVER_GLOBALS DriverGlobals, 1140 _In_ 1141 WDFDEVICE Device 1142 ); 1143 1144 _IRQL_requires_max_(DISPATCH_LEVEL) 1145 WDFAPI 1146 PDEVICE_OBJECT 1147 STDCALL 1148 WDFEXPORT(WdfDeviceWdmGetPhysicalDevice)( 1149 _In_ 1150 PWDF_DRIVER_GLOBALS DriverGlobals, 1151 _In_ 1152 WDFDEVICE Device 1153 ); 1154 1155 _Must_inspect_result_ 1156 _IRQL_requires_max_(DISPATCH_LEVEL) 1157 WDFAPI 1158 NTSTATUS 1159 STDCALL 1160 WDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp)( 1161 _In_ 1162 PWDF_DRIVER_GLOBALS DriverGlobals, 1163 _In_ 1164 WDFDEVICE Device, 1165 _In_ 1166 PIRP Irp 1167 ); 1168 1169 _Must_inspect_result_ 1170 _IRQL_requires_max_(DISPATCH_LEVEL) 1171 WDFAPI 1172 NTSTATUS 1173 STDCALL 1174 WDFEXPORT(WdfDeviceWdmDispatchIrp)( 1175 _In_ 1176 PWDF_DRIVER_GLOBALS DriverGlobals, 1177 _In_ 1178 WDFDEVICE Device, 1179 _In_ 1180 PIRP Irp, 1181 _In_ 1182 WDFCONTEXT DispatchContext 1183 ); 1184 1185 _Must_inspect_result_ 1186 _IRQL_requires_max_(DISPATCH_LEVEL) 1187 WDFAPI 1188 NTSTATUS 1189 STDCALL 1190 WDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue)( 1191 _In_ 1192 PWDF_DRIVER_GLOBALS DriverGlobals, 1193 _In_ 1194 WDFDEVICE Device, 1195 _In_ 1196 PIRP Irp, 1197 _In_ 1198 WDFQUEUE Queue, 1199 _In_ 1200 ULONG Flags 1201 ); 1202 1203 _Must_inspect_result_ 1204 _IRQL_requires_max_(DISPATCH_LEVEL) 1205 WDFAPI 1206 NTSTATUS 1207 STDCALL 1208 WDFEXPORT(WdfDeviceAddDependentUsageDeviceObject)( 1209 _In_ 1210 PWDF_DRIVER_GLOBALS DriverGlobals, 1211 _In_ 1212 WDFDEVICE Device, 1213 _In_ 1214 PDEVICE_OBJECT DependentDevice 1215 ); 1216 1217 _IRQL_requires_max_(DISPATCH_LEVEL) 1218 WDFAPI 1219 VOID 1220 STDCALL 1221 WDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject)( 1222 _In_ 1223 PWDF_DRIVER_GLOBALS DriverGlobals, 1224 _In_ 1225 WDFDEVICE Device, 1226 _In_ 1227 PDEVICE_OBJECT DependentDevice 1228 ); 1229 1230 _Must_inspect_result_ 1231 _IRQL_requires_max_(DISPATCH_LEVEL) 1232 WDFAPI 1233 NTSTATUS 1234 STDCALL 1235 WDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice)( 1236 _In_ 1237 PWDF_DRIVER_GLOBALS DriverGlobals, 1238 _In_ 1239 WDFDEVICE Device, 1240 _In_ 1241 PDEVICE_OBJECT PhysicalDevice 1242 ); 1243 1244 _IRQL_requires_max_(DISPATCH_LEVEL) 1245 WDFAPI 1246 VOID 1247 STDCALL 1248 WDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice)( 1249 _In_ 1250 PWDF_DRIVER_GLOBALS DriverGlobals, 1251 _In_ 1252 WDFDEVICE Device, 1253 _In_ 1254 PDEVICE_OBJECT PhysicalDevice 1255 ); 1256 1257 _IRQL_requires_max_(DISPATCH_LEVEL) 1258 WDFAPI 1259 VOID 1260 STDCALL 1261 WDFEXPORT(WdfDeviceClearRemovalRelationsDevices)( 1262 _In_ 1263 PWDF_DRIVER_GLOBALS DriverGlobals, 1264 _In_ 1265 WDFDEVICE Device 1266 ); 1267 1268 _IRQL_requires_max_(DISPATCH_LEVEL) 1269 WDFAPI 1270 WDFDRIVER 1271 STDCALL 1272 WDFEXPORT(WdfDeviceGetDriver)( 1273 _In_ 1274 PWDF_DRIVER_GLOBALS DriverGlobals, 1275 _In_ 1276 WDFDEVICE Device 1277 ); 1278 1279 _Must_inspect_result_ 1280 _IRQL_requires_max_(PASSIVE_LEVEL) 1281 WDFAPI 1282 NTSTATUS 1283 STDCALL 1284 WDFEXPORT(WdfDeviceRetrieveDeviceName)( 1285 _In_ 1286 PWDF_DRIVER_GLOBALS DriverGlobals, 1287 _In_ 1288 WDFDEVICE Device, 1289 _In_ 1290 WDFSTRING String 1291 ); 1292 1293 _Must_inspect_result_ 1294 _IRQL_requires_max_(PASSIVE_LEVEL) 1295 WDFAPI 1296 NTSTATUS 1297 STDCALL 1298 WDFEXPORT(WdfDeviceAssignMofResourceName)( 1299 _In_ 1300 PWDF_DRIVER_GLOBALS DriverGlobals, 1301 _In_ 1302 WDFDEVICE Device, 1303 _In_ 1304 PCUNICODE_STRING MofResourceName 1305 ); 1306 1307 _IRQL_requires_max_(DISPATCH_LEVEL) 1308 WDFAPI 1309 WDFIOTARGET 1310 STDCALL 1311 WDFEXPORT(WdfDeviceGetIoTarget)( 1312 _In_ 1313 PWDF_DRIVER_GLOBALS DriverGlobals, 1314 _In_ 1315 WDFDEVICE Device 1316 ); 1317 1318 _IRQL_requires_max_(DISPATCH_LEVEL) 1319 WDFAPI 1320 WDF_DEVICE_PNP_STATE 1321 STDCALL 1322 WDFEXPORT(WdfDeviceGetDevicePnpState)( 1323 _In_ 1324 PWDF_DRIVER_GLOBALS DriverGlobals, 1325 _In_ 1326 WDFDEVICE Device 1327 ); 1328 1329 _IRQL_requires_max_(DISPATCH_LEVEL) 1330 WDFAPI 1331 WDF_DEVICE_POWER_STATE 1332 STDCALL 1333 WDFEXPORT(WdfDeviceGetDevicePowerState)( 1334 _In_ 1335 PWDF_DRIVER_GLOBALS DriverGlobals, 1336 _In_ 1337 WDFDEVICE Device 1338 ); 1339 1340 _IRQL_requires_max_(DISPATCH_LEVEL) 1341 WDFAPI 1342 WDF_DEVICE_POWER_POLICY_STATE 1343 STDCALL 1344 WDFEXPORT(WdfDeviceGetDevicePowerPolicyState)( 1345 _In_ 1346 PWDF_DRIVER_GLOBALS DriverGlobals, 1347 _In_ 1348 WDFDEVICE Device 1349 ); 1350 1351 _Must_inspect_result_ 1352 _IRQL_requires_max_(DISPATCH_LEVEL) 1353 WDFAPI 1354 NTSTATUS 1355 STDCALL 1356 WDFEXPORT(WdfDeviceAssignS0IdleSettings)( 1357 _In_ 1358 PWDF_DRIVER_GLOBALS DriverGlobals, 1359 _In_ 1360 WDFDEVICE Device, 1361 _In_ 1362 PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings 1363 ); 1364 1365 _Must_inspect_result_ 1366 _IRQL_requires_max_(DISPATCH_LEVEL) 1367 WDFAPI 1368 NTSTATUS 1369 STDCALL 1370 WDFEXPORT(WdfDeviceAssignSxWakeSettings)( 1371 _In_ 1372 PWDF_DRIVER_GLOBALS DriverGlobals, 1373 _In_ 1374 WDFDEVICE Device, 1375 _In_ 1376 PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings 1377 ); 1378 1379 _Must_inspect_result_ 1380 _IRQL_requires_max_(PASSIVE_LEVEL) 1381 WDFAPI 1382 NTSTATUS 1383 STDCALL 1384 WDFEXPORT(WdfDeviceOpenRegistryKey)( 1385 _In_ 1386 PWDF_DRIVER_GLOBALS DriverGlobals, 1387 _In_ 1388 WDFDEVICE Device, 1389 _In_ 1390 ULONG DeviceInstanceKeyType, 1391 _In_ 1392 ACCESS_MASK DesiredAccess, 1393 _In_opt_ 1394 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 1395 _Out_ 1396 WDFKEY* Key 1397 ); 1398 1399 _Must_inspect_result_ 1400 _IRQL_requires_max_(PASSIVE_LEVEL) 1401 WDFAPI 1402 NTSTATUS 1403 STDCALL 1404 WDFEXPORT(WdfDeviceOpenDevicemapKey)( 1405 _In_ 1406 PWDF_DRIVER_GLOBALS DriverGlobals, 1407 _In_ 1408 WDFDEVICE Device, 1409 _In_ 1410 PCUNICODE_STRING KeyName, 1411 _In_ 1412 ACCESS_MASK DesiredAccess, 1413 _In_opt_ 1414 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 1415 _Out_ 1416 WDFKEY* Key 1417 ); 1418 1419 _IRQL_requires_max_(DISPATCH_LEVEL) 1420 WDFAPI 1421 VOID 1422 STDCALL 1423 WDFEXPORT(WdfDeviceSetSpecialFileSupport)( 1424 _In_ 1425 PWDF_DRIVER_GLOBALS DriverGlobals, 1426 _In_ 1427 WDFDEVICE Device, 1428 _In_ 1429 WDF_SPECIAL_FILE_TYPE FileType, 1430 _In_ 1431 BOOLEAN FileTypeIsSupported 1432 ); 1433 1434 _IRQL_requires_max_(DISPATCH_LEVEL) 1435 WDFAPI 1436 VOID 1437 STDCALL 1438 WDFEXPORT(WdfDeviceSetCharacteristics)( 1439 _In_ 1440 PWDF_DRIVER_GLOBALS DriverGlobals, 1441 _In_ 1442 WDFDEVICE Device, 1443 _In_ 1444 ULONG DeviceCharacteristics 1445 ); 1446 1447 _IRQL_requires_max_(DISPATCH_LEVEL) 1448 WDFAPI 1449 ULONG 1450 STDCALL 1451 WDFEXPORT(WdfDeviceGetCharacteristics)( 1452 _In_ 1453 PWDF_DRIVER_GLOBALS DriverGlobals, 1454 _In_ 1455 WDFDEVICE Device 1456 ); 1457 1458 _IRQL_requires_max_(DISPATCH_LEVEL) 1459 WDFAPI 1460 ULONG 1461 STDCALL 1462 WDFEXPORT(WdfDeviceGetAlignmentRequirement)( 1463 _In_ 1464 PWDF_DRIVER_GLOBALS DriverGlobals, 1465 _In_ 1466 WDFDEVICE Device 1467 ); 1468 1469 _IRQL_requires_max_(DISPATCH_LEVEL) 1470 WDFAPI 1471 VOID 1472 STDCALL 1473 WDFEXPORT(WdfDeviceSetAlignmentRequirement)( 1474 _In_ 1475 PWDF_DRIVER_GLOBALS DriverGlobals, 1476 _In_ 1477 WDFDEVICE Device, 1478 _In_ 1479 ULONG AlignmentRequirement 1480 ); 1481 1482 _IRQL_requires_max_(DISPATCH_LEVEL) 1483 WDFAPI 1484 VOID 1485 STDCALL 1486 WDFEXPORT(WdfDeviceInitFree)( 1487 _In_ 1488 PWDF_DRIVER_GLOBALS DriverGlobals, 1489 _In_ 1490 PWDFDEVICE_INIT DeviceInit 1491 ); 1492 1493 _IRQL_requires_max_(DISPATCH_LEVEL) 1494 WDFAPI 1495 VOID 1496 STDCALL 1497 WDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)( 1498 _In_ 1499 PWDF_DRIVER_GLOBALS DriverGlobals, 1500 _In_ 1501 PWDFDEVICE_INIT DeviceInit, 1502 _In_ 1503 PWDF_PNPPOWER_EVENT_CALLBACKS PnpPowerEventCallbacks 1504 ); 1505 1506 _IRQL_requires_max_(DISPATCH_LEVEL) 1507 WDFAPI 1508 VOID 1509 STDCALL 1510 WDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)( 1511 _In_ 1512 PWDF_DRIVER_GLOBALS DriverGlobals, 1513 _In_ 1514 PWDFDEVICE_INIT DeviceInit, 1515 _In_ 1516 PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks 1517 ); 1518 1519 _IRQL_requires_max_(DISPATCH_LEVEL) 1520 WDFAPI 1521 VOID 1522 STDCALL 1523 WDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)( 1524 _In_ 1525 PWDF_DRIVER_GLOBALS DriverGlobals, 1526 _In_ 1527 PWDFDEVICE_INIT DeviceInit, 1528 _In_ 1529 BOOLEAN IsPowerPolicyOwner 1530 ); 1531 1532 _Must_inspect_result_ 1533 _IRQL_requires_max_(PASSIVE_LEVEL) 1534 WDFAPI 1535 NTSTATUS 1536 STDCALL 1537 WDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback)( 1538 _In_ 1539 PWDF_DRIVER_GLOBALS DriverGlobals, 1540 _In_ 1541 PWDFDEVICE_INIT DeviceInit, 1542 _In_ 1543 WDF_DEVICE_PNP_STATE PnpState, 1544 _In_ 1545 PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange, 1546 _In_ 1547 ULONG CallbackTypes 1548 ); 1549 1550 _Must_inspect_result_ 1551 _IRQL_requires_max_(PASSIVE_LEVEL) 1552 WDFAPI 1553 NTSTATUS 1554 STDCALL 1555 WDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback)( 1556 _In_ 1557 PWDF_DRIVER_GLOBALS DriverGlobals, 1558 _In_ 1559 PWDFDEVICE_INIT DeviceInit, 1560 _In_ 1561 WDF_DEVICE_POWER_STATE PowerState, 1562 _In_ 1563 PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange, 1564 _In_ 1565 ULONG CallbackTypes 1566 ); 1567 1568 _Must_inspect_result_ 1569 _IRQL_requires_max_(PASSIVE_LEVEL) 1570 WDFAPI 1571 NTSTATUS 1572 STDCALL 1573 WDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback)( 1574 _In_ 1575 PWDF_DRIVER_GLOBALS DriverGlobals, 1576 _In_ 1577 PWDFDEVICE_INIT DeviceInit, 1578 _In_ 1579 WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState, 1580 _In_ 1581 PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION EvtDevicePowerPolicyStateChange, 1582 _In_ 1583 ULONG CallbackTypes 1584 ); 1585 1586 _IRQL_requires_max_(DISPATCH_LEVEL) 1587 WDFAPI 1588 VOID 1589 STDCALL 1590 WDFEXPORT(WdfDeviceInitSetExclusive)( 1591 _In_ 1592 PWDF_DRIVER_GLOBALS DriverGlobals, 1593 _In_ 1594 PWDFDEVICE_INIT DeviceInit, 1595 _In_ 1596 BOOLEAN IsExclusive 1597 ); 1598 1599 _IRQL_requires_max_(DISPATCH_LEVEL) 1600 WDFAPI 1601 VOID 1602 STDCALL 1603 WDFEXPORT(WdfDeviceInitSetIoType)( 1604 _In_ 1605 PWDF_DRIVER_GLOBALS DriverGlobals, 1606 _In_ 1607 PWDFDEVICE_INIT DeviceInit, 1608 _In_ 1609 WDF_DEVICE_IO_TYPE IoType 1610 ); 1611 1612 _IRQL_requires_max_(DISPATCH_LEVEL) 1613 WDFAPI 1614 VOID 1615 STDCALL 1616 WDFEXPORT(WdfDeviceInitSetPowerNotPageable)( 1617 _In_ 1618 PWDF_DRIVER_GLOBALS DriverGlobals, 1619 _In_ 1620 PWDFDEVICE_INIT DeviceInit 1621 ); 1622 1623 _IRQL_requires_max_(DISPATCH_LEVEL) 1624 WDFAPI 1625 VOID 1626 STDCALL 1627 WDFEXPORT(WdfDeviceInitSetPowerPageable)( 1628 _In_ 1629 PWDF_DRIVER_GLOBALS DriverGlobals, 1630 _In_ 1631 PWDFDEVICE_INIT DeviceInit 1632 ); 1633 1634 _IRQL_requires_max_(DISPATCH_LEVEL) 1635 WDFAPI 1636 VOID 1637 STDCALL 1638 WDFEXPORT(WdfDeviceInitSetPowerInrush)( 1639 _In_ 1640 PWDF_DRIVER_GLOBALS DriverGlobals, 1641 _In_ 1642 PWDFDEVICE_INIT DeviceInit 1643 ); 1644 1645 _IRQL_requires_max_(DISPATCH_LEVEL) 1646 WDFAPI 1647 VOID 1648 STDCALL 1649 WDFEXPORT(WdfDeviceInitSetDeviceType)( 1650 _In_ 1651 PWDF_DRIVER_GLOBALS DriverGlobals, 1652 _In_ 1653 PWDFDEVICE_INIT DeviceInit, 1654 _In_ 1655 DEVICE_TYPE DeviceType 1656 ); 1657 1658 _Must_inspect_result_ 1659 _IRQL_requires_max_(PASSIVE_LEVEL) 1660 WDFAPI 1661 NTSTATUS 1662 STDCALL 1663 WDFEXPORT(WdfDeviceInitAssignName)( 1664 _In_ 1665 PWDF_DRIVER_GLOBALS DriverGlobals, 1666 _In_ 1667 PWDFDEVICE_INIT DeviceInit, 1668 _In_opt_ 1669 PCUNICODE_STRING DeviceName 1670 ); 1671 1672 _Must_inspect_result_ 1673 _IRQL_requires_max_(PASSIVE_LEVEL) 1674 WDFAPI 1675 NTSTATUS 1676 STDCALL 1677 WDFEXPORT(WdfDeviceInitAssignSDDLString)( 1678 _In_ 1679 PWDF_DRIVER_GLOBALS DriverGlobals, 1680 _In_ 1681 PWDFDEVICE_INIT DeviceInit, 1682 _In_opt_ 1683 PCUNICODE_STRING SDDLString 1684 ); 1685 1686 _IRQL_requires_max_(DISPATCH_LEVEL) 1687 WDFAPI 1688 VOID 1689 STDCALL 1690 WDFEXPORT(WdfDeviceInitSetDeviceClass)( 1691 _In_ 1692 PWDF_DRIVER_GLOBALS DriverGlobals, 1693 _In_ 1694 PWDFDEVICE_INIT DeviceInit, 1695 _In_ 1696 CONST GUID* DeviceClassGuid 1697 ); 1698 1699 _IRQL_requires_max_(DISPATCH_LEVEL) 1700 WDFAPI 1701 VOID 1702 STDCALL 1703 WDFEXPORT(WdfDeviceInitSetCharacteristics)( 1704 _In_ 1705 PWDF_DRIVER_GLOBALS DriverGlobals, 1706 _In_ 1707 PWDFDEVICE_INIT DeviceInit, 1708 _In_ 1709 ULONG DeviceCharacteristics, 1710 _In_ 1711 BOOLEAN OrInValues 1712 ); 1713 1714 _IRQL_requires_max_(DISPATCH_LEVEL) 1715 WDFAPI 1716 VOID 1717 STDCALL 1718 WDFEXPORT(WdfDeviceInitSetFileObjectConfig)( 1719 _In_ 1720 PWDF_DRIVER_GLOBALS DriverGlobals, 1721 _In_ 1722 PWDFDEVICE_INIT DeviceInit, 1723 _In_ 1724 PWDF_FILEOBJECT_CONFIG FileObjectConfig, 1725 _In_opt_ 1726 PWDF_OBJECT_ATTRIBUTES FileObjectAttributes 1727 ); 1728 1729 _IRQL_requires_max_(DISPATCH_LEVEL) 1730 WDFAPI 1731 VOID 1732 STDCALL 1733 WDFEXPORT(WdfDeviceInitSetRequestAttributes)( 1734 _In_ 1735 PWDF_DRIVER_GLOBALS DriverGlobals, 1736 _In_ 1737 PWDFDEVICE_INIT DeviceInit, 1738 _In_ 1739 PWDF_OBJECT_ATTRIBUTES RequestAttributes 1740 ); 1741 1742 _Must_inspect_result_ 1743 _IRQL_requires_max_(DISPATCH_LEVEL) 1744 WDFAPI 1745 NTSTATUS 1746 STDCALL 1747 WDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback)( 1748 _In_ 1749 PWDF_DRIVER_GLOBALS DriverGlobals, 1750 _In_ 1751 PWDFDEVICE_INIT DeviceInit, 1752 _In_ 1753 PFN_WDFDEVICE_WDM_IRP_PREPROCESS EvtDeviceWdmIrpPreprocess, 1754 _In_ 1755 UCHAR MajorFunction, 1756 _When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions)) 1757 _When_(NumMinorFunctions == 0, _In_opt_) 1758 PUCHAR MinorFunctions, 1759 _In_ 1760 ULONG NumMinorFunctions 1761 ); 1762 1763 _IRQL_requires_max_(DISPATCH_LEVEL) 1764 WDFAPI 1765 VOID 1766 STDCALL 1767 WDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback)( 1768 _In_ 1769 PWDF_DRIVER_GLOBALS DriverGlobals, 1770 _In_ 1771 PWDFDEVICE_INIT DeviceInit, 1772 _In_ 1773 PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext 1774 ); 1775 1776 _IRQL_requires_max_(DISPATCH_LEVEL) 1777 WDFAPI 1778 VOID 1779 STDCALL 1780 WDFEXPORT(WdfDeviceInitSetRemoveLockOptions)( 1781 _In_ 1782 PWDF_DRIVER_GLOBALS DriverGlobals, 1783 _In_ 1784 PWDFDEVICE_INIT DeviceInit, 1785 _In_ 1786 PWDF_REMOVE_LOCK_OPTIONS Options 1787 ); 1788 1789 _Must_inspect_result_ 1790 _IRQL_requires_max_(PASSIVE_LEVEL) 1791 WDFAPI 1792 NTSTATUS 1793 STDCALL 1794 WDFEXPORT(WdfDeviceCreate)( 1795 _In_ 1796 PWDF_DRIVER_GLOBALS DriverGlobals, 1797 _Inout_ 1798 PWDFDEVICE_INIT* DeviceInit, 1799 _In_opt_ 1800 PWDF_OBJECT_ATTRIBUTES DeviceAttributes, 1801 _Out_ 1802 WDFDEVICE* Device 1803 ); 1804 1805 _IRQL_requires_max_(DISPATCH_LEVEL) 1806 WDFAPI 1807 VOID 1808 STDCALL 1809 WDFEXPORT(WdfDeviceSetStaticStopRemove)( 1810 _In_ 1811 PWDF_DRIVER_GLOBALS DriverGlobals, 1812 _In_ 1813 WDFDEVICE Device, 1814 _In_ 1815 BOOLEAN Stoppable 1816 ); 1817 1818 _Must_inspect_result_ 1819 _IRQL_requires_max_(PASSIVE_LEVEL) 1820 WDFAPI 1821 NTSTATUS 1822 STDCALL 1823 WDFEXPORT(WdfDeviceCreateDeviceInterface)( 1824 _In_ 1825 PWDF_DRIVER_GLOBALS DriverGlobals, 1826 _In_ 1827 WDFDEVICE Device, 1828 _In_ 1829 CONST GUID* InterfaceClassGUID, 1830 _In_opt_ 1831 PCUNICODE_STRING ReferenceString 1832 ); 1833 1834 _IRQL_requires_max_(PASSIVE_LEVEL) 1835 WDFAPI 1836 VOID 1837 STDCALL 1838 WDFEXPORT(WdfDeviceSetDeviceInterfaceState)( 1839 _In_ 1840 PWDF_DRIVER_GLOBALS DriverGlobals, 1841 _In_ 1842 WDFDEVICE Device, 1843 _In_ 1844 CONST GUID* InterfaceClassGUID, 1845 _In_opt_ 1846 PCUNICODE_STRING ReferenceString, 1847 _In_ 1848 BOOLEAN IsInterfaceEnabled 1849 ); 1850 1851 _Must_inspect_result_ 1852 _IRQL_requires_max_(PASSIVE_LEVEL) 1853 WDFAPI 1854 NTSTATUS 1855 STDCALL 1856 WDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)( 1857 _In_ 1858 PWDF_DRIVER_GLOBALS DriverGlobals, 1859 _In_ 1860 WDFDEVICE Device, 1861 _In_ 1862 CONST GUID* InterfaceClassGUID, 1863 _In_opt_ 1864 PCUNICODE_STRING ReferenceString, 1865 _In_ 1866 WDFSTRING String 1867 ); 1868 1869 _Must_inspect_result_ 1870 _IRQL_requires_max_(PASSIVE_LEVEL) 1871 WDFAPI 1872 NTSTATUS 1873 STDCALL 1874 WDFEXPORT(WdfDeviceCreateSymbolicLink)( 1875 _In_ 1876 PWDF_DRIVER_GLOBALS DriverGlobals, 1877 _In_ 1878 WDFDEVICE Device, 1879 _In_ 1880 PCUNICODE_STRING SymbolicLinkName 1881 ); 1882 1883 _Must_inspect_result_ 1884 _IRQL_requires_max_(PASSIVE_LEVEL) 1885 WDFAPI 1886 NTSTATUS 1887 STDCALL 1888 WDFEXPORT(WdfDeviceQueryProperty)( 1889 _In_ 1890 PWDF_DRIVER_GLOBALS DriverGlobals, 1891 _In_ 1892 WDFDEVICE Device, 1893 _In_ 1894 DEVICE_REGISTRY_PROPERTY DeviceProperty, 1895 _In_ 1896 ULONG BufferLength, 1897 _Out_writes_bytes_all_(BufferLength) 1898 PVOID PropertyBuffer, 1899 _Out_ 1900 PULONG ResultLength 1901 ); 1902 1903 _Must_inspect_result_ 1904 _IRQL_requires_max_(PASSIVE_LEVEL) 1905 WDFAPI 1906 NTSTATUS 1907 STDCALL 1908 WDFEXPORT(WdfDeviceAllocAndQueryProperty)( 1909 _In_ 1910 PWDF_DRIVER_GLOBALS DriverGlobals, 1911 _In_ 1912 WDFDEVICE Device, 1913 _In_ 1914 DEVICE_REGISTRY_PROPERTY DeviceProperty, 1915 _In_ 1916 _Strict_type_match_ 1917 POOL_TYPE PoolType, 1918 _In_opt_ 1919 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 1920 _Out_ 1921 WDFMEMORY* PropertyMemory 1922 ); 1923 1924 _IRQL_requires_max_(DISPATCH_LEVEL) 1925 WDFAPI 1926 VOID 1927 STDCALL 1928 WDFEXPORT(WdfDeviceSetPnpCapabilities)( 1929 _In_ 1930 PWDF_DRIVER_GLOBALS DriverGlobals, 1931 _In_ 1932 WDFDEVICE Device, 1933 _In_ 1934 PWDF_DEVICE_PNP_CAPABILITIES PnpCapabilities 1935 ); 1936 1937 _IRQL_requires_max_(DISPATCH_LEVEL) 1938 WDFAPI 1939 VOID 1940 STDCALL 1941 WDFEXPORT(WdfDeviceSetPowerCapabilities)( 1942 _In_ 1943 PWDF_DRIVER_GLOBALS DriverGlobals, 1944 _In_ 1945 WDFDEVICE Device, 1946 _In_ 1947 PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities 1948 ); 1949 1950 _IRQL_requires_max_(DISPATCH_LEVEL) 1951 WDFAPI 1952 VOID 1953 STDCALL 1954 WDFEXPORT(WdfDeviceSetBusInformationForChildren)( 1955 _In_ 1956 PWDF_DRIVER_GLOBALS DriverGlobals, 1957 _In_ 1958 WDFDEVICE Device, 1959 _In_ 1960 PPNP_BUS_INFORMATION BusInformation 1961 ); 1962 1963 _Must_inspect_result_ 1964 _IRQL_requires_max_(DISPATCH_LEVEL) 1965 WDFAPI 1966 NTSTATUS 1967 STDCALL 1968 WDFEXPORT(WdfDeviceIndicateWakeStatus)( 1969 _In_ 1970 PWDF_DRIVER_GLOBALS DriverGlobals, 1971 _In_ 1972 WDFDEVICE Device, 1973 _In_ 1974 NTSTATUS WaitWakeStatus 1975 ); 1976 1977 _IRQL_requires_max_(DISPATCH_LEVEL) 1978 WDFAPI 1979 VOID 1980 STDCALL 1981 WDFEXPORT(WdfDeviceSetFailed)( 1982 _In_ 1983 PWDF_DRIVER_GLOBALS DriverGlobals, 1984 _In_ 1985 WDFDEVICE Device, 1986 _In_ 1987 WDF_DEVICE_FAILED_ACTION FailedAction 1988 ); 1989 1990 _Must_inspect_result_ 1991 _When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL)) 1992 _When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL)) 1993 WDFAPI 1994 NTSTATUS 1995 STDCALL 1996 WDFEXPORT(WdfDeviceStopIdleNoTrack)( 1997 _In_ 1998 PWDF_DRIVER_GLOBALS DriverGlobals, 1999 _In_ 2000 WDFDEVICE Device, 2001 _In_ 2002 BOOLEAN WaitForD0 2003 ); 2004 2005 _IRQL_requires_max_(DISPATCH_LEVEL) 2006 WDFAPI 2007 VOID 2008 STDCALL 2009 WDFEXPORT(WdfDeviceResumeIdleNoTrack)( 2010 _In_ 2011 PWDF_DRIVER_GLOBALS DriverGlobals, 2012 _In_ 2013 WDFDEVICE Device 2014 ); 2015 2016 _Must_inspect_result_ 2017 _When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL)) 2018 _When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL)) 2019 WDFAPI 2020 NTSTATUS 2021 STDCALL 2022 WDFEXPORT(WdfDeviceStopIdleActual)( 2023 _In_ 2024 PWDF_DRIVER_GLOBALS DriverGlobals, 2025 _In_ 2026 WDFDEVICE Device, 2027 _In_ 2028 BOOLEAN WaitForD0, 2029 _In_opt_ 2030 PVOID Tag, 2031 _In_ 2032 LONG Line, 2033 _In_z_ 2034 PCHAR File 2035 ); 2036 2037 _IRQL_requires_max_(DISPATCH_LEVEL) 2038 WDFAPI 2039 VOID 2040 STDCALL 2041 WDFEXPORT(WdfDeviceResumeIdleActual)( 2042 _In_ 2043 PWDF_DRIVER_GLOBALS DriverGlobals, 2044 _In_ 2045 WDFDEVICE Device, 2046 _In_opt_ 2047 PVOID Tag, 2048 _In_ 2049 LONG Line, 2050 _In_z_ 2051 PCHAR File 2052 ); 2053 2054 _IRQL_requires_max_(DISPATCH_LEVEL) 2055 WDFAPI 2056 WDFFILEOBJECT 2057 STDCALL 2058 WDFEXPORT(WdfDeviceGetFileObject)( 2059 _In_ 2060 PWDF_DRIVER_GLOBALS DriverGlobals, 2061 _In_ 2062 WDFDEVICE Device, 2063 _In_ 2064 PFILE_OBJECT FileObject 2065 ); 2066 2067 _Must_inspect_result_ 2068 _IRQL_requires_max_(DISPATCH_LEVEL) 2069 WDFAPI 2070 NTSTATUS 2071 STDCALL 2072 WDFEXPORT(WdfDeviceEnqueueRequest)( 2073 _In_ 2074 PWDF_DRIVER_GLOBALS DriverGlobals, 2075 _In_ 2076 WDFDEVICE Device, 2077 _In_ 2078 WDFREQUEST Request 2079 ); 2080 2081 _IRQL_requires_max_(DISPATCH_LEVEL) 2082 WDFAPI 2083 WDFQUEUE 2084 STDCALL 2085 WDFEXPORT(WdfDeviceGetDefaultQueue)( 2086 _In_ 2087 PWDF_DRIVER_GLOBALS DriverGlobals, 2088 _In_ 2089 WDFDEVICE Device 2090 ); 2091 2092 _Must_inspect_result_ 2093 _IRQL_requires_max_(DISPATCH_LEVEL) 2094 WDFAPI 2095 NTSTATUS 2096 STDCALL 2097 WDFEXPORT(WdfDeviceConfigureRequestDispatching)( 2098 _In_ 2099 PWDF_DRIVER_GLOBALS DriverGlobals, 2100 _In_ 2101 WDFDEVICE Device, 2102 _In_ 2103 WDFQUEUE Queue, 2104 _In_ 2105 _Strict_type_match_ 2106 WDF_REQUEST_TYPE RequestType 2107 ); 2108 2109 _Must_inspect_result_ 2110 _IRQL_requires_max_(DISPATCH_LEVEL) 2111 WDFAPI 2112 NTSTATUS 2113 STDCALL 2114 WDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)( 2115 _In_ 2116 PWDF_DRIVER_GLOBALS DriverGlobals, 2117 _In_ 2118 WDFDEVICE Device, 2119 _In_opt_ 2120 WDFDRIVER Driver, 2121 _In_ 2122 UCHAR MajorFunction, 2123 _In_ 2124 PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDisptach, 2125 _In_opt_ 2126 WDFCONTEXT DriverContext 2127 ); 2128 2129 _IRQL_requires_max_(DISPATCH_LEVEL) 2130 WDFAPI 2131 POWER_ACTION 2132 STDCALL 2133 WDFEXPORT(WdfDeviceGetSystemPowerAction)( 2134 _In_ 2135 PWDF_DRIVER_GLOBALS DriverGlobals, 2136 _In_ 2137 WDFDEVICE Device 2138 ); 2139 2140 _Must_inspect_result_ 2141 _IRQL_requires_max_(PASSIVE_LEVEL) 2142 WDFAPI 2143 NTSTATUS 2144 STDCALL 2145 WDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings)( 2146 _In_ 2147 PWDF_DRIVER_GLOBALS DriverGlobals, 2148 _In_ 2149 WDFDEVICE Device, 2150 _In_ 2151 PWDF_POWER_FRAMEWORK_SETTINGS PowerFrameworkSettings 2152 ); 2153 2154 _IRQL_requires_max_(DISPATCH_LEVEL) 2155 WDFAPI 2156 VOID 2157 STDCALL 2158 WDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)( 2159 _In_ 2160 PWDF_DRIVER_GLOBALS DriverGlobals, 2161 _In_ 2162 PWDFDEVICE_INIT DeviceInit, 2163 _In_ 2164 WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure 2165 ); 2166 2167 _IRQL_requires_max_(PASSIVE_LEVEL) 2168 WDFAPI 2169 VOID 2170 STDCALL 2171 WDFEXPORT(WdfDeviceInitSetIoTypeEx)( 2172 _In_ 2173 PWDF_DRIVER_GLOBALS DriverGlobals, 2174 _In_ 2175 PWDFDEVICE_INIT DeviceInit, 2176 _In_ 2177 PWDF_IO_TYPE_CONFIG IoTypeConfig 2178 ); 2179 2180 _Must_inspect_result_ 2181 _IRQL_requires_max_(APC_LEVEL) 2182 WDFAPI 2183 NTSTATUS 2184 STDCALL 2185 WDFEXPORT(WdfDeviceQueryPropertyEx)( 2186 _In_ 2187 PWDF_DRIVER_GLOBALS DriverGlobals, 2188 _In_ 2189 WDFDEVICE Device, 2190 _In_ 2191 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 2192 _In_ 2193 ULONG BufferLength, 2194 _Out_ 2195 PVOID PropertyBuffer, 2196 _Out_ 2197 PULONG RequiredSize, 2198 _Out_ 2199 PDEVPROPTYPE Type 2200 ); 2201 2202 _Must_inspect_result_ 2203 _IRQL_requires_max_(APC_LEVEL) 2204 WDFAPI 2205 NTSTATUS 2206 STDCALL 2207 WDFEXPORT(WdfDeviceAllocAndQueryPropertyEx)( 2208 _In_ 2209 PWDF_DRIVER_GLOBALS DriverGlobals, 2210 _In_ 2211 WDFDEVICE Device, 2212 _In_ 2213 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 2214 _In_ 2215 _Strict_type_match_ 2216 POOL_TYPE PoolType, 2217 _In_opt_ 2218 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 2219 _Out_ 2220 WDFMEMORY* PropertyMemory, 2221 _Out_ 2222 PDEVPROPTYPE Type 2223 ); 2224 2225 _Must_inspect_result_ 2226 _IRQL_requires_max_(APC_LEVEL) 2227 WDFAPI 2228 NTSTATUS 2229 STDCALL 2230 WDFEXPORT(WdfDeviceAssignProperty)( 2231 _In_ 2232 PWDF_DRIVER_GLOBALS DriverGlobals, 2233 _In_ 2234 WDFDEVICE Device, 2235 _In_ 2236 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 2237 _In_ 2238 DEVPROPTYPE Type, 2239 _In_ 2240 ULONG Size, 2241 _In_opt_ 2242 PVOID Data 2243 ); 2244 2245 _IRQL_requires_max_(DISPATCH_LEVEL) 2246 WDFAPI 2247 WDFIOTARGET 2248 STDCALL 2249 WDFEXPORT(WdfDeviceGetSelfIoTarget)( 2250 _In_ 2251 PWDF_DRIVER_GLOBALS DriverGlobals, 2252 _In_ 2253 WDFDEVICE Device 2254 ); 2255 2256 _IRQL_requires_max_(DISPATCH_LEVEL) 2257 WDFAPI 2258 VOID 2259 STDCALL 2260 WDFEXPORT(WdfDeviceInitAllowSelfIoTarget)( 2261 _In_ 2262 PWDF_DRIVER_GLOBALS DriverGlobals, 2263 _In_ 2264 PWDFDEVICE_INIT DeviceInit 2265 ); 2266 2267 _Must_inspect_result_ 2268 _IRQL_requires_max_(PASSIVE_LEVEL) 2269 WDFAPI 2270 NTSTATUS 2271 STDCALL 2272 WDFEXPORT(WdfDmaEnablerCreate)( 2273 _In_ 2274 PWDF_DRIVER_GLOBALS DriverGlobals, 2275 _In_ 2276 WDFDEVICE Device, 2277 _In_ 2278 PWDF_DMA_ENABLER_CONFIG Config, 2279 _In_opt_ 2280 PWDF_OBJECT_ATTRIBUTES Attributes, 2281 _Out_ 2282 WDFDMAENABLER* DmaEnablerHandle 2283 ); 2284 2285 _Must_inspect_result_ 2286 _IRQL_requires_max_(PASSIVE_LEVEL) 2287 WDFAPI 2288 NTSTATUS 2289 STDCALL 2290 WDFEXPORT(WdfDmaEnablerConfigureSystemProfile)( 2291 _In_ 2292 PWDF_DRIVER_GLOBALS DriverGlobals, 2293 _In_ 2294 WDFDMAENABLER DmaEnabler, 2295 _In_ 2296 PWDF_DMA_SYSTEM_PROFILE_CONFIG ProfileConfig, 2297 _In_ 2298 WDF_DMA_DIRECTION ConfigDirection 2299 ); 2300 2301 _IRQL_requires_max_(DISPATCH_LEVEL) 2302 WDFAPI 2303 size_t 2304 STDCALL 2305 WDFEXPORT(WdfDmaEnablerGetMaximumLength)( 2306 _In_ 2307 PWDF_DRIVER_GLOBALS DriverGlobals, 2308 _In_ 2309 WDFDMAENABLER DmaEnabler 2310 ); 2311 2312 _IRQL_requires_max_(DISPATCH_LEVEL) 2313 WDFAPI 2314 size_t 2315 STDCALL 2316 WDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements)( 2317 _In_ 2318 PWDF_DRIVER_GLOBALS DriverGlobals, 2319 _In_ 2320 WDFDMAENABLER DmaEnabler 2321 ); 2322 2323 _IRQL_requires_max_(PASSIVE_LEVEL) 2324 WDFAPI 2325 VOID 2326 STDCALL 2327 WDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements)( 2328 _In_ 2329 PWDF_DRIVER_GLOBALS DriverGlobals, 2330 _In_ 2331 WDFDMAENABLER DmaEnabler, 2332 _In_ 2333 _When_(MaximumFragments == 0, __drv_reportError(MaximumFragments cannot be zero)) 2334 size_t MaximumFragments 2335 ); 2336 2337 _IRQL_requires_max_(DISPATCH_LEVEL) 2338 WDFAPI 2339 size_t 2340 STDCALL 2341 WDFEXPORT(WdfDmaEnablerGetFragmentLength)( 2342 _In_ 2343 PWDF_DRIVER_GLOBALS DriverGlobals, 2344 _In_ 2345 WDFDMAENABLER DmaEnabler, 2346 _In_ 2347 WDF_DMA_DIRECTION DmaDirection 2348 ); 2349 2350 _IRQL_requires_max_(DISPATCH_LEVEL) 2351 WDFAPI 2352 PDMA_ADAPTER 2353 STDCALL 2354 WDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter)( 2355 _In_ 2356 PWDF_DRIVER_GLOBALS DriverGlobals, 2357 _In_ 2358 WDFDMAENABLER DmaEnabler, 2359 _In_ 2360 WDF_DMA_DIRECTION DmaDirection 2361 ); 2362 2363 _Must_inspect_result_ 2364 _IRQL_requires_max_(DISPATCH_LEVEL) 2365 WDFAPI 2366 NTSTATUS 2367 STDCALL 2368 WDFEXPORT(WdfDmaTransactionCreate)( 2369 _In_ 2370 PWDF_DRIVER_GLOBALS DriverGlobals, 2371 _In_ 2372 WDFDMAENABLER DmaEnabler, 2373 _In_opt_ 2374 PWDF_OBJECT_ATTRIBUTES Attributes, 2375 _Out_ 2376 WDFDMATRANSACTION* DmaTransaction 2377 ); 2378 2379 _Must_inspect_result_ 2380 _IRQL_requires_max_(DISPATCH_LEVEL) 2381 WDFAPI 2382 NTSTATUS 2383 STDCALL 2384 WDFEXPORT(WdfDmaTransactionInitialize)( 2385 _In_ 2386 PWDF_DRIVER_GLOBALS DriverGlobals, 2387 _In_ 2388 WDFDMATRANSACTION DmaTransaction, 2389 _In_ 2390 PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction, 2391 _In_ 2392 WDF_DMA_DIRECTION DmaDirection, 2393 _In_ 2394 PMDL Mdl, 2395 _In_ 2396 PVOID VirtualAddress, 2397 _In_ 2398 _When_(Length == 0, __drv_reportError(Length cannot be zero)) 2399 size_t Length 2400 ); 2401 2402 _Must_inspect_result_ 2403 _IRQL_requires_max_(DISPATCH_LEVEL) 2404 WDFAPI 2405 NTSTATUS 2406 STDCALL 2407 WDFEXPORT(WdfDmaTransactionInitializeUsingOffset)( 2408 _In_ 2409 PWDF_DRIVER_GLOBALS DriverGlobals, 2410 _In_ 2411 WDFDMATRANSACTION DmaTransaction, 2412 _In_ 2413 PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction, 2414 _In_ 2415 WDF_DMA_DIRECTION DmaDirection, 2416 _In_ 2417 PMDL Mdl, 2418 _In_ 2419 size_t Offset, 2420 _In_ 2421 _When_(Length == 0, __drv_reportError(Length cannot be zero)) 2422 size_t Length 2423 ); 2424 2425 _Must_inspect_result_ 2426 _IRQL_requires_max_(DISPATCH_LEVEL) 2427 WDFAPI 2428 NTSTATUS 2429 STDCALL 2430 WDFEXPORT(WdfDmaTransactionInitializeUsingRequest)( 2431 _In_ 2432 PWDF_DRIVER_GLOBALS DriverGlobals, 2433 _In_ 2434 WDFDMATRANSACTION DmaTransaction, 2435 _In_ 2436 WDFREQUEST Request, 2437 _In_ 2438 PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction, 2439 _In_ 2440 WDF_DMA_DIRECTION DmaDirection 2441 ); 2442 2443 _Must_inspect_result_ 2444 _IRQL_requires_max_(DISPATCH_LEVEL) 2445 WDFAPI 2446 NTSTATUS 2447 STDCALL 2448 WDFEXPORT(WdfDmaTransactionExecute)( 2449 _In_ 2450 PWDF_DRIVER_GLOBALS DriverGlobals, 2451 _In_ 2452 WDFDMATRANSACTION DmaTransaction, 2453 _In_opt_ 2454 WDFCONTEXT Context 2455 ); 2456 2457 _Success_(TRUE) 2458 _IRQL_requires_max_(DISPATCH_LEVEL) 2459 WDFAPI 2460 NTSTATUS 2461 STDCALL 2462 WDFEXPORT(WdfDmaTransactionRelease)( 2463 _In_ 2464 PWDF_DRIVER_GLOBALS DriverGlobals, 2465 _In_ 2466 WDFDMATRANSACTION DmaTransaction 2467 ); 2468 2469 _IRQL_requires_max_(DISPATCH_LEVEL) 2470 WDFAPI 2471 BOOLEAN 2472 STDCALL 2473 WDFEXPORT(WdfDmaTransactionDmaCompleted)( 2474 _In_ 2475 PWDF_DRIVER_GLOBALS DriverGlobals, 2476 _In_ 2477 WDFDMATRANSACTION DmaTransaction, 2478 _Out_ 2479 NTSTATUS* Status 2480 ); 2481 2482 _IRQL_requires_max_(DISPATCH_LEVEL) 2483 WDFAPI 2484 BOOLEAN 2485 STDCALL 2486 WDFEXPORT(WdfDmaTransactionDmaCompletedWithLength)( 2487 _In_ 2488 PWDF_DRIVER_GLOBALS DriverGlobals, 2489 _In_ 2490 WDFDMATRANSACTION DmaTransaction, 2491 _In_ 2492 size_t TransferredLength, 2493 _Out_ 2494 NTSTATUS* Status 2495 ); 2496 2497 _IRQL_requires_max_(DISPATCH_LEVEL) 2498 WDFAPI 2499 BOOLEAN 2500 STDCALL 2501 WDFEXPORT(WdfDmaTransactionDmaCompletedFinal)( 2502 _In_ 2503 PWDF_DRIVER_GLOBALS DriverGlobals, 2504 _In_ 2505 WDFDMATRANSACTION DmaTransaction, 2506 _In_ 2507 size_t FinalTransferredLength, 2508 _Out_ 2509 NTSTATUS* Status 2510 ); 2511 2512 _IRQL_requires_max_(DISPATCH_LEVEL) 2513 WDFAPI 2514 size_t 2515 STDCALL 2516 WDFEXPORT(WdfDmaTransactionGetBytesTransferred)( 2517 _In_ 2518 PWDF_DRIVER_GLOBALS DriverGlobals, 2519 _In_ 2520 WDFDMATRANSACTION DmaTransaction 2521 ); 2522 2523 _IRQL_requires_max_(DISPATCH_LEVEL) 2524 WDFAPI 2525 VOID 2526 STDCALL 2527 WDFEXPORT(WdfDmaTransactionSetMaximumLength)( 2528 _In_ 2529 PWDF_DRIVER_GLOBALS DriverGlobals, 2530 _In_ 2531 WDFDMATRANSACTION DmaTransaction, 2532 _In_ 2533 size_t MaximumLength 2534 ); 2535 2536 _IRQL_requires_max_(DISPATCH_LEVEL) 2537 WDFAPI 2538 WDFREQUEST 2539 STDCALL 2540 WDFEXPORT(WdfDmaTransactionGetRequest)( 2541 _In_ 2542 PWDF_DRIVER_GLOBALS DriverGlobals, 2543 _In_ 2544 WDFDMATRANSACTION DmaTransaction 2545 ); 2546 2547 _IRQL_requires_max_(DISPATCH_LEVEL) 2548 WDFAPI 2549 size_t 2550 STDCALL 2551 WDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength)( 2552 _In_ 2553 PWDF_DRIVER_GLOBALS DriverGlobals, 2554 _In_ 2555 WDFDMATRANSACTION DmaTransaction 2556 ); 2557 2558 _IRQL_requires_max_(DISPATCH_LEVEL) 2559 WDFAPI 2560 WDFDEVICE 2561 STDCALL 2562 WDFEXPORT(WdfDmaTransactionGetDevice)( 2563 _In_ 2564 PWDF_DRIVER_GLOBALS DriverGlobals, 2565 _In_ 2566 WDFDMATRANSACTION DmaTransaction 2567 ); 2568 2569 _IRQL_requires_max_(DISPATCH_LEVEL) 2570 WDFAPI 2571 VOID 2572 STDCALL 2573 WDFEXPORT(WdfDmaTransactionGetTransferInfo)( 2574 _In_ 2575 PWDF_DRIVER_GLOBALS DriverGlobals, 2576 _In_ 2577 WDFDMATRANSACTION DmaTransaction, 2578 _Out_opt_ 2579 ULONG* MapRegisterCount, 2580 _Out_opt_ 2581 ULONG* ScatterGatherElementCount 2582 ); 2583 2584 _IRQL_requires_max_(DISPATCH_LEVEL) 2585 WDFAPI 2586 VOID 2587 STDCALL 2588 WDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback)( 2589 _In_ 2590 PWDF_DRIVER_GLOBALS DriverGlobals, 2591 _In_ 2592 WDFDMATRANSACTION DmaTransaction, 2593 _In_opt_ 2594 PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL ConfigureRoutine, 2595 _In_opt_ 2596 PVOID ConfigureContext 2597 ); 2598 2599 _IRQL_requires_max_(DISPATCH_LEVEL) 2600 WDFAPI 2601 VOID 2602 STDCALL 2603 WDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback)( 2604 _In_ 2605 PWDF_DRIVER_GLOBALS DriverGlobals, 2606 _In_ 2607 WDFDMATRANSACTION DmaTransaction, 2608 _In_opt_ 2609 PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine, 2610 _In_opt_ 2611 PVOID DmaCompletionContext 2612 ); 2613 2614 _IRQL_requires_max_(DISPATCH_LEVEL) 2615 WDFAPI 2616 VOID 2617 STDCALL 2618 WDFEXPORT(WdfDmaTransactionSetImmediateExecution)( 2619 _In_ 2620 PWDF_DRIVER_GLOBALS DriverGlobals, 2621 _In_ 2622 WDFDMATRANSACTION DmaTransaction, 2623 _In_ 2624 BOOLEAN UseImmediateExecution 2625 ); 2626 2627 _IRQL_requires_max_(DISPATCH_LEVEL) 2628 WDFAPI 2629 NTSTATUS 2630 STDCALL 2631 WDFEXPORT(WdfDmaTransactionAllocateResources)( 2632 _In_ 2633 PWDF_DRIVER_GLOBALS DriverGlobals, 2634 _In_ 2635 WDFDMATRANSACTION DmaTransaction, 2636 _In_ 2637 WDF_DMA_DIRECTION DmaDirection, 2638 _In_ 2639 ULONG RequiredMapRegisters, 2640 _In_ 2641 PFN_WDF_RESERVE_DMA EvtReserveDmaFunction, 2642 _In_ 2643 PVOID EvtReserveDmaContext 2644 ); 2645 2646 _IRQL_requires_max_(DISPATCH_LEVEL) 2647 WDFAPI 2648 VOID 2649 STDCALL 2650 WDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset)( 2651 _In_ 2652 PWDF_DRIVER_GLOBALS DriverGlobals, 2653 _In_ 2654 WDFDMATRANSACTION DmaTransaction, 2655 _In_ 2656 ULONG Offset 2657 ); 2658 2659 _IRQL_requires_max_(DISPATCH_LEVEL) 2660 WDFAPI 2661 VOID 2662 STDCALL 2663 WDFEXPORT(WdfDmaTransactionFreeResources)( 2664 _In_ 2665 PWDF_DRIVER_GLOBALS DriverGlobals, 2666 _In_ 2667 WDFDMATRANSACTION DmaTransaction 2668 ); 2669 2670 _IRQL_requires_max_(DISPATCH_LEVEL) 2671 WDFAPI 2672 BOOLEAN 2673 STDCALL 2674 WDFEXPORT(WdfDmaTransactionCancel)( 2675 _In_ 2676 PWDF_DRIVER_GLOBALS DriverGlobals, 2677 _In_ 2678 WDFDMATRANSACTION DmaTransaction 2679 ); 2680 2681 _IRQL_requires_max_(DISPATCH_LEVEL) 2682 WDFAPI 2683 PVOID 2684 STDCALL 2685 WDFEXPORT(WdfDmaTransactionWdmGetTransferContext)( 2686 _In_ 2687 PWDF_DRIVER_GLOBALS DriverGlobals, 2688 _In_ 2689 WDFDMATRANSACTION DmaTransaction 2690 ); 2691 2692 _IRQL_requires_max_(DISPATCH_LEVEL) 2693 WDFAPI 2694 VOID 2695 STDCALL 2696 WDFEXPORT(WdfDmaTransactionStopSystemTransfer)( 2697 _In_ 2698 PWDF_DRIVER_GLOBALS DriverGlobals, 2699 _In_ 2700 WDFDMATRANSACTION DmaTransaction 2701 ); 2702 2703 _Must_inspect_result_ 2704 _IRQL_requires_max_(DISPATCH_LEVEL) 2705 WDFAPI 2706 NTSTATUS 2707 STDCALL 2708 WDFEXPORT(WdfDpcCreate)( 2709 _In_ 2710 PWDF_DRIVER_GLOBALS DriverGlobals, 2711 _In_ 2712 PWDF_DPC_CONFIG Config, 2713 _In_ 2714 PWDF_OBJECT_ATTRIBUTES Attributes, 2715 _Out_ 2716 WDFDPC* Dpc 2717 ); 2718 2719 _IRQL_requires_max_(HIGH_LEVEL) 2720 WDFAPI 2721 BOOLEAN 2722 STDCALL 2723 WDFEXPORT(WdfDpcEnqueue)( 2724 _In_ 2725 PWDF_DRIVER_GLOBALS DriverGlobals, 2726 _In_ 2727 WDFDPC Dpc 2728 ); 2729 2730 _When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL)) 2731 _When_(Wait == __false, _IRQL_requires_max_(HIGH_LEVEL)) 2732 WDFAPI 2733 BOOLEAN 2734 STDCALL 2735 WDFEXPORT(WdfDpcCancel)( 2736 _In_ 2737 PWDF_DRIVER_GLOBALS DriverGlobals, 2738 _In_ 2739 WDFDPC Dpc, 2740 _In_ 2741 BOOLEAN Wait 2742 ); 2743 2744 _IRQL_requires_max_(HIGH_LEVEL) 2745 WDFAPI 2746 WDFOBJECT 2747 STDCALL 2748 WDFEXPORT(WdfDpcGetParentObject)( 2749 _In_ 2750 PWDF_DRIVER_GLOBALS DriverGlobals, 2751 _In_ 2752 WDFDPC Dpc 2753 ); 2754 2755 _IRQL_requires_max_(HIGH_LEVEL) 2756 WDFAPI 2757 PKDPC 2758 STDCALL 2759 WDFEXPORT(WdfDpcWdmGetDpc)( 2760 _In_ 2761 PWDF_DRIVER_GLOBALS DriverGlobals, 2762 _In_ 2763 WDFDPC Dpc 2764 ); 2765 2766 _Must_inspect_result_ 2767 _IRQL_requires_max_(PASSIVE_LEVEL) 2768 WDFAPI 2769 NTSTATUS 2770 STDCALL 2771 WDFEXPORT(WdfDriverCreate)( 2772 _In_ 2773 PWDF_DRIVER_GLOBALS DriverGlobals, 2774 _In_ 2775 PDRIVER_OBJECT DriverObject, 2776 _In_ 2777 PCUNICODE_STRING RegistryPath, 2778 _In_opt_ 2779 PWDF_OBJECT_ATTRIBUTES DriverAttributes, 2780 _In_ 2781 PWDF_DRIVER_CONFIG DriverConfig, 2782 _Out_opt_ 2783 WDFDRIVER* Driver 2784 ); 2785 2786 _IRQL_requires_max_(PASSIVE_LEVEL) 2787 WDFAPI 2788 PWSTR 2789 STDCALL 2790 WDFEXPORT(WdfDriverGetRegistryPath)( 2791 _In_ 2792 PWDF_DRIVER_GLOBALS DriverGlobals, 2793 _In_ 2794 WDFDRIVER Driver 2795 ); 2796 2797 _IRQL_requires_max_(DISPATCH_LEVEL) 2798 WDFAPI 2799 PDRIVER_OBJECT 2800 STDCALL 2801 WDFEXPORT(WdfDriverWdmGetDriverObject)( 2802 _In_ 2803 PWDF_DRIVER_GLOBALS DriverGlobals, 2804 _In_ 2805 WDFDRIVER Driver 2806 ); 2807 2808 _Must_inspect_result_ 2809 _IRQL_requires_max_(PASSIVE_LEVEL) 2810 WDFAPI 2811 NTSTATUS 2812 STDCALL 2813 WDFEXPORT(WdfDriverOpenParametersRegistryKey)( 2814 _In_ 2815 PWDF_DRIVER_GLOBALS DriverGlobals, 2816 _In_ 2817 WDFDRIVER Driver, 2818 _In_ 2819 ACCESS_MASK DesiredAccess, 2820 _In_opt_ 2821 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 2822 _Out_ 2823 WDFKEY* Key 2824 ); 2825 2826 _IRQL_requires_max_(DISPATCH_LEVEL) 2827 WDFAPI 2828 WDFDRIVER 2829 STDCALL 2830 WDFEXPORT(WdfWdmDriverGetWdfDriverHandle)( 2831 _In_ 2832 PWDF_DRIVER_GLOBALS DriverGlobals, 2833 _In_ 2834 PDRIVER_OBJECT DriverObject 2835 ); 2836 2837 _Must_inspect_result_ 2838 _IRQL_requires_max_(PASSIVE_LEVEL) 2839 WDFAPI 2840 NTSTATUS 2841 STDCALL 2842 WDFEXPORT(WdfDriverRegisterTraceInfo)( 2843 _In_ 2844 PWDF_DRIVER_GLOBALS DriverGlobals, 2845 _In_ 2846 PDRIVER_OBJECT DriverObject, 2847 _In_ 2848 PFN_WDF_TRACE_CALLBACK EvtTraceCallback, 2849 _In_ 2850 PVOID ControlBlock 2851 ); 2852 2853 _Must_inspect_result_ 2854 _IRQL_requires_max_(PASSIVE_LEVEL) 2855 WDFAPI 2856 NTSTATUS 2857 STDCALL 2858 WDFEXPORT(WdfDriverRetrieveVersionString)( 2859 _In_ 2860 PWDF_DRIVER_GLOBALS DriverGlobals, 2861 _In_ 2862 WDFDRIVER Driver, 2863 _In_ 2864 WDFSTRING String 2865 ); 2866 2867 _Must_inspect_result_ 2868 _IRQL_requires_max_(PASSIVE_LEVEL) 2869 WDFAPI 2870 BOOLEAN 2871 STDCALL 2872 WDFEXPORT(WdfDriverIsVersionAvailable)( 2873 _In_ 2874 PWDF_DRIVER_GLOBALS DriverGlobals, 2875 _In_ 2876 WDFDRIVER Driver, 2877 _In_ 2878 PWDF_DRIVER_VERSION_AVAILABLE_PARAMS VersionAvailableParams 2879 ); 2880 2881 _IRQL_requires_max_(DISPATCH_LEVEL) 2882 WDFAPI 2883 PDEVICE_OBJECT 2884 STDCALL 2885 WDFEXPORT(WdfFdoInitWdmGetPhysicalDevice)( 2886 _In_ 2887 PWDF_DRIVER_GLOBALS DriverGlobals, 2888 _In_ 2889 PWDFDEVICE_INIT DeviceInit 2890 ); 2891 2892 _Must_inspect_result_ 2893 _IRQL_requires_max_(PASSIVE_LEVEL) 2894 WDFAPI 2895 NTSTATUS 2896 STDCALL 2897 WDFEXPORT(WdfFdoInitOpenRegistryKey)( 2898 _In_ 2899 PWDF_DRIVER_GLOBALS DriverGlobals, 2900 _In_ 2901 PWDFDEVICE_INIT DeviceInit, 2902 _In_ 2903 ULONG DeviceInstanceKeyType, 2904 _In_ 2905 ACCESS_MASK DesiredAccess, 2906 _In_opt_ 2907 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 2908 _Out_ 2909 WDFKEY* Key 2910 ); 2911 2912 _Must_inspect_result_ 2913 _IRQL_requires_max_(PASSIVE_LEVEL) 2914 WDFAPI 2915 NTSTATUS 2916 STDCALL 2917 WDFEXPORT(WdfFdoInitQueryProperty)( 2918 _In_ 2919 PWDF_DRIVER_GLOBALS DriverGlobals, 2920 _In_ 2921 PWDFDEVICE_INIT DeviceInit, 2922 _In_ 2923 DEVICE_REGISTRY_PROPERTY DeviceProperty, 2924 _In_ 2925 ULONG BufferLength, 2926 _Out_writes_bytes_all_opt_(BufferLength) 2927 PVOID PropertyBuffer, 2928 _Out_ 2929 PULONG ResultLength 2930 ); 2931 2932 _Must_inspect_result_ 2933 _IRQL_requires_max_(PASSIVE_LEVEL) 2934 WDFAPI 2935 NTSTATUS 2936 STDCALL 2937 WDFEXPORT(WdfFdoInitAllocAndQueryProperty)( 2938 _In_ 2939 PWDF_DRIVER_GLOBALS DriverGlobals, 2940 _In_ 2941 PWDFDEVICE_INIT DeviceInit, 2942 _In_ 2943 DEVICE_REGISTRY_PROPERTY DeviceProperty, 2944 _In_ 2945 _Strict_type_match_ 2946 POOL_TYPE PoolType, 2947 _In_opt_ 2948 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 2949 _Out_ 2950 WDFMEMORY* PropertyMemory 2951 ); 2952 2953 _Must_inspect_result_ 2954 _IRQL_requires_max_(PASSIVE_LEVEL) 2955 WDFAPI 2956 NTSTATUS 2957 STDCALL 2958 WDFEXPORT(WdfFdoInitQueryPropertyEx)( 2959 _In_ 2960 PWDF_DRIVER_GLOBALS DriverGlobals, 2961 _In_ 2962 PWDFDEVICE_INIT DeviceInit, 2963 _In_ 2964 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 2965 _In_ 2966 ULONG BufferLength, 2967 _Out_ 2968 PVOID PropertyBuffer, 2969 _Out_ 2970 PULONG ResultLength, 2971 _Out_ 2972 PDEVPROPTYPE Type 2973 ); 2974 2975 _Must_inspect_result_ 2976 _IRQL_requires_max_(PASSIVE_LEVEL) 2977 WDFAPI 2978 NTSTATUS 2979 STDCALL 2980 WDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)( 2981 _In_ 2982 PWDF_DRIVER_GLOBALS DriverGlobals, 2983 _In_ 2984 PWDFDEVICE_INIT DeviceInit, 2985 _In_ 2986 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 2987 _In_ 2988 _Strict_type_match_ 2989 POOL_TYPE PoolType, 2990 _In_opt_ 2991 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 2992 _Out_ 2993 WDFMEMORY* PropertyMemory, 2994 _Out_ 2995 PDEVPROPTYPE Type 2996 ); 2997 2998 _IRQL_requires_max_(PASSIVE_LEVEL) 2999 WDFAPI 3000 VOID 3001 STDCALL 3002 WDFEXPORT(WdfFdoInitSetEventCallbacks)( 3003 _In_ 3004 PWDF_DRIVER_GLOBALS DriverGlobals, 3005 _In_ 3006 PWDFDEVICE_INIT DeviceInit, 3007 _In_ 3008 PWDF_FDO_EVENT_CALLBACKS FdoEventCallbacks 3009 ); 3010 3011 _IRQL_requires_max_(PASSIVE_LEVEL) 3012 WDFAPI 3013 VOID 3014 STDCALL 3015 WDFEXPORT(WdfFdoInitSetFilter)( 3016 _In_ 3017 PWDF_DRIVER_GLOBALS DriverGlobals, 3018 _In_ 3019 PWDFDEVICE_INIT DeviceInit 3020 ); 3021 3022 _IRQL_requires_max_(PASSIVE_LEVEL) 3023 WDFAPI 3024 VOID 3025 STDCALL 3026 WDFEXPORT(WdfFdoInitSetDefaultChildListConfig)( 3027 _In_ 3028 PWDF_DRIVER_GLOBALS DriverGlobals, 3029 _Inout_ 3030 PWDFDEVICE_INIT DeviceInit, 3031 _In_ 3032 PWDF_CHILD_LIST_CONFIG Config, 3033 _In_opt_ 3034 PWDF_OBJECT_ATTRIBUTES DefaultChildListAttributes 3035 ); 3036 3037 _Must_inspect_result_ 3038 _IRQL_requires_max_(PASSIVE_LEVEL) 3039 WDFAPI 3040 NTSTATUS 3041 STDCALL 3042 WDFEXPORT(WdfFdoQueryForInterface)( 3043 _In_ 3044 PWDF_DRIVER_GLOBALS DriverGlobals, 3045 _In_ 3046 WDFDEVICE Fdo, 3047 _In_ 3048 LPCGUID InterfaceType, 3049 _Out_ 3050 PINTERFACE Interface, 3051 _In_ 3052 USHORT Size, 3053 _In_ 3054 USHORT Version, 3055 _In_opt_ 3056 PVOID InterfaceSpecificData 3057 ); 3058 3059 _IRQL_requires_max_(DISPATCH_LEVEL) 3060 WDFAPI 3061 WDFCHILDLIST 3062 STDCALL 3063 WDFEXPORT(WdfFdoGetDefaultChildList)( 3064 _In_ 3065 PWDF_DRIVER_GLOBALS DriverGlobals, 3066 _In_ 3067 WDFDEVICE Fdo 3068 ); 3069 3070 _Must_inspect_result_ 3071 _IRQL_requires_max_(DISPATCH_LEVEL) 3072 WDFAPI 3073 NTSTATUS 3074 STDCALL 3075 WDFEXPORT(WdfFdoAddStaticChild)( 3076 _In_ 3077 PWDF_DRIVER_GLOBALS DriverGlobals, 3078 _In_ 3079 WDFDEVICE Fdo, 3080 _In_ 3081 WDFDEVICE Child 3082 ); 3083 3084 _IRQL_requires_max_(DISPATCH_LEVEL) 3085 WDFAPI 3086 VOID 3087 STDCALL 3088 WDFEXPORT(WdfFdoLockStaticChildListForIteration)( 3089 _In_ 3090 PWDF_DRIVER_GLOBALS DriverGlobals, 3091 _In_ 3092 WDFDEVICE Fdo 3093 ); 3094 3095 _Must_inspect_result_ 3096 _IRQL_requires_max_(DISPATCH_LEVEL) 3097 WDFAPI 3098 WDFDEVICE 3099 STDCALL 3100 WDFEXPORT(WdfFdoRetrieveNextStaticChild)( 3101 _In_ 3102 PWDF_DRIVER_GLOBALS DriverGlobals, 3103 _In_ 3104 WDFDEVICE Fdo, 3105 _In_opt_ 3106 WDFDEVICE PreviousChild, 3107 _In_ 3108 ULONG Flags 3109 ); 3110 3111 _IRQL_requires_max_(DISPATCH_LEVEL) 3112 WDFAPI 3113 VOID 3114 STDCALL 3115 WDFEXPORT(WdfFdoUnlockStaticChildListFromIteration)( 3116 _In_ 3117 PWDF_DRIVER_GLOBALS DriverGlobals, 3118 _In_ 3119 WDFDEVICE Fdo 3120 ); 3121 3122 _IRQL_requires_max_(PASSIVE_LEVEL) 3123 WDFAPI 3124 PUNICODE_STRING 3125 STDCALL 3126 WDFEXPORT(WdfFileObjectGetFileName)( 3127 _In_ 3128 PWDF_DRIVER_GLOBALS DriverGlobals, 3129 _In_ 3130 WDFFILEOBJECT FileObject 3131 ); 3132 3133 _IRQL_requires_max_(DISPATCH_LEVEL) 3134 WDFAPI 3135 ULONG 3136 STDCALL 3137 WDFEXPORT(WdfFileObjectGetFlags)( 3138 _In_ 3139 PWDF_DRIVER_GLOBALS DriverGlobals, 3140 _In_ 3141 WDFFILEOBJECT FileObject 3142 ); 3143 3144 _IRQL_requires_max_(DISPATCH_LEVEL) 3145 WDFAPI 3146 WDFDEVICE 3147 STDCALL 3148 WDFEXPORT(WdfFileObjectGetDevice)( 3149 _In_ 3150 PWDF_DRIVER_GLOBALS DriverGlobals, 3151 _In_ 3152 WDFFILEOBJECT FileObject 3153 ); 3154 3155 _IRQL_requires_max_(DISPATCH_LEVEL) 3156 WDFAPI 3157 PFILE_OBJECT 3158 STDCALL 3159 WDFEXPORT(WdfFileObjectWdmGetFileObject)( 3160 _In_ 3161 PWDF_DRIVER_GLOBALS DriverGlobals, 3162 _In_ 3163 WDFFILEOBJECT FileObject 3164 ); 3165 3166 _Must_inspect_result_ 3167 _IRQL_requires_max_(DISPATCH_LEVEL) 3168 WDFAPI 3169 NTSTATUS 3170 STDCALL 3171 WDFEXPORT(WdfInterruptCreate)( 3172 _In_ 3173 PWDF_DRIVER_GLOBALS DriverGlobals, 3174 _In_ 3175 WDFDEVICE Device, 3176 _In_ 3177 PWDF_INTERRUPT_CONFIG Configuration, 3178 _In_opt_ 3179 PWDF_OBJECT_ATTRIBUTES Attributes, 3180 _Out_ 3181 WDFINTERRUPT* Interrupt 3182 ); 3183 3184 WDFAPI 3185 BOOLEAN 3186 STDCALL 3187 WDFEXPORT(WdfInterruptQueueDpcForIsr)( 3188 _In_ 3189 PWDF_DRIVER_GLOBALS DriverGlobals, 3190 _In_ 3191 WDFINTERRUPT Interrupt 3192 ); 3193 3194 WDFAPI 3195 BOOLEAN 3196 STDCALL 3197 WDFEXPORT(WdfInterruptQueueWorkItemForIsr)( 3198 _In_ 3199 PWDF_DRIVER_GLOBALS DriverGlobals, 3200 _In_ 3201 WDFINTERRUPT Interrupt 3202 ); 3203 3204 _IRQL_requires_max_(DISPATCH_LEVEL) 3205 WDFAPI 3206 BOOLEAN 3207 STDCALL 3208 WDFEXPORT(WdfInterruptSynchronize)( 3209 _In_ 3210 PWDF_DRIVER_GLOBALS DriverGlobals, 3211 _In_ 3212 WDFINTERRUPT Interrupt, 3213 _In_ 3214 PFN_WDF_INTERRUPT_SYNCHRONIZE Callback, 3215 _In_ 3216 WDFCONTEXT Context 3217 ); 3218 3219 _IRQL_requires_max_(DISPATCH_LEVEL + 1) 3220 WDFAPI 3221 VOID 3222 STDCALL 3223 WDFEXPORT(WdfInterruptAcquireLock)( 3224 _In_ 3225 PWDF_DRIVER_GLOBALS DriverGlobals, 3226 _In_ 3227 _Requires_lock_not_held_(_Curr_) 3228 _Acquires_lock_(_Curr_) 3229 WDFINTERRUPT Interrupt 3230 ); 3231 3232 _IRQL_requires_max_(DISPATCH_LEVEL + 1) 3233 WDFAPI 3234 VOID 3235 STDCALL 3236 WDFEXPORT(WdfInterruptReleaseLock)( 3237 _In_ 3238 PWDF_DRIVER_GLOBALS DriverGlobals, 3239 _In_ 3240 _Requires_lock_held_(_Curr_) 3241 _Releases_lock_(_Curr_) 3242 WDFINTERRUPT Interrupt 3243 ); 3244 3245 _IRQL_requires_max_(PASSIVE_LEVEL) 3246 WDFAPI 3247 VOID 3248 STDCALL 3249 WDFEXPORT(WdfInterruptEnable)( 3250 _In_ 3251 PWDF_DRIVER_GLOBALS DriverGlobals, 3252 _In_ 3253 WDFINTERRUPT Interrupt 3254 ); 3255 3256 _IRQL_requires_max_(PASSIVE_LEVEL) 3257 WDFAPI 3258 VOID 3259 STDCALL 3260 WDFEXPORT(WdfInterruptDisable)( 3261 _In_ 3262 PWDF_DRIVER_GLOBALS DriverGlobals, 3263 _In_ 3264 WDFINTERRUPT Interrupt 3265 ); 3266 3267 _Must_inspect_result_ 3268 WDFAPI 3269 PKINTERRUPT 3270 STDCALL 3271 WDFEXPORT(WdfInterruptWdmGetInterrupt)( 3272 _In_ 3273 PWDF_DRIVER_GLOBALS DriverGlobals, 3274 _In_ 3275 WDFINTERRUPT Interrupt 3276 ); 3277 3278 _IRQL_requires_max_(DISPATCH_LEVEL) 3279 WDFAPI 3280 VOID 3281 STDCALL 3282 WDFEXPORT(WdfInterruptGetInfo)( 3283 _In_ 3284 PWDF_DRIVER_GLOBALS DriverGlobals, 3285 _In_ 3286 WDFINTERRUPT Interrupt, 3287 _Out_ 3288 PWDF_INTERRUPT_INFO Info 3289 ); 3290 3291 _IRQL_requires_max_(DISPATCH_LEVEL) 3292 WDFAPI 3293 VOID 3294 STDCALL 3295 WDFEXPORT(WdfInterruptSetPolicy)( 3296 _In_ 3297 PWDF_DRIVER_GLOBALS DriverGlobals, 3298 _In_ 3299 WDFINTERRUPT Interrupt, 3300 _In_ 3301 WDF_INTERRUPT_POLICY Policy, 3302 _In_ 3303 WDF_INTERRUPT_PRIORITY Priority, 3304 _In_ 3305 KAFFINITY TargetProcessorSet 3306 ); 3307 3308 _IRQL_requires_max_(DISPATCH_LEVEL) 3309 WDFAPI 3310 VOID 3311 STDCALL 3312 WDFEXPORT(WdfInterruptSetExtendedPolicy)( 3313 _In_ 3314 PWDF_DRIVER_GLOBALS DriverGlobals, 3315 _In_ 3316 WDFINTERRUPT Interrupt, 3317 _In_ 3318 PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup 3319 ); 3320 3321 WDFAPI 3322 WDFDEVICE 3323 STDCALL 3324 WDFEXPORT(WdfInterruptGetDevice)( 3325 _In_ 3326 PWDF_DRIVER_GLOBALS DriverGlobals, 3327 _In_ 3328 WDFINTERRUPT Interrupt 3329 ); 3330 3331 _Must_inspect_result_ 3332 _Post_satisfies_(return == 1 || return == 0) 3333 _IRQL_requires_max_(PASSIVE_LEVEL) 3334 WDFAPI 3335 BOOLEAN 3336 STDCALL 3337 WDFEXPORT(WdfInterruptTryToAcquireLock)( 3338 _In_ 3339 PWDF_DRIVER_GLOBALS DriverGlobals, 3340 _In_ 3341 _Requires_lock_not_held_(_Curr_) 3342 _When_(return!=0, _Acquires_lock_(_Curr_)) 3343 WDFINTERRUPT Interrupt 3344 ); 3345 3346 _IRQL_requires_max_(DISPATCH_LEVEL) 3347 WDFAPI 3348 VOID 3349 STDCALL 3350 WDFEXPORT(WdfInterruptReportActive)( 3351 _In_ 3352 PWDF_DRIVER_GLOBALS DriverGlobals, 3353 _In_ 3354 WDFINTERRUPT Interrupt 3355 ); 3356 3357 _IRQL_requires_max_(DISPATCH_LEVEL) 3358 WDFAPI 3359 VOID 3360 STDCALL 3361 WDFEXPORT(WdfInterruptReportInactive)( 3362 _In_ 3363 PWDF_DRIVER_GLOBALS DriverGlobals, 3364 _In_ 3365 WDFINTERRUPT Interrupt 3366 ); 3367 3368 _Must_inspect_result_ 3369 _IRQL_requires_max_(DISPATCH_LEVEL) 3370 WDFAPI 3371 NTSTATUS 3372 STDCALL 3373 WDFEXPORT(WdfIoQueueCreate)( 3374 _In_ 3375 PWDF_DRIVER_GLOBALS DriverGlobals, 3376 _In_ 3377 WDFDEVICE Device, 3378 _In_ 3379 PWDF_IO_QUEUE_CONFIG Config, 3380 _In_opt_ 3381 PWDF_OBJECT_ATTRIBUTES QueueAttributes, 3382 _Out_opt_ 3383 WDFQUEUE* Queue 3384 ); 3385 3386 _IRQL_requires_max_(DISPATCH_LEVEL) 3387 WDFAPI 3388 WDF_IO_QUEUE_STATE 3389 STDCALL 3390 WDFEXPORT(WdfIoQueueGetState)( 3391 _In_ 3392 PWDF_DRIVER_GLOBALS DriverGlobals, 3393 _In_ 3394 WDFQUEUE Queue, 3395 _Out_opt_ 3396 PULONG QueueRequests, 3397 _Out_opt_ 3398 PULONG DriverRequests 3399 ); 3400 3401 _IRQL_requires_max_(DISPATCH_LEVEL) 3402 WDFAPI 3403 VOID 3404 STDCALL 3405 WDFEXPORT(WdfIoQueueStart)( 3406 _In_ 3407 PWDF_DRIVER_GLOBALS DriverGlobals, 3408 _In_ 3409 WDFQUEUE Queue 3410 ); 3411 3412 _IRQL_requires_max_(DISPATCH_LEVEL) 3413 WDFAPI 3414 VOID 3415 STDCALL 3416 WDFEXPORT(WdfIoQueueStop)( 3417 _In_ 3418 PWDF_DRIVER_GLOBALS DriverGlobals, 3419 _In_ 3420 WDFQUEUE Queue, 3421 _When_(Context != 0, _In_) 3422 _When_(Context == 0, _In_opt_) 3423 PFN_WDF_IO_QUEUE_STATE StopComplete, 3424 _When_(StopComplete != 0, _In_) 3425 _When_(StopComplete == 0, _In_opt_) 3426 WDFCONTEXT Context 3427 ); 3428 3429 _IRQL_requires_max_(PASSIVE_LEVEL) 3430 WDFAPI 3431 VOID 3432 STDCALL 3433 WDFEXPORT(WdfIoQueueStopSynchronously)( 3434 _In_ 3435 PWDF_DRIVER_GLOBALS DriverGlobals, 3436 _In_ 3437 WDFQUEUE Queue 3438 ); 3439 3440 _IRQL_requires_max_(DISPATCH_LEVEL) 3441 WDFAPI 3442 WDFDEVICE 3443 STDCALL 3444 WDFEXPORT(WdfIoQueueGetDevice)( 3445 _In_ 3446 PWDF_DRIVER_GLOBALS DriverGlobals, 3447 _In_ 3448 WDFQUEUE Queue 3449 ); 3450 3451 _Must_inspect_result_ 3452 _IRQL_requires_max_(DISPATCH_LEVEL) 3453 WDFAPI 3454 NTSTATUS 3455 STDCALL 3456 WDFEXPORT(WdfIoQueueRetrieveNextRequest)( 3457 _In_ 3458 PWDF_DRIVER_GLOBALS DriverGlobals, 3459 _In_ 3460 WDFQUEUE Queue, 3461 _Out_ 3462 WDFREQUEST* OutRequest 3463 ); 3464 3465 _Must_inspect_result_ 3466 _IRQL_requires_max_(DISPATCH_LEVEL) 3467 WDFAPI 3468 NTSTATUS 3469 STDCALL 3470 WDFEXPORT(WdfIoQueueRetrieveRequestByFileObject)( 3471 _In_ 3472 PWDF_DRIVER_GLOBALS DriverGlobals, 3473 _In_ 3474 WDFQUEUE Queue, 3475 _In_ 3476 WDFFILEOBJECT FileObject, 3477 _Out_ 3478 WDFREQUEST* OutRequest 3479 ); 3480 3481 _Must_inspect_result_ 3482 _IRQL_requires_max_(DISPATCH_LEVEL) 3483 WDFAPI 3484 NTSTATUS 3485 STDCALL 3486 WDFEXPORT(WdfIoQueueFindRequest)( 3487 _In_ 3488 PWDF_DRIVER_GLOBALS DriverGlobals, 3489 _In_ 3490 WDFQUEUE Queue, 3491 _In_opt_ 3492 WDFREQUEST FoundRequest, 3493 _In_opt_ 3494 WDFFILEOBJECT FileObject, 3495 _Inout_opt_ 3496 PWDF_REQUEST_PARAMETERS Parameters, 3497 _Out_ 3498 WDFREQUEST* OutRequest 3499 ); 3500 3501 _Must_inspect_result_ 3502 _IRQL_requires_max_(DISPATCH_LEVEL) 3503 WDFAPI 3504 NTSTATUS 3505 STDCALL 3506 WDFEXPORT(WdfIoQueueRetrieveFoundRequest)( 3507 _In_ 3508 PWDF_DRIVER_GLOBALS DriverGlobals, 3509 _In_ 3510 WDFQUEUE Queue, 3511 _In_ 3512 WDFREQUEST FoundRequest, 3513 _Out_ 3514 WDFREQUEST* OutRequest 3515 ); 3516 3517 _IRQL_requires_max_(PASSIVE_LEVEL) 3518 WDFAPI 3519 VOID 3520 STDCALL 3521 WDFEXPORT(WdfIoQueueDrainSynchronously)( 3522 _In_ 3523 PWDF_DRIVER_GLOBALS DriverGlobals, 3524 _In_ 3525 WDFQUEUE Queue 3526 ); 3527 3528 _IRQL_requires_max_(DISPATCH_LEVEL) 3529 WDFAPI 3530 VOID 3531 STDCALL 3532 WDFEXPORT(WdfIoQueueDrain)( 3533 _In_ 3534 PWDF_DRIVER_GLOBALS DriverGlobals, 3535 _In_ 3536 WDFQUEUE Queue, 3537 _When_(Context != 0, _In_) 3538 _When_(Context == 0, _In_opt_) 3539 PFN_WDF_IO_QUEUE_STATE DrainComplete, 3540 _When_(DrainComplete != 0, _In_) 3541 _When_(DrainComplete == 0, _In_opt_) 3542 WDFCONTEXT Context 3543 ); 3544 3545 _IRQL_requires_max_(PASSIVE_LEVEL) 3546 WDFAPI 3547 VOID 3548 STDCALL 3549 WDFEXPORT(WdfIoQueuePurgeSynchronously)( 3550 _In_ 3551 PWDF_DRIVER_GLOBALS DriverGlobals, 3552 _In_ 3553 WDFQUEUE Queue 3554 ); 3555 3556 _IRQL_requires_max_(DISPATCH_LEVEL) 3557 WDFAPI 3558 VOID 3559 STDCALL 3560 WDFEXPORT(WdfIoQueuePurge)( 3561 _In_ 3562 PWDF_DRIVER_GLOBALS DriverGlobals, 3563 _In_ 3564 WDFQUEUE Queue, 3565 _When_(Context != 0, _In_) 3566 _When_(Context == 0, _In_opt_) 3567 PFN_WDF_IO_QUEUE_STATE PurgeComplete, 3568 _When_(PurgeComplete != 0, _In_) 3569 _When_(PurgeComplete == 0, _In_opt_) 3570 WDFCONTEXT Context 3571 ); 3572 3573 _Must_inspect_result_ 3574 _IRQL_requires_max_(DISPATCH_LEVEL) 3575 WDFAPI 3576 NTSTATUS 3577 STDCALL 3578 WDFEXPORT(WdfIoQueueReadyNotify)( 3579 _In_ 3580 PWDF_DRIVER_GLOBALS DriverGlobals, 3581 _In_ 3582 WDFQUEUE Queue, 3583 _In_opt_ 3584 PFN_WDF_IO_QUEUE_STATE QueueReady, 3585 _In_opt_ 3586 WDFCONTEXT Context 3587 ); 3588 3589 _Must_inspect_result_ 3590 _IRQL_requires_max_(PASSIVE_LEVEL) 3591 WDFAPI 3592 NTSTATUS 3593 STDCALL 3594 WDFEXPORT(WdfIoQueueAssignForwardProgressPolicy)( 3595 _In_ 3596 PWDF_DRIVER_GLOBALS DriverGlobals, 3597 _In_ 3598 WDFQUEUE Queue, 3599 _In_ 3600 PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY ForwardProgressPolicy 3601 ); 3602 3603 _IRQL_requires_max_(DISPATCH_LEVEL) 3604 WDFAPI 3605 VOID 3606 STDCALL 3607 WDFEXPORT(WdfIoQueueStopAndPurge)( 3608 _In_ 3609 PWDF_DRIVER_GLOBALS DriverGlobals, 3610 _In_ 3611 WDFQUEUE Queue, 3612 _When_(Context != 0, _In_) 3613 _When_(Context == 0, _In_opt_) 3614 PFN_WDF_IO_QUEUE_STATE StopAndPurgeComplete, 3615 _When_(StopAndPurgeComplete != 0, _In_) 3616 _When_(StopAndPurgeComplete == 0, _In_opt_) 3617 WDFCONTEXT Context 3618 ); 3619 3620 _IRQL_requires_max_(PASSIVE_LEVEL) 3621 WDFAPI 3622 VOID 3623 STDCALL 3624 WDFEXPORT(WdfIoQueueStopAndPurgeSynchronously)( 3625 _In_ 3626 PWDF_DRIVER_GLOBALS DriverGlobals, 3627 _In_ 3628 WDFQUEUE Queue 3629 ); 3630 3631 _Must_inspect_result_ 3632 _IRQL_requires_max_(PASSIVE_LEVEL) 3633 WDFAPI 3634 NTSTATUS 3635 STDCALL 3636 WDFEXPORT(WdfIoTargetCreate)( 3637 _In_ 3638 PWDF_DRIVER_GLOBALS DriverGlobals, 3639 _In_ 3640 WDFDEVICE Device, 3641 _In_opt_ 3642 PWDF_OBJECT_ATTRIBUTES IoTargetAttributes, 3643 _Out_ 3644 WDFIOTARGET* IoTarget 3645 ); 3646 3647 _Must_inspect_result_ 3648 _IRQL_requires_max_(PASSIVE_LEVEL) 3649 WDFAPI 3650 NTSTATUS 3651 STDCALL 3652 WDFEXPORT(WdfIoTargetOpen)( 3653 _In_ 3654 PWDF_DRIVER_GLOBALS DriverGlobals, 3655 _In_ 3656 WDFIOTARGET IoTarget, 3657 _In_ 3658 PWDF_IO_TARGET_OPEN_PARAMS OpenParams 3659 ); 3660 3661 _IRQL_requires_max_(PASSIVE_LEVEL) 3662 WDFAPI 3663 VOID 3664 STDCALL 3665 WDFEXPORT(WdfIoTargetCloseForQueryRemove)( 3666 _In_ 3667 PWDF_DRIVER_GLOBALS DriverGlobals, 3668 _In_ 3669 WDFIOTARGET IoTarget 3670 ); 3671 3672 _IRQL_requires_max_(PASSIVE_LEVEL) 3673 WDFAPI 3674 VOID 3675 STDCALL 3676 WDFEXPORT(WdfIoTargetClose)( 3677 _In_ 3678 PWDF_DRIVER_GLOBALS DriverGlobals, 3679 _In_ 3680 WDFIOTARGET IoTarget 3681 ); 3682 3683 _Must_inspect_result_ 3684 _IRQL_requires_max_(DISPATCH_LEVEL) 3685 WDFAPI 3686 NTSTATUS 3687 STDCALL 3688 WDFEXPORT(WdfIoTargetStart)( 3689 _In_ 3690 PWDF_DRIVER_GLOBALS DriverGlobals, 3691 _In_ 3692 WDFIOTARGET IoTarget 3693 ); 3694 3695 _When_(Action == 3, _IRQL_requires_max_(DISPATCH_LEVEL)) 3696 _When_(Action == 0 || Action == 1 || Action == 2, _IRQL_requires_max_(PASSIVE_LEVEL)) 3697 WDFAPI 3698 VOID 3699 STDCALL 3700 WDFEXPORT(WdfIoTargetStop)( 3701 _In_ 3702 PWDF_DRIVER_GLOBALS DriverGlobals, 3703 _In_ 3704 WDFIOTARGET IoTarget, 3705 _In_ 3706 _Strict_type_match_ 3707 WDF_IO_TARGET_SENT_IO_ACTION Action 3708 ); 3709 3710 _When_(Action == 2, _IRQL_requires_max_(DISPATCH_LEVEL)) 3711 _When_(Action == 0 || Action == 1, _IRQL_requires_max_(PASSIVE_LEVEL)) 3712 WDFAPI 3713 VOID 3714 STDCALL 3715 WDFEXPORT(WdfIoTargetPurge)( 3716 _In_ 3717 PWDF_DRIVER_GLOBALS DriverGlobals, 3718 _In_ 3719 WDFIOTARGET IoTarget, 3720 _In_ 3721 _Strict_type_match_ 3722 WDF_IO_TARGET_PURGE_IO_ACTION Action 3723 ); 3724 3725 _IRQL_requires_max_(DISPATCH_LEVEL) 3726 WDFAPI 3727 WDF_IO_TARGET_STATE 3728 STDCALL 3729 WDFEXPORT(WdfIoTargetGetState)( 3730 _In_ 3731 PWDF_DRIVER_GLOBALS DriverGlobals, 3732 _In_ 3733 WDFIOTARGET IoTarget 3734 ); 3735 3736 _IRQL_requires_max_(DISPATCH_LEVEL) 3737 WDFAPI 3738 WDFDEVICE 3739 STDCALL 3740 WDFEXPORT(WdfIoTargetGetDevice)( 3741 _In_ 3742 PWDF_DRIVER_GLOBALS DriverGlobals, 3743 _In_ 3744 WDFIOTARGET IoTarget 3745 ); 3746 3747 _Must_inspect_result_ 3748 _IRQL_requires_max_(PASSIVE_LEVEL) 3749 WDFAPI 3750 NTSTATUS 3751 STDCALL 3752 WDFEXPORT(WdfIoTargetQueryTargetProperty)( 3753 _In_ 3754 PWDF_DRIVER_GLOBALS DriverGlobals, 3755 _In_ 3756 WDFIOTARGET IoTarget, 3757 _In_ 3758 DEVICE_REGISTRY_PROPERTY DeviceProperty, 3759 _In_ 3760 ULONG BufferLength, 3761 _When_(BufferLength != 0, _Out_writes_bytes_to_opt_(BufferLength, *ResultLength)) 3762 _When_(BufferLength == 0, _Out_opt_) 3763 PVOID PropertyBuffer, 3764 _Deref_out_range_(<=,BufferLength) 3765 PULONG ResultLength 3766 ); 3767 3768 _Must_inspect_result_ 3769 _IRQL_requires_max_(PASSIVE_LEVEL) 3770 WDFAPI 3771 NTSTATUS 3772 STDCALL 3773 WDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty)( 3774 _In_ 3775 PWDF_DRIVER_GLOBALS DriverGlobals, 3776 _In_ 3777 WDFIOTARGET IoTarget, 3778 _In_ 3779 DEVICE_REGISTRY_PROPERTY DeviceProperty, 3780 _In_ 3781 _Strict_type_match_ 3782 POOL_TYPE PoolType, 3783 _In_opt_ 3784 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 3785 _Out_ 3786 WDFMEMORY* PropertyMemory 3787 ); 3788 3789 _Must_inspect_result_ 3790 _IRQL_requires_max_(PASSIVE_LEVEL) 3791 WDFAPI 3792 NTSTATUS 3793 STDCALL 3794 WDFEXPORT(WdfIoTargetQueryForInterface)( 3795 _In_ 3796 PWDF_DRIVER_GLOBALS DriverGlobals, 3797 _In_ 3798 WDFIOTARGET IoTarget, 3799 _In_ 3800 LPCGUID InterfaceType, 3801 _Out_ 3802 PINTERFACE Interface, 3803 _In_ 3804 USHORT Size, 3805 _In_ 3806 USHORT Version, 3807 _In_opt_ 3808 PVOID InterfaceSpecificData 3809 ); 3810 3811 _IRQL_requires_max_(DISPATCH_LEVEL) 3812 WDFAPI 3813 PDEVICE_OBJECT 3814 STDCALL 3815 WDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject)( 3816 _In_ 3817 PWDF_DRIVER_GLOBALS DriverGlobals, 3818 _In_ 3819 WDFIOTARGET IoTarget 3820 ); 3821 3822 _IRQL_requires_max_(DISPATCH_LEVEL) 3823 WDFAPI 3824 PDEVICE_OBJECT 3825 STDCALL 3826 WDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice)( 3827 _In_ 3828 PWDF_DRIVER_GLOBALS DriverGlobals, 3829 _In_ 3830 WDFIOTARGET IoTarget 3831 ); 3832 3833 _IRQL_requires_max_(DISPATCH_LEVEL) 3834 WDFAPI 3835 PFILE_OBJECT 3836 STDCALL 3837 WDFEXPORT(WdfIoTargetWdmGetTargetFileObject)( 3838 _In_ 3839 PWDF_DRIVER_GLOBALS DriverGlobals, 3840 _In_ 3841 WDFIOTARGET IoTarget 3842 ); 3843 3844 _IRQL_requires_max_(DISPATCH_LEVEL) 3845 WDFAPI 3846 HANDLE 3847 STDCALL 3848 WDFEXPORT(WdfIoTargetWdmGetTargetFileHandle)( 3849 _In_ 3850 PWDF_DRIVER_GLOBALS DriverGlobals, 3851 _In_ 3852 WDFIOTARGET IoTarget 3853 ); 3854 3855 _Must_inspect_result_ 3856 _IRQL_requires_max_(PASSIVE_LEVEL) 3857 WDFAPI 3858 NTSTATUS 3859 STDCALL 3860 WDFEXPORT(WdfIoTargetSendReadSynchronously)( 3861 _In_ 3862 PWDF_DRIVER_GLOBALS DriverGlobals, 3863 _In_ 3864 WDFIOTARGET IoTarget, 3865 _In_opt_ 3866 WDFREQUEST Request, 3867 _In_opt_ 3868 PWDF_MEMORY_DESCRIPTOR OutputBuffer, 3869 _In_opt_ 3870 PLONGLONG DeviceOffset, 3871 _In_opt_ 3872 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3873 _Out_opt_ 3874 PULONG_PTR BytesRead 3875 ); 3876 3877 _Must_inspect_result_ 3878 _IRQL_requires_max_(DISPATCH_LEVEL) 3879 WDFAPI 3880 NTSTATUS 3881 STDCALL 3882 WDFEXPORT(WdfIoTargetFormatRequestForRead)( 3883 _In_ 3884 PWDF_DRIVER_GLOBALS DriverGlobals, 3885 _In_ 3886 WDFIOTARGET IoTarget, 3887 _In_ 3888 WDFREQUEST Request, 3889 _In_opt_ 3890 WDFMEMORY OutputBuffer, 3891 _In_opt_ 3892 PWDFMEMORY_OFFSET OutputBufferOffset, 3893 _In_opt_ 3894 PLONGLONG DeviceOffset 3895 ); 3896 3897 _Must_inspect_result_ 3898 _IRQL_requires_max_(PASSIVE_LEVEL) 3899 WDFAPI 3900 NTSTATUS 3901 STDCALL 3902 WDFEXPORT(WdfIoTargetSendWriteSynchronously)( 3903 _In_ 3904 PWDF_DRIVER_GLOBALS DriverGlobals, 3905 _In_ 3906 WDFIOTARGET IoTarget, 3907 _In_opt_ 3908 WDFREQUEST Request, 3909 _In_opt_ 3910 PWDF_MEMORY_DESCRIPTOR InputBuffer, 3911 _In_opt_ 3912 PLONGLONG DeviceOffset, 3913 _In_opt_ 3914 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3915 _Out_opt_ 3916 PULONG_PTR BytesWritten 3917 ); 3918 3919 _Must_inspect_result_ 3920 _IRQL_requires_max_(DISPATCH_LEVEL) 3921 WDFAPI 3922 NTSTATUS 3923 STDCALL 3924 WDFEXPORT(WdfIoTargetFormatRequestForWrite)( 3925 _In_ 3926 PWDF_DRIVER_GLOBALS DriverGlobals, 3927 _In_ 3928 WDFIOTARGET IoTarget, 3929 _In_ 3930 WDFREQUEST Request, 3931 _In_opt_ 3932 WDFMEMORY InputBuffer, 3933 _In_opt_ 3934 PWDFMEMORY_OFFSET InputBufferOffset, 3935 _In_opt_ 3936 PLONGLONG DeviceOffset 3937 ); 3938 3939 _Must_inspect_result_ 3940 _IRQL_requires_max_(PASSIVE_LEVEL) 3941 WDFAPI 3942 NTSTATUS 3943 STDCALL 3944 WDFEXPORT(WdfIoTargetSendIoctlSynchronously)( 3945 _In_ 3946 PWDF_DRIVER_GLOBALS DriverGlobals, 3947 _In_ 3948 WDFIOTARGET IoTarget, 3949 _In_opt_ 3950 WDFREQUEST Request, 3951 _In_ 3952 ULONG IoctlCode, 3953 _In_opt_ 3954 PWDF_MEMORY_DESCRIPTOR InputBuffer, 3955 _In_opt_ 3956 PWDF_MEMORY_DESCRIPTOR OutputBuffer, 3957 _In_opt_ 3958 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3959 _Out_opt_ 3960 PULONG_PTR BytesReturned 3961 ); 3962 3963 _Must_inspect_result_ 3964 _IRQL_requires_max_(DISPATCH_LEVEL) 3965 WDFAPI 3966 NTSTATUS 3967 STDCALL 3968 WDFEXPORT(WdfIoTargetFormatRequestForIoctl)( 3969 _In_ 3970 PWDF_DRIVER_GLOBALS DriverGlobals, 3971 _In_ 3972 WDFIOTARGET IoTarget, 3973 _In_ 3974 WDFREQUEST Request, 3975 _In_ 3976 ULONG IoctlCode, 3977 _In_opt_ 3978 WDFMEMORY InputBuffer, 3979 _In_opt_ 3980 PWDFMEMORY_OFFSET InputBufferOffset, 3981 _In_opt_ 3982 WDFMEMORY OutputBuffer, 3983 _In_opt_ 3984 PWDFMEMORY_OFFSET OutputBufferOffset 3985 ); 3986 3987 _Must_inspect_result_ 3988 _IRQL_requires_max_(PASSIVE_LEVEL) 3989 WDFAPI 3990 NTSTATUS 3991 STDCALL 3992 WDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously)( 3993 _In_ 3994 PWDF_DRIVER_GLOBALS DriverGlobals, 3995 _In_ 3996 WDFIOTARGET IoTarget, 3997 _In_opt_ 3998 WDFREQUEST Request, 3999 _In_ 4000 ULONG IoctlCode, 4001 _In_opt_ 4002 PWDF_MEMORY_DESCRIPTOR InputBuffer, 4003 _In_opt_ 4004 PWDF_MEMORY_DESCRIPTOR OutputBuffer, 4005 _In_opt_ 4006 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 4007 _Out_opt_ 4008 PULONG_PTR BytesReturned 4009 ); 4010 4011 _Must_inspect_result_ 4012 _IRQL_requires_max_(DISPATCH_LEVEL) 4013 WDFAPI 4014 NTSTATUS 4015 STDCALL 4016 WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl)( 4017 _In_ 4018 PWDF_DRIVER_GLOBALS DriverGlobals, 4019 _In_ 4020 WDFIOTARGET IoTarget, 4021 _In_ 4022 WDFREQUEST Request, 4023 _In_ 4024 ULONG IoctlCode, 4025 _In_opt_ 4026 WDFMEMORY InputBuffer, 4027 _In_opt_ 4028 PWDFMEMORY_OFFSET InputBufferOffset, 4029 _In_opt_ 4030 WDFMEMORY OutputBuffer, 4031 _In_opt_ 4032 PWDFMEMORY_OFFSET OutputBufferOffset 4033 ); 4034 4035 _Must_inspect_result_ 4036 _IRQL_requires_max_(PASSIVE_LEVEL) 4037 WDFAPI 4038 NTSTATUS 4039 STDCALL 4040 WDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously)( 4041 _In_ 4042 PWDF_DRIVER_GLOBALS DriverGlobals, 4043 _In_ 4044 WDFIOTARGET IoTarget, 4045 _In_opt_ 4046 WDFREQUEST Request, 4047 _In_ 4048 ULONG IoctlCode, 4049 _In_opt_ 4050 PWDF_MEMORY_DESCRIPTOR OtherArg1, 4051 _In_opt_ 4052 PWDF_MEMORY_DESCRIPTOR OtherArg2, 4053 _In_opt_ 4054 PWDF_MEMORY_DESCRIPTOR OtherArg4, 4055 _In_opt_ 4056 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 4057 _Out_opt_ 4058 PULONG_PTR BytesReturned 4059 ); 4060 4061 _Must_inspect_result_ 4062 _IRQL_requires_max_(DISPATCH_LEVEL) 4063 WDFAPI 4064 NTSTATUS 4065 STDCALL 4066 WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers)( 4067 _In_ 4068 PWDF_DRIVER_GLOBALS DriverGlobals, 4069 _In_ 4070 WDFIOTARGET IoTarget, 4071 _In_ 4072 WDFREQUEST Request, 4073 _In_ 4074 ULONG IoctlCode, 4075 _In_opt_ 4076 WDFMEMORY OtherArg1, 4077 _In_opt_ 4078 PWDFMEMORY_OFFSET OtherArg1Offset, 4079 _In_opt_ 4080 WDFMEMORY OtherArg2, 4081 _In_opt_ 4082 PWDFMEMORY_OFFSET OtherArg2Offset, 4083 _In_opt_ 4084 WDFMEMORY OtherArg4, 4085 _In_opt_ 4086 PWDFMEMORY_OFFSET OtherArg4Offset 4087 ); 4088 4089 _IRQL_requires_max_(DISPATCH_LEVEL) 4090 WDFAPI 4091 NTSTATUS 4092 STDCALL 4093 WDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue)( 4094 _In_ 4095 PWDF_DRIVER_GLOBALS DriverGlobals, 4096 _In_ 4097 WDFIOTARGET IoTarget, 4098 _In_ 4099 WDFQUEUE Queue 4100 ); 4101 4102 _Must_inspect_result_ 4103 _When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL)) 4104 _When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL)) 4105 WDFAPI 4106 NTSTATUS 4107 STDCALL 4108 WDFEXPORT(WdfMemoryCreate)( 4109 _In_ 4110 PWDF_DRIVER_GLOBALS DriverGlobals, 4111 _In_opt_ 4112 PWDF_OBJECT_ATTRIBUTES Attributes, 4113 _In_ 4114 _Strict_type_match_ 4115 POOL_TYPE PoolType, 4116 _In_opt_ 4117 ULONG PoolTag, 4118 _In_ 4119 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 4120 size_t BufferSize, 4121 _Out_ 4122 WDFMEMORY* Memory, 4123 _Outptr_opt_result_bytebuffer_(BufferSize) 4124 PVOID* Buffer 4125 ); 4126 4127 _Must_inspect_result_ 4128 _IRQL_requires_max_(DISPATCH_LEVEL) 4129 WDFAPI 4130 NTSTATUS 4131 STDCALL 4132 WDFEXPORT(WdfMemoryCreatePreallocated)( 4133 _In_ 4134 PWDF_DRIVER_GLOBALS DriverGlobals, 4135 _In_opt_ 4136 PWDF_OBJECT_ATTRIBUTES Attributes, 4137 _In_ __drv_aliasesMem 4138 PVOID Buffer, 4139 _In_ 4140 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 4141 size_t BufferSize, 4142 _Out_ 4143 WDFMEMORY* Memory 4144 ); 4145 4146 _IRQL_requires_max_(DISPATCH_LEVEL) 4147 WDFAPI 4148 PVOID 4149 STDCALL 4150 WDFEXPORT(WdfMemoryGetBuffer)( 4151 _In_ 4152 PWDF_DRIVER_GLOBALS DriverGlobals, 4153 _In_ 4154 WDFMEMORY Memory, 4155 _Out_opt_ 4156 size_t* BufferSize 4157 ); 4158 4159 _Must_inspect_result_ 4160 _IRQL_requires_max_(DISPATCH_LEVEL) 4161 WDFAPI 4162 NTSTATUS 4163 STDCALL 4164 WDFEXPORT(WdfMemoryAssignBuffer)( 4165 _In_ 4166 PWDF_DRIVER_GLOBALS DriverGlobals, 4167 _In_ 4168 WDFMEMORY Memory, 4169 _Pre_notnull_ _Pre_writable_byte_size_(BufferSize) 4170 PVOID Buffer, 4171 _In_ 4172 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 4173 size_t BufferSize 4174 ); 4175 4176 _Must_inspect_result_ 4177 _IRQL_requires_max_(DISPATCH_LEVEL) 4178 WDFAPI 4179 NTSTATUS 4180 STDCALL 4181 WDFEXPORT(WdfMemoryCopyToBuffer)( 4182 _In_ 4183 PWDF_DRIVER_GLOBALS DriverGlobals, 4184 _In_ 4185 WDFMEMORY SourceMemory, 4186 _In_ 4187 size_t SourceOffset, 4188 _Out_writes_bytes_( NumBytesToCopyTo ) 4189 PVOID Buffer, 4190 _In_ 4191 _When_(NumBytesToCopyTo == 0, __drv_reportError(NumBytesToCopyTo cannot be zero)) 4192 size_t NumBytesToCopyTo 4193 ); 4194 4195 _Must_inspect_result_ 4196 _IRQL_requires_max_(DISPATCH_LEVEL) 4197 WDFAPI 4198 NTSTATUS 4199 STDCALL 4200 WDFEXPORT(WdfMemoryCopyFromBuffer)( 4201 _In_ 4202 PWDF_DRIVER_GLOBALS DriverGlobals, 4203 _In_ 4204 WDFMEMORY DestinationMemory, 4205 _In_ 4206 size_t DestinationOffset, 4207 _In_ 4208 PVOID Buffer, 4209 _In_ 4210 _When_(NumBytesToCopyFrom == 0, __drv_reportError(NumBytesToCopyFrom cannot be zero)) 4211 size_t NumBytesToCopyFrom 4212 ); 4213 4214 _Must_inspect_result_ 4215 _When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL)) 4216 _When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL)) 4217 WDFAPI 4218 NTSTATUS 4219 STDCALL 4220 WDFEXPORT(WdfLookasideListCreate)( 4221 _In_ 4222 PWDF_DRIVER_GLOBALS DriverGlobals, 4223 _In_opt_ 4224 PWDF_OBJECT_ATTRIBUTES LookasideAttributes, 4225 _In_ 4226 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 4227 size_t BufferSize, 4228 _In_ 4229 _Strict_type_match_ 4230 POOL_TYPE PoolType, 4231 _In_opt_ 4232 PWDF_OBJECT_ATTRIBUTES MemoryAttributes, 4233 _In_opt_ 4234 ULONG PoolTag, 4235 _Out_ 4236 WDFLOOKASIDE* Lookaside 4237 ); 4238 4239 _Must_inspect_result_ 4240 _IRQL_requires_max_(DISPATCH_LEVEL) 4241 WDFAPI 4242 NTSTATUS 4243 STDCALL 4244 WDFEXPORT(WdfMemoryCreateFromLookaside)( 4245 _In_ 4246 PWDF_DRIVER_GLOBALS DriverGlobals, 4247 _In_ 4248 WDFLOOKASIDE Lookaside, 4249 _Out_ 4250 WDFMEMORY* Memory 4251 ); 4252 4253 _Must_inspect_result_ 4254 _IRQL_requires_max_(PASSIVE_LEVEL) 4255 WDFAPI 4256 NTSTATUS 4257 STDCALL 4258 WDFEXPORT(WdfDeviceMiniportCreate)( 4259 _In_ 4260 PWDF_DRIVER_GLOBALS DriverGlobals, 4261 _In_ 4262 WDFDRIVER Driver, 4263 _In_opt_ 4264 PWDF_OBJECT_ATTRIBUTES Attributes, 4265 _In_ 4266 PDEVICE_OBJECT DeviceObject, 4267 _In_opt_ 4268 PDEVICE_OBJECT AttachedDeviceObject, 4269 _In_opt_ 4270 PDEVICE_OBJECT Pdo, 4271 _Out_ 4272 WDFDEVICE* Device 4273 ); 4274 4275 WDFAPI 4276 VOID 4277 STDCALL 4278 WDFEXPORT(WdfDriverMiniportUnload)( 4279 _In_ 4280 PWDF_DRIVER_GLOBALS DriverGlobals, 4281 _In_ 4282 WDFDRIVER Driver 4283 ); 4284 4285 WDFAPI 4286 PVOID 4287 FASTCALL 4288 WDFEXPORT(WdfObjectGetTypedContextWorker)( 4289 _In_ 4290 PWDF_DRIVER_GLOBALS DriverGlobals, 4291 _In_ 4292 WDFOBJECT Handle, 4293 _In_ 4294 PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo 4295 ); 4296 4297 WDFAPI 4298 NTSTATUS 4299 STDCALL 4300 WDFEXPORT(WdfObjectAllocateContext)( 4301 _In_ 4302 PWDF_DRIVER_GLOBALS DriverGlobals, 4303 _In_ 4304 WDFOBJECT Handle, 4305 _In_ 4306 PWDF_OBJECT_ATTRIBUTES ContextAttributes, 4307 _Outptr_opt_ 4308 PVOID* Context 4309 ); 4310 4311 WDFAPI 4312 WDFOBJECT 4313 FASTCALL 4314 WDFEXPORT(WdfObjectContextGetObject)( 4315 _In_ 4316 PWDF_DRIVER_GLOBALS DriverGlobals, 4317 _In_ 4318 PVOID ContextPointer 4319 ); 4320 4321 WDFAPI 4322 VOID 4323 STDCALL 4324 WDFEXPORT(WdfObjectReferenceActual)( 4325 _In_ 4326 PWDF_DRIVER_GLOBALS DriverGlobals, 4327 _In_ 4328 WDFOBJECT Handle, 4329 _In_opt_ 4330 PVOID Tag, 4331 _In_ 4332 LONG Line, 4333 _In_z_ 4334 PCHAR File 4335 ); 4336 4337 WDFAPI 4338 VOID 4339 STDCALL 4340 WDFEXPORT(WdfObjectDereferenceActual)( 4341 _In_ 4342 PWDF_DRIVER_GLOBALS DriverGlobals, 4343 _In_ 4344 WDFOBJECT Handle, 4345 _In_opt_ 4346 PVOID Tag, 4347 _In_ 4348 LONG Line, 4349 _In_z_ 4350 PCHAR File 4351 ); 4352 4353 _Must_inspect_result_ 4354 _IRQL_requires_max_(DISPATCH_LEVEL) 4355 WDFAPI 4356 NTSTATUS 4357 STDCALL 4358 WDFEXPORT(WdfObjectCreate)( 4359 _In_ 4360 PWDF_DRIVER_GLOBALS DriverGlobals, 4361 _In_opt_ 4362 PWDF_OBJECT_ATTRIBUTES Attributes, 4363 _Out_ 4364 WDFOBJECT* Object 4365 ); 4366 4367 _IRQL_requires_max_(DISPATCH_LEVEL) 4368 WDFAPI 4369 VOID 4370 STDCALL 4371 WDFEXPORT(WdfObjectDelete)( 4372 _In_ 4373 PWDF_DRIVER_GLOBALS DriverGlobals, 4374 _In_ 4375 WDFOBJECT Object 4376 ); 4377 4378 _Must_inspect_result_ 4379 _IRQL_requires_max_(DISPATCH_LEVEL) 4380 WDFAPI 4381 NTSTATUS 4382 STDCALL 4383 WDFEXPORT(WdfObjectQuery)( 4384 _In_ 4385 PWDF_DRIVER_GLOBALS DriverGlobals, 4386 _In_ 4387 WDFOBJECT Object, 4388 _In_ 4389 CONST GUID* Guid, 4390 _In_ 4391 ULONG QueryBufferLength, 4392 _Out_writes_bytes_(QueryBufferLength) 4393 PVOID QueryBuffer 4394 ); 4395 4396 _Must_inspect_result_ 4397 _IRQL_requires_max_(PASSIVE_LEVEL) 4398 WDFAPI 4399 PWDFDEVICE_INIT 4400 STDCALL 4401 WDFEXPORT(WdfPdoInitAllocate)( 4402 _In_ 4403 PWDF_DRIVER_GLOBALS DriverGlobals, 4404 _In_ 4405 WDFDEVICE ParentDevice 4406 ); 4407 4408 _IRQL_requires_max_(PASSIVE_LEVEL) 4409 WDFAPI 4410 VOID 4411 STDCALL 4412 WDFEXPORT(WdfPdoInitSetEventCallbacks)( 4413 _In_ 4414 PWDF_DRIVER_GLOBALS DriverGlobals, 4415 _In_ 4416 PWDFDEVICE_INIT DeviceInit, 4417 _In_ 4418 PWDF_PDO_EVENT_CALLBACKS DispatchTable 4419 ); 4420 4421 _Must_inspect_result_ 4422 _IRQL_requires_max_(PASSIVE_LEVEL) 4423 WDFAPI 4424 NTSTATUS 4425 STDCALL 4426 WDFEXPORT(WdfPdoInitAssignDeviceID)( 4427 _In_ 4428 PWDF_DRIVER_GLOBALS DriverGlobals, 4429 _In_ 4430 PWDFDEVICE_INIT DeviceInit, 4431 _In_ 4432 PCUNICODE_STRING DeviceID 4433 ); 4434 4435 _Must_inspect_result_ 4436 _IRQL_requires_max_(PASSIVE_LEVEL) 4437 WDFAPI 4438 NTSTATUS 4439 STDCALL 4440 WDFEXPORT(WdfPdoInitAssignInstanceID)( 4441 _In_ 4442 PWDF_DRIVER_GLOBALS DriverGlobals, 4443 _In_ 4444 PWDFDEVICE_INIT DeviceInit, 4445 _In_ 4446 PCUNICODE_STRING InstanceID 4447 ); 4448 4449 _Must_inspect_result_ 4450 _IRQL_requires_max_(PASSIVE_LEVEL) 4451 WDFAPI 4452 NTSTATUS 4453 STDCALL 4454 WDFEXPORT(WdfPdoInitAddHardwareID)( 4455 _In_ 4456 PWDF_DRIVER_GLOBALS DriverGlobals, 4457 _In_ 4458 PWDFDEVICE_INIT DeviceInit, 4459 _In_ 4460 PCUNICODE_STRING HardwareID 4461 ); 4462 4463 _Must_inspect_result_ 4464 _IRQL_requires_max_(PASSIVE_LEVEL) 4465 WDFAPI 4466 NTSTATUS 4467 STDCALL 4468 WDFEXPORT(WdfPdoInitAddCompatibleID)( 4469 _In_ 4470 PWDF_DRIVER_GLOBALS DriverGlobals, 4471 _In_ 4472 PWDFDEVICE_INIT DeviceInit, 4473 _In_ 4474 PCUNICODE_STRING CompatibleID 4475 ); 4476 4477 _Must_inspect_result_ 4478 _IRQL_requires_max_(PASSIVE_LEVEL) 4479 WDFAPI 4480 NTSTATUS 4481 STDCALL 4482 WDFEXPORT(WdfPdoInitAssignContainerID)( 4483 _In_ 4484 PWDF_DRIVER_GLOBALS DriverGlobals, 4485 _In_ 4486 PWDFDEVICE_INIT DeviceInit, 4487 _In_ 4488 PCUNICODE_STRING ContainerID 4489 ); 4490 4491 _Must_inspect_result_ 4492 _IRQL_requires_max_(PASSIVE_LEVEL) 4493 WDFAPI 4494 NTSTATUS 4495 STDCALL 4496 WDFEXPORT(WdfPdoInitAddDeviceText)( 4497 _In_ 4498 PWDF_DRIVER_GLOBALS DriverGlobals, 4499 _In_ 4500 PWDFDEVICE_INIT DeviceInit, 4501 _In_ 4502 PCUNICODE_STRING DeviceDescription, 4503 _In_ 4504 PCUNICODE_STRING DeviceLocation, 4505 _In_ 4506 LCID LocaleId 4507 ); 4508 4509 _IRQL_requires_max_(PASSIVE_LEVEL) 4510 WDFAPI 4511 VOID 4512 STDCALL 4513 WDFEXPORT(WdfPdoInitSetDefaultLocale)( 4514 _In_ 4515 PWDF_DRIVER_GLOBALS DriverGlobals, 4516 _In_ 4517 PWDFDEVICE_INIT DeviceInit, 4518 _In_ 4519 LCID LocaleId 4520 ); 4521 4522 _Must_inspect_result_ 4523 _IRQL_requires_max_(PASSIVE_LEVEL) 4524 WDFAPI 4525 NTSTATUS 4526 STDCALL 4527 WDFEXPORT(WdfPdoInitAssignRawDevice)( 4528 _In_ 4529 PWDF_DRIVER_GLOBALS DriverGlobals, 4530 _In_ 4531 PWDFDEVICE_INIT DeviceInit, 4532 _In_ 4533 CONST GUID* DeviceClassGuid 4534 ); 4535 4536 _IRQL_requires_max_(PASSIVE_LEVEL) 4537 WDFAPI 4538 VOID 4539 STDCALL 4540 WDFEXPORT(WdfPdoInitAllowForwardingRequestToParent)( 4541 _In_ 4542 PWDF_DRIVER_GLOBALS DriverGlobals, 4543 _In_ 4544 PWDFDEVICE_INIT DeviceInit 4545 ); 4546 4547 _Must_inspect_result_ 4548 _IRQL_requires_max_(DISPATCH_LEVEL) 4549 WDFAPI 4550 NTSTATUS 4551 STDCALL 4552 WDFEXPORT(WdfPdoMarkMissing)( 4553 _In_ 4554 PWDF_DRIVER_GLOBALS DriverGlobals, 4555 _In_ 4556 WDFDEVICE Device 4557 ); 4558 4559 _IRQL_requires_max_(DISPATCH_LEVEL) 4560 WDFAPI 4561 VOID 4562 STDCALL 4563 WDFEXPORT(WdfPdoRequestEject)( 4564 _In_ 4565 PWDF_DRIVER_GLOBALS DriverGlobals, 4566 _In_ 4567 WDFDEVICE Device 4568 ); 4569 4570 _IRQL_requires_max_(DISPATCH_LEVEL) 4571 WDFAPI 4572 WDFDEVICE 4573 STDCALL 4574 WDFEXPORT(WdfPdoGetParent)( 4575 _In_ 4576 PWDF_DRIVER_GLOBALS DriverGlobals, 4577 _In_ 4578 WDFDEVICE Device 4579 ); 4580 4581 _Must_inspect_result_ 4582 _IRQL_requires_max_(DISPATCH_LEVEL) 4583 WDFAPI 4584 NTSTATUS 4585 STDCALL 4586 WDFEXPORT(WdfPdoRetrieveIdentificationDescription)( 4587 _In_ 4588 PWDF_DRIVER_GLOBALS DriverGlobals, 4589 _In_ 4590 WDFDEVICE Device, 4591 _Inout_ 4592 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription 4593 ); 4594 4595 _Must_inspect_result_ 4596 _IRQL_requires_max_(DISPATCH_LEVEL) 4597 WDFAPI 4598 NTSTATUS 4599 STDCALL 4600 WDFEXPORT(WdfPdoRetrieveAddressDescription)( 4601 _In_ 4602 PWDF_DRIVER_GLOBALS DriverGlobals, 4603 _In_ 4604 WDFDEVICE Device, 4605 _Inout_ 4606 PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription 4607 ); 4608 4609 _Must_inspect_result_ 4610 _IRQL_requires_max_(DISPATCH_LEVEL) 4611 WDFAPI 4612 NTSTATUS 4613 STDCALL 4614 WDFEXPORT(WdfPdoUpdateAddressDescription)( 4615 _In_ 4616 PWDF_DRIVER_GLOBALS DriverGlobals, 4617 _In_ 4618 WDFDEVICE Device, 4619 _Inout_ 4620 PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription 4621 ); 4622 4623 _Must_inspect_result_ 4624 _IRQL_requires_max_(DISPATCH_LEVEL) 4625 WDFAPI 4626 NTSTATUS 4627 STDCALL 4628 WDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice)( 4629 _In_ 4630 PWDF_DRIVER_GLOBALS DriverGlobals, 4631 _In_ 4632 WDFDEVICE Device, 4633 _In_ 4634 PDEVICE_OBJECT PhysicalDevice 4635 ); 4636 4637 _IRQL_requires_max_(DISPATCH_LEVEL) 4638 WDFAPI 4639 VOID 4640 STDCALL 4641 WDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice)( 4642 _In_ 4643 PWDF_DRIVER_GLOBALS DriverGlobals, 4644 _In_ 4645 WDFDEVICE Device, 4646 _In_ 4647 PDEVICE_OBJECT PhysicalDevice 4648 ); 4649 4650 _IRQL_requires_max_(DISPATCH_LEVEL) 4651 WDFAPI 4652 VOID 4653 STDCALL 4654 WDFEXPORT(WdfPdoClearEjectionRelationsDevices)( 4655 _In_ 4656 PWDF_DRIVER_GLOBALS DriverGlobals, 4657 _In_ 4658 WDFDEVICE Device 4659 ); 4660 4661 _Must_inspect_result_ 4662 _IRQL_requires_max_(PASSIVE_LEVEL) 4663 WDFAPI 4664 NTSTATUS 4665 STDCALL 4666 WDFEXPORT(WdfDeviceAddQueryInterface)( 4667 _In_ 4668 PWDF_DRIVER_GLOBALS DriverGlobals, 4669 _In_ 4670 WDFDEVICE Device, 4671 _In_ 4672 PWDF_QUERY_INTERFACE_CONFIG InterfaceConfig 4673 ); 4674 4675 _Must_inspect_result_ 4676 _IRQL_requires_max_(PASSIVE_LEVEL) 4677 WDFAPI 4678 NTSTATUS 4679 STDCALL 4680 WDFEXPORT(WdfRegistryOpenKey)( 4681 _In_ 4682 PWDF_DRIVER_GLOBALS DriverGlobals, 4683 _In_opt_ 4684 WDFKEY ParentKey, 4685 _In_ 4686 PCUNICODE_STRING KeyName, 4687 _In_ 4688 ACCESS_MASK DesiredAccess, 4689 _In_opt_ 4690 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 4691 _Out_ 4692 WDFKEY* Key 4693 ); 4694 4695 _Must_inspect_result_ 4696 _IRQL_requires_max_(PASSIVE_LEVEL) 4697 WDFAPI 4698 NTSTATUS 4699 STDCALL 4700 WDFEXPORT(WdfRegistryCreateKey)( 4701 _In_ 4702 PWDF_DRIVER_GLOBALS DriverGlobals, 4703 _In_opt_ 4704 WDFKEY ParentKey, 4705 _In_ 4706 PCUNICODE_STRING KeyName, 4707 _In_ 4708 ACCESS_MASK DesiredAccess, 4709 _In_ 4710 ULONG CreateOptions, 4711 _Out_opt_ 4712 PULONG CreateDisposition, 4713 _In_opt_ 4714 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 4715 _Out_ 4716 WDFKEY* Key 4717 ); 4718 4719 _IRQL_requires_max_(PASSIVE_LEVEL) 4720 WDFAPI 4721 VOID 4722 STDCALL 4723 WDFEXPORT(WdfRegistryClose)( 4724 _In_ 4725 PWDF_DRIVER_GLOBALS DriverGlobals, 4726 _In_ 4727 WDFKEY Key 4728 ); 4729 4730 _IRQL_requires_max_(PASSIVE_LEVEL) 4731 WDFAPI 4732 HANDLE 4733 STDCALL 4734 WDFEXPORT(WdfRegistryWdmGetHandle)( 4735 _In_ 4736 PWDF_DRIVER_GLOBALS DriverGlobals, 4737 _In_ 4738 WDFKEY Key 4739 ); 4740 4741 _Must_inspect_result_ 4742 _IRQL_requires_max_(PASSIVE_LEVEL) 4743 WDFAPI 4744 NTSTATUS 4745 STDCALL 4746 WDFEXPORT(WdfRegistryRemoveKey)( 4747 _In_ 4748 PWDF_DRIVER_GLOBALS DriverGlobals, 4749 _In_ 4750 WDFKEY Key 4751 ); 4752 4753 _Must_inspect_result_ 4754 _IRQL_requires_max_(PASSIVE_LEVEL) 4755 WDFAPI 4756 NTSTATUS 4757 STDCALL 4758 WDFEXPORT(WdfRegistryRemoveValue)( 4759 _In_ 4760 PWDF_DRIVER_GLOBALS DriverGlobals, 4761 _In_ 4762 WDFKEY Key, 4763 _In_ 4764 PCUNICODE_STRING ValueName 4765 ); 4766 4767 _Must_inspect_result_ 4768 _IRQL_requires_max_(PASSIVE_LEVEL) 4769 WDFAPI 4770 NTSTATUS 4771 STDCALL 4772 WDFEXPORT(WdfRegistryQueryValue)( 4773 _In_ 4774 PWDF_DRIVER_GLOBALS DriverGlobals, 4775 _In_ 4776 WDFKEY Key, 4777 _In_ 4778 PCUNICODE_STRING ValueName, 4779 _In_ 4780 ULONG ValueLength, 4781 _Out_writes_bytes_opt_( ValueLength) 4782 PVOID Value, 4783 _Out_opt_ 4784 PULONG ValueLengthQueried, 4785 _Out_opt_ 4786 PULONG ValueType 4787 ); 4788 4789 _Must_inspect_result_ 4790 _IRQL_requires_max_(PASSIVE_LEVEL) 4791 WDFAPI 4792 NTSTATUS 4793 STDCALL 4794 WDFEXPORT(WdfRegistryQueryMemory)( 4795 _In_ 4796 PWDF_DRIVER_GLOBALS DriverGlobals, 4797 _In_ 4798 WDFKEY Key, 4799 _In_ 4800 PCUNICODE_STRING ValueName, 4801 _In_ 4802 _Strict_type_match_ 4803 POOL_TYPE PoolType, 4804 _In_opt_ 4805 PWDF_OBJECT_ATTRIBUTES MemoryAttributes, 4806 _Out_ 4807 WDFMEMORY* Memory, 4808 _Out_opt_ 4809 PULONG ValueType 4810 ); 4811 4812 _Must_inspect_result_ 4813 _IRQL_requires_max_(PASSIVE_LEVEL) 4814 WDFAPI 4815 NTSTATUS 4816 STDCALL 4817 WDFEXPORT(WdfRegistryQueryMultiString)( 4818 _In_ 4819 PWDF_DRIVER_GLOBALS DriverGlobals, 4820 _In_ 4821 WDFKEY Key, 4822 _In_ 4823 PCUNICODE_STRING ValueName, 4824 _In_opt_ 4825 PWDF_OBJECT_ATTRIBUTES StringsAttributes, 4826 _In_ 4827 WDFCOLLECTION Collection 4828 ); 4829 4830 _Must_inspect_result_ 4831 _IRQL_requires_max_(PASSIVE_LEVEL) 4832 WDFAPI 4833 NTSTATUS 4834 STDCALL 4835 WDFEXPORT(WdfRegistryQueryUnicodeString)( 4836 _In_ 4837 PWDF_DRIVER_GLOBALS DriverGlobals, 4838 _In_ 4839 WDFKEY Key, 4840 _In_ 4841 PCUNICODE_STRING ValueName, 4842 _Out_opt_ 4843 PUSHORT ValueByteLength, 4844 _Inout_opt_ 4845 PUNICODE_STRING Value 4846 ); 4847 4848 _Must_inspect_result_ 4849 _IRQL_requires_max_(PASSIVE_LEVEL) 4850 WDFAPI 4851 NTSTATUS 4852 STDCALL 4853 WDFEXPORT(WdfRegistryQueryString)( 4854 _In_ 4855 PWDF_DRIVER_GLOBALS DriverGlobals, 4856 _In_ 4857 WDFKEY Key, 4858 _In_ 4859 PCUNICODE_STRING ValueName, 4860 _In_ 4861 WDFSTRING String 4862 ); 4863 4864 _Must_inspect_result_ 4865 _IRQL_requires_max_(PASSIVE_LEVEL) 4866 WDFAPI 4867 NTSTATUS 4868 STDCALL 4869 WDFEXPORT(WdfRegistryQueryULong)( 4870 _In_ 4871 PWDF_DRIVER_GLOBALS DriverGlobals, 4872 _In_ 4873 WDFKEY Key, 4874 _In_ 4875 PCUNICODE_STRING ValueName, 4876 _Out_ 4877 PULONG Value 4878 ); 4879 4880 _Must_inspect_result_ 4881 _IRQL_requires_max_(PASSIVE_LEVEL) 4882 WDFAPI 4883 NTSTATUS 4884 STDCALL 4885 WDFEXPORT(WdfRegistryAssignValue)( 4886 _In_ 4887 PWDF_DRIVER_GLOBALS DriverGlobals, 4888 _In_ 4889 WDFKEY Key, 4890 _In_ 4891 PCUNICODE_STRING ValueName, 4892 _In_ 4893 ULONG ValueType, 4894 _In_ 4895 ULONG ValueLength, 4896 _In_reads_( ValueLength) 4897 PVOID Value 4898 ); 4899 4900 _Must_inspect_result_ 4901 _IRQL_requires_max_(PASSIVE_LEVEL) 4902 WDFAPI 4903 NTSTATUS 4904 STDCALL 4905 WDFEXPORT(WdfRegistryAssignMemory)( 4906 _In_ 4907 PWDF_DRIVER_GLOBALS DriverGlobals, 4908 _In_ 4909 WDFKEY Key, 4910 _In_ 4911 PCUNICODE_STRING ValueName, 4912 _In_ 4913 ULONG ValueType, 4914 _In_ 4915 WDFMEMORY Memory, 4916 _In_opt_ 4917 PWDFMEMORY_OFFSET MemoryOffsets 4918 ); 4919 4920 _Must_inspect_result_ 4921 _IRQL_requires_max_(PASSIVE_LEVEL) 4922 WDFAPI 4923 NTSTATUS 4924 STDCALL 4925 WDFEXPORT(WdfRegistryAssignMultiString)( 4926 _In_ 4927 PWDF_DRIVER_GLOBALS DriverGlobals, 4928 _In_ 4929 WDFKEY Key, 4930 _In_ 4931 PCUNICODE_STRING ValueName, 4932 _In_ 4933 WDFCOLLECTION StringsCollection 4934 ); 4935 4936 _Must_inspect_result_ 4937 _IRQL_requires_max_(PASSIVE_LEVEL) 4938 WDFAPI 4939 NTSTATUS 4940 STDCALL 4941 WDFEXPORT(WdfRegistryAssignUnicodeString)( 4942 _In_ 4943 PWDF_DRIVER_GLOBALS DriverGlobals, 4944 _In_ 4945 WDFKEY Key, 4946 _In_ 4947 PCUNICODE_STRING ValueName, 4948 _In_ 4949 PCUNICODE_STRING Value 4950 ); 4951 4952 _Must_inspect_result_ 4953 _IRQL_requires_max_(PASSIVE_LEVEL) 4954 WDFAPI 4955 NTSTATUS 4956 STDCALL 4957 WDFEXPORT(WdfRegistryAssignString)( 4958 _In_ 4959 PWDF_DRIVER_GLOBALS DriverGlobals, 4960 _In_ 4961 WDFKEY Key, 4962 _In_ 4963 PCUNICODE_STRING ValueName, 4964 _In_ 4965 WDFSTRING String 4966 ); 4967 4968 _Must_inspect_result_ 4969 _IRQL_requires_max_(PASSIVE_LEVEL) 4970 WDFAPI 4971 NTSTATUS 4972 STDCALL 4973 WDFEXPORT(WdfRegistryAssignULong)( 4974 _In_ 4975 PWDF_DRIVER_GLOBALS DriverGlobals, 4976 _In_ 4977 WDFKEY Key, 4978 _In_ 4979 PCUNICODE_STRING ValueName, 4980 _In_ 4981 ULONG Value 4982 ); 4983 4984 _Must_inspect_result_ 4985 _IRQL_requires_max_(DISPATCH_LEVEL) 4986 WDFAPI 4987 NTSTATUS 4988 STDCALL 4989 WDFEXPORT(WdfRequestCreate)( 4990 _In_ 4991 PWDF_DRIVER_GLOBALS DriverGlobals, 4992 _In_opt_ 4993 PWDF_OBJECT_ATTRIBUTES RequestAttributes, 4994 _In_opt_ 4995 WDFIOTARGET IoTarget, 4996 _Out_ 4997 WDFREQUEST* Request 4998 ); 4999 5000 _Must_inspect_result_ 5001 _IRQL_requires_max_(DISPATCH_LEVEL) 5002 WDFAPI 5003 NTSTATUS 5004 STDCALL 5005 WDFEXPORT(WdfRequestCreateFromIrp)( 5006 _In_ 5007 PWDF_DRIVER_GLOBALS DriverGlobals, 5008 _In_opt_ 5009 PWDF_OBJECT_ATTRIBUTES RequestAttributes, 5010 _In_ 5011 PIRP Irp, 5012 _In_ 5013 BOOLEAN RequestFreesIrp, 5014 _Out_ 5015 WDFREQUEST* Request 5016 ); 5017 5018 _IRQL_requires_max_(DISPATCH_LEVEL) 5019 WDFAPI 5020 NTSTATUS 5021 STDCALL 5022 WDFEXPORT(WdfRequestReuse)( 5023 _In_ 5024 PWDF_DRIVER_GLOBALS DriverGlobals, 5025 _In_ 5026 WDFREQUEST Request, 5027 _In_ 5028 PWDF_REQUEST_REUSE_PARAMS ReuseParams 5029 ); 5030 5031 _Must_inspect_result_ 5032 _IRQL_requires_max_(DISPATCH_LEVEL) 5033 WDFAPI 5034 NTSTATUS 5035 STDCALL 5036 WDFEXPORT(WdfRequestChangeTarget)( 5037 _In_ 5038 PWDF_DRIVER_GLOBALS DriverGlobals, 5039 _In_ 5040 WDFREQUEST Request, 5041 _In_ 5042 WDFIOTARGET IoTarget 5043 ); 5044 5045 _IRQL_requires_max_(DISPATCH_LEVEL) 5046 WDFAPI 5047 VOID 5048 STDCALL 5049 WDFEXPORT(WdfRequestFormatRequestUsingCurrentType)( 5050 _In_ 5051 PWDF_DRIVER_GLOBALS DriverGlobals, 5052 _In_ 5053 WDFREQUEST Request 5054 ); 5055 5056 _IRQL_requires_max_(DISPATCH_LEVEL) 5057 WDFAPI 5058 VOID 5059 STDCALL 5060 WDFEXPORT(WdfRequestWdmFormatUsingStackLocation)( 5061 _In_ 5062 PWDF_DRIVER_GLOBALS DriverGlobals, 5063 _In_ 5064 WDFREQUEST Request, 5065 _In_ 5066 PIO_STACK_LOCATION Stack 5067 ); 5068 5069 _IRQL_requires_max_(DISPATCH_LEVEL) 5070 _When_(Options->Flags & WDF_REQUEST_SEND_OPTION_SYNCHRONOUS == 0, _Must_inspect_result_) 5071 WDFAPI 5072 BOOLEAN 5073 STDCALL 5074 WDFEXPORT(WdfRequestSend)( 5075 _In_ 5076 PWDF_DRIVER_GLOBALS DriverGlobals, 5077 _In_ 5078 WDFREQUEST Request, 5079 _In_ 5080 WDFIOTARGET Target, 5081 _In_opt_ 5082 PWDF_REQUEST_SEND_OPTIONS Options 5083 ); 5084 5085 _Must_inspect_result_ 5086 _IRQL_requires_max_(DISPATCH_LEVEL) 5087 WDFAPI 5088 NTSTATUS 5089 STDCALL 5090 WDFEXPORT(WdfRequestGetStatus)( 5091 _In_ 5092 PWDF_DRIVER_GLOBALS DriverGlobals, 5093 _In_ 5094 WDFREQUEST Request 5095 ); 5096 5097 _IRQL_requires_max_(DISPATCH_LEVEL) 5098 WDFAPI 5099 VOID 5100 STDCALL 5101 WDFEXPORT(WdfRequestMarkCancelable)( 5102 _In_ 5103 PWDF_DRIVER_GLOBALS DriverGlobals, 5104 _In_ 5105 WDFREQUEST Request, 5106 _In_ 5107 PFN_WDF_REQUEST_CANCEL EvtRequestCancel 5108 ); 5109 5110 _Must_inspect_result_ 5111 _IRQL_requires_max_(DISPATCH_LEVEL) 5112 WDFAPI 5113 NTSTATUS 5114 STDCALL 5115 WDFEXPORT(WdfRequestMarkCancelableEx)( 5116 _In_ 5117 PWDF_DRIVER_GLOBALS DriverGlobals, 5118 _In_ 5119 WDFREQUEST Request, 5120 _In_ 5121 PFN_WDF_REQUEST_CANCEL EvtRequestCancel 5122 ); 5123 5124 _Must_inspect_result_ 5125 _IRQL_requires_max_(DISPATCH_LEVEL) 5126 WDFAPI 5127 NTSTATUS 5128 STDCALL 5129 WDFEXPORT(WdfRequestUnmarkCancelable)( 5130 _In_ 5131 PWDF_DRIVER_GLOBALS DriverGlobals, 5132 _In_ 5133 WDFREQUEST Request 5134 ); 5135 5136 _Must_inspect_result_ 5137 _IRQL_requires_max_(DISPATCH_LEVEL) 5138 WDFAPI 5139 BOOLEAN 5140 STDCALL 5141 WDFEXPORT(WdfRequestIsCanceled)( 5142 _In_ 5143 PWDF_DRIVER_GLOBALS DriverGlobals, 5144 _In_ 5145 WDFREQUEST Request 5146 ); 5147 5148 _IRQL_requires_max_(DISPATCH_LEVEL) 5149 WDFAPI 5150 BOOLEAN 5151 STDCALL 5152 WDFEXPORT(WdfRequestCancelSentRequest)( 5153 _In_ 5154 PWDF_DRIVER_GLOBALS DriverGlobals, 5155 _In_ 5156 WDFREQUEST Request 5157 ); 5158 5159 _Must_inspect_result_ 5160 _IRQL_requires_max_(APC_LEVEL) 5161 WDFAPI 5162 BOOLEAN 5163 STDCALL 5164 WDFEXPORT(WdfRequestIsFrom32BitProcess)( 5165 _In_ 5166 PWDF_DRIVER_GLOBALS DriverGlobals, 5167 _In_ 5168 WDFREQUEST Request 5169 ); 5170 5171 _IRQL_requires_max_(DISPATCH_LEVEL) 5172 WDFAPI 5173 VOID 5174 STDCALL 5175 WDFEXPORT(WdfRequestSetCompletionRoutine)( 5176 _In_ 5177 PWDF_DRIVER_GLOBALS DriverGlobals, 5178 _In_ 5179 WDFREQUEST Request, 5180 _In_opt_ 5181 PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine, 5182 _In_opt_ __drv_aliasesMem 5183 WDFCONTEXT CompletionContext 5184 ); 5185 5186 _IRQL_requires_max_(DISPATCH_LEVEL) 5187 WDFAPI 5188 VOID 5189 STDCALL 5190 WDFEXPORT(WdfRequestGetCompletionParams)( 5191 _In_ 5192 PWDF_DRIVER_GLOBALS DriverGlobals, 5193 _In_ 5194 WDFREQUEST Request, 5195 _Out_ 5196 PWDF_REQUEST_COMPLETION_PARAMS Params 5197 ); 5198 5199 _Must_inspect_result_ 5200 _IRQL_requires_max_(DISPATCH_LEVEL) 5201 WDFAPI 5202 NTSTATUS 5203 STDCALL 5204 WDFEXPORT(WdfRequestAllocateTimer)( 5205 _In_ 5206 PWDF_DRIVER_GLOBALS DriverGlobals, 5207 _In_ 5208 WDFREQUEST Request 5209 ); 5210 5211 _IRQL_requires_max_(DISPATCH_LEVEL) 5212 WDFAPI 5213 VOID 5214 STDCALL 5215 WDFEXPORT(WdfRequestComplete)( 5216 _In_ 5217 PWDF_DRIVER_GLOBALS DriverGlobals, 5218 _In_ 5219 WDFREQUEST Request, 5220 _In_ 5221 NTSTATUS Status 5222 ); 5223 5224 _IRQL_requires_max_(DISPATCH_LEVEL) 5225 WDFAPI 5226 VOID 5227 STDCALL 5228 WDFEXPORT(WdfRequestCompleteWithPriorityBoost)( 5229 _In_ 5230 PWDF_DRIVER_GLOBALS DriverGlobals, 5231 _In_ 5232 WDFREQUEST Request, 5233 _In_ 5234 NTSTATUS Status, 5235 _In_ 5236 CCHAR PriorityBoost 5237 ); 5238 5239 _IRQL_requires_max_(DISPATCH_LEVEL) 5240 WDFAPI 5241 VOID 5242 STDCALL 5243 WDFEXPORT(WdfRequestCompleteWithInformation)( 5244 _In_ 5245 PWDF_DRIVER_GLOBALS DriverGlobals, 5246 _In_ 5247 WDFREQUEST Request, 5248 _In_ 5249 NTSTATUS Status, 5250 _In_ 5251 ULONG_PTR Information 5252 ); 5253 5254 _IRQL_requires_max_(DISPATCH_LEVEL) 5255 WDFAPI 5256 VOID 5257 STDCALL 5258 WDFEXPORT(WdfRequestGetParameters)( 5259 _In_ 5260 PWDF_DRIVER_GLOBALS DriverGlobals, 5261 _In_ 5262 WDFREQUEST Request, 5263 _Out_ 5264 PWDF_REQUEST_PARAMETERS Parameters 5265 ); 5266 5267 _Must_inspect_result_ 5268 _IRQL_requires_max_(DISPATCH_LEVEL) 5269 WDFAPI 5270 NTSTATUS 5271 STDCALL 5272 WDFEXPORT(WdfRequestRetrieveInputMemory)( 5273 _In_ 5274 PWDF_DRIVER_GLOBALS DriverGlobals, 5275 _In_ 5276 WDFREQUEST Request, 5277 _Out_ 5278 WDFMEMORY* Memory 5279 ); 5280 5281 _Must_inspect_result_ 5282 _IRQL_requires_max_(DISPATCH_LEVEL) 5283 WDFAPI 5284 NTSTATUS 5285 STDCALL 5286 WDFEXPORT(WdfRequestRetrieveOutputMemory)( 5287 _In_ 5288 PWDF_DRIVER_GLOBALS DriverGlobals, 5289 _In_ 5290 WDFREQUEST Request, 5291 _Out_ 5292 WDFMEMORY* Memory 5293 ); 5294 5295 _Must_inspect_result_ 5296 _IRQL_requires_max_(DISPATCH_LEVEL) 5297 WDFAPI 5298 NTSTATUS 5299 STDCALL 5300 WDFEXPORT(WdfRequestRetrieveInputBuffer)( 5301 _In_ 5302 PWDF_DRIVER_GLOBALS DriverGlobals, 5303 _In_ 5304 WDFREQUEST Request, 5305 _In_ 5306 size_t MinimumRequiredLength, 5307 _Outptr_result_bytebuffer_(*Length) 5308 PVOID* Buffer, 5309 _Out_opt_ 5310 size_t* Length 5311 ); 5312 5313 _Must_inspect_result_ 5314 _IRQL_requires_max_(DISPATCH_LEVEL) 5315 WDFAPI 5316 NTSTATUS 5317 STDCALL 5318 WDFEXPORT(WdfRequestRetrieveOutputBuffer)( 5319 _In_ 5320 PWDF_DRIVER_GLOBALS DriverGlobals, 5321 _In_ 5322 WDFREQUEST Request, 5323 _In_ 5324 size_t MinimumRequiredSize, 5325 _Outptr_result_bytebuffer_(*Length) 5326 PVOID* Buffer, 5327 _Out_opt_ 5328 size_t* Length 5329 ); 5330 5331 _Must_inspect_result_ 5332 _IRQL_requires_max_(DISPATCH_LEVEL) 5333 WDFAPI 5334 NTSTATUS 5335 STDCALL 5336 WDFEXPORT(WdfRequestRetrieveInputWdmMdl)( 5337 _In_ 5338 PWDF_DRIVER_GLOBALS DriverGlobals, 5339 _In_ 5340 WDFREQUEST Request, 5341 _Outptr_ 5342 PMDL* Mdl 5343 ); 5344 5345 _Must_inspect_result_ 5346 _IRQL_requires_max_(DISPATCH_LEVEL) 5347 WDFAPI 5348 NTSTATUS 5349 STDCALL 5350 WDFEXPORT(WdfRequestRetrieveOutputWdmMdl)( 5351 _In_ 5352 PWDF_DRIVER_GLOBALS DriverGlobals, 5353 _In_ 5354 WDFREQUEST Request, 5355 _Outptr_ 5356 PMDL* Mdl 5357 ); 5358 5359 _Must_inspect_result_ 5360 _IRQL_requires_max_(PASSIVE_LEVEL) 5361 WDFAPI 5362 NTSTATUS 5363 STDCALL 5364 WDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer)( 5365 _In_ 5366 PWDF_DRIVER_GLOBALS DriverGlobals, 5367 _In_ 5368 WDFREQUEST Request, 5369 _In_ 5370 size_t MinimumRequiredLength, 5371 _Outptr_result_bytebuffer_maybenull_(*Length) 5372 PVOID* InputBuffer, 5373 _Out_opt_ 5374 size_t* Length 5375 ); 5376 5377 _Must_inspect_result_ 5378 _IRQL_requires_max_(PASSIVE_LEVEL) 5379 WDFAPI 5380 NTSTATUS 5381 STDCALL 5382 WDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer)( 5383 _In_ 5384 PWDF_DRIVER_GLOBALS DriverGlobals, 5385 _In_ 5386 WDFREQUEST Request, 5387 _In_ 5388 size_t MinimumRequiredLength, 5389 _Outptr_result_bytebuffer_maybenull_(*Length) 5390 PVOID* OutputBuffer, 5391 _Out_opt_ 5392 size_t* Length 5393 ); 5394 5395 _IRQL_requires_max_(DISPATCH_LEVEL) 5396 WDFAPI 5397 VOID 5398 STDCALL 5399 WDFEXPORT(WdfRequestSetInformation)( 5400 _In_ 5401 PWDF_DRIVER_GLOBALS DriverGlobals, 5402 _In_ 5403 WDFREQUEST Request, 5404 _In_ 5405 ULONG_PTR Information 5406 ); 5407 5408 _IRQL_requires_max_(DISPATCH_LEVEL) 5409 WDFAPI 5410 ULONG_PTR 5411 STDCALL 5412 WDFEXPORT(WdfRequestGetInformation)( 5413 _In_ 5414 PWDF_DRIVER_GLOBALS DriverGlobals, 5415 _In_ 5416 WDFREQUEST Request 5417 ); 5418 5419 _IRQL_requires_max_(DISPATCH_LEVEL) 5420 WDFAPI 5421 WDFFILEOBJECT 5422 STDCALL 5423 WDFEXPORT(WdfRequestGetFileObject)( 5424 _In_ 5425 PWDF_DRIVER_GLOBALS DriverGlobals, 5426 _In_ 5427 WDFREQUEST Request 5428 ); 5429 5430 _Must_inspect_result_ 5431 _IRQL_requires_max_(PASSIVE_LEVEL) 5432 WDFAPI 5433 NTSTATUS 5434 STDCALL 5435 WDFEXPORT(WdfRequestProbeAndLockUserBufferForRead)( 5436 _In_ 5437 PWDF_DRIVER_GLOBALS DriverGlobals, 5438 _In_ 5439 WDFREQUEST Request, 5440 _In_reads_bytes_(Length) 5441 PVOID Buffer, 5442 _In_ 5443 size_t Length, 5444 _Out_ 5445 WDFMEMORY* MemoryObject 5446 ); 5447 5448 _Must_inspect_result_ 5449 _IRQL_requires_max_(PASSIVE_LEVEL) 5450 WDFAPI 5451 NTSTATUS 5452 STDCALL 5453 WDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite)( 5454 _In_ 5455 PWDF_DRIVER_GLOBALS DriverGlobals, 5456 _In_ 5457 WDFREQUEST Request, 5458 _In_reads_bytes_(Length) 5459 PVOID Buffer, 5460 _In_ 5461 size_t Length, 5462 _Out_ 5463 WDFMEMORY* MemoryObject 5464 ); 5465 5466 _IRQL_requires_max_(DISPATCH_LEVEL) 5467 WDFAPI 5468 KPROCESSOR_MODE 5469 STDCALL 5470 WDFEXPORT(WdfRequestGetRequestorMode)( 5471 _In_ 5472 PWDF_DRIVER_GLOBALS DriverGlobals, 5473 _In_ 5474 WDFREQUEST Request 5475 ); 5476 5477 _Must_inspect_result_ 5478 _IRQL_requires_max_(DISPATCH_LEVEL) 5479 WDFAPI 5480 NTSTATUS 5481 STDCALL 5482 WDFEXPORT(WdfRequestForwardToIoQueue)( 5483 _In_ 5484 PWDF_DRIVER_GLOBALS DriverGlobals, 5485 _In_ 5486 WDFREQUEST Request, 5487 _In_ 5488 WDFQUEUE DestinationQueue 5489 ); 5490 5491 _IRQL_requires_max_(DISPATCH_LEVEL) 5492 WDFAPI 5493 WDFQUEUE 5494 STDCALL 5495 WDFEXPORT(WdfRequestGetIoQueue)( 5496 _In_ 5497 PWDF_DRIVER_GLOBALS DriverGlobals, 5498 _In_ 5499 WDFREQUEST Request 5500 ); 5501 5502 _Must_inspect_result_ 5503 _IRQL_requires_max_(DISPATCH_LEVEL) 5504 WDFAPI 5505 NTSTATUS 5506 STDCALL 5507 WDFEXPORT(WdfRequestRequeue)( 5508 _In_ 5509 PWDF_DRIVER_GLOBALS DriverGlobals, 5510 _In_ 5511 WDFREQUEST Request 5512 ); 5513 5514 _IRQL_requires_max_(DISPATCH_LEVEL) 5515 WDFAPI 5516 VOID 5517 STDCALL 5518 WDFEXPORT(WdfRequestStopAcknowledge)( 5519 _In_ 5520 PWDF_DRIVER_GLOBALS DriverGlobals, 5521 _In_ 5522 WDFREQUEST Request, 5523 _In_ 5524 BOOLEAN Requeue 5525 ); 5526 5527 _IRQL_requires_max_(DISPATCH_LEVEL) 5528 WDFAPI 5529 PIRP 5530 STDCALL 5531 WDFEXPORT(WdfRequestWdmGetIrp)( 5532 _In_ 5533 PWDF_DRIVER_GLOBALS DriverGlobals, 5534 _In_ 5535 WDFREQUEST Request 5536 ); 5537 5538 _IRQL_requires_max_(DISPATCH_LEVEL) 5539 WDFAPI 5540 BOOLEAN 5541 STDCALL 5542 WDFEXPORT(WdfRequestIsReserved)( 5543 _In_ 5544 PWDF_DRIVER_GLOBALS DriverGlobals, 5545 _In_ 5546 WDFREQUEST Request 5547 ); 5548 5549 _Must_inspect_result_ 5550 _IRQL_requires_max_(DISPATCH_LEVEL) 5551 WDFAPI 5552 NTSTATUS 5553 STDCALL 5554 WDFEXPORT(WdfRequestForwardToParentDeviceIoQueue)( 5555 _In_ 5556 PWDF_DRIVER_GLOBALS DriverGlobals, 5557 _In_ 5558 WDFREQUEST Request, 5559 _In_ 5560 WDFQUEUE ParentDeviceQueue, 5561 _In_ 5562 PWDF_REQUEST_FORWARD_OPTIONS ForwardOptions 5563 ); 5564 5565 _IRQL_requires_max_(DISPATCH_LEVEL) 5566 WDFAPI 5567 VOID 5568 STDCALL 5569 WDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber)( 5570 _In_ 5571 PWDF_DRIVER_GLOBALS DriverGlobals, 5572 _In_ 5573 WDFIORESREQLIST RequirementsList, 5574 _In_ 5575 ULONG SlotNumber 5576 ); 5577 5578 _IRQL_requires_max_(DISPATCH_LEVEL) 5579 WDFAPI 5580 VOID 5581 STDCALL 5582 WDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType)( 5583 _In_ 5584 PWDF_DRIVER_GLOBALS DriverGlobals, 5585 _In_ 5586 WDFIORESREQLIST RequirementsList, 5587 _In_ 5588 _Strict_type_match_ 5589 INTERFACE_TYPE InterfaceType 5590 ); 5591 5592 _Must_inspect_result_ 5593 _IRQL_requires_max_(DISPATCH_LEVEL) 5594 WDFAPI 5595 NTSTATUS 5596 STDCALL 5597 WDFEXPORT(WdfIoResourceRequirementsListAppendIoResList)( 5598 _In_ 5599 PWDF_DRIVER_GLOBALS DriverGlobals, 5600 _In_ 5601 WDFIORESREQLIST RequirementsList, 5602 _In_ 5603 WDFIORESLIST IoResList 5604 ); 5605 5606 _Must_inspect_result_ 5607 _IRQL_requires_max_(DISPATCH_LEVEL) 5608 WDFAPI 5609 NTSTATUS 5610 STDCALL 5611 WDFEXPORT(WdfIoResourceRequirementsListInsertIoResList)( 5612 _In_ 5613 PWDF_DRIVER_GLOBALS DriverGlobals, 5614 _In_ 5615 WDFIORESREQLIST RequirementsList, 5616 _In_ 5617 WDFIORESLIST IoResList, 5618 _In_ 5619 ULONG Index 5620 ); 5621 5622 _IRQL_requires_max_(DISPATCH_LEVEL) 5623 WDFAPI 5624 ULONG 5625 STDCALL 5626 WDFEXPORT(WdfIoResourceRequirementsListGetCount)( 5627 _In_ 5628 PWDF_DRIVER_GLOBALS DriverGlobals, 5629 _In_ 5630 WDFIORESREQLIST RequirementsList 5631 ); 5632 5633 _IRQL_requires_max_(DISPATCH_LEVEL) 5634 WDFAPI 5635 WDFIORESLIST 5636 STDCALL 5637 WDFEXPORT(WdfIoResourceRequirementsListGetIoResList)( 5638 _In_ 5639 PWDF_DRIVER_GLOBALS DriverGlobals, 5640 _In_ 5641 WDFIORESREQLIST RequirementsList, 5642 _In_ 5643 ULONG Index 5644 ); 5645 5646 _IRQL_requires_max_(DISPATCH_LEVEL) 5647 WDFAPI 5648 VOID 5649 STDCALL 5650 WDFEXPORT(WdfIoResourceRequirementsListRemove)( 5651 _In_ 5652 PWDF_DRIVER_GLOBALS DriverGlobals, 5653 _In_ 5654 WDFIORESREQLIST RequirementsList, 5655 _In_ 5656 ULONG Index 5657 ); 5658 5659 _IRQL_requires_max_(DISPATCH_LEVEL) 5660 WDFAPI 5661 VOID 5662 STDCALL 5663 WDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList)( 5664 _In_ 5665 PWDF_DRIVER_GLOBALS DriverGlobals, 5666 _In_ 5667 WDFIORESREQLIST RequirementsList, 5668 _In_ 5669 WDFIORESLIST IoResList 5670 ); 5671 5672 _Must_inspect_result_ 5673 _IRQL_requires_max_(DISPATCH_LEVEL) 5674 WDFAPI 5675 NTSTATUS 5676 STDCALL 5677 WDFEXPORT(WdfIoResourceListCreate)( 5678 _In_ 5679 PWDF_DRIVER_GLOBALS DriverGlobals, 5680 _In_ 5681 WDFIORESREQLIST RequirementsList, 5682 _In_opt_ 5683 PWDF_OBJECT_ATTRIBUTES Attributes, 5684 _Out_ 5685 WDFIORESLIST* ResourceList 5686 ); 5687 5688 _Must_inspect_result_ 5689 _IRQL_requires_max_(DISPATCH_LEVEL) 5690 WDFAPI 5691 NTSTATUS 5692 STDCALL 5693 WDFEXPORT(WdfIoResourceListAppendDescriptor)( 5694 _In_ 5695 PWDF_DRIVER_GLOBALS DriverGlobals, 5696 _In_ 5697 WDFIORESLIST ResourceList, 5698 _In_ 5699 PIO_RESOURCE_DESCRIPTOR Descriptor 5700 ); 5701 5702 _Must_inspect_result_ 5703 _IRQL_requires_max_(DISPATCH_LEVEL) 5704 WDFAPI 5705 NTSTATUS 5706 STDCALL 5707 WDFEXPORT(WdfIoResourceListInsertDescriptor)( 5708 _In_ 5709 PWDF_DRIVER_GLOBALS DriverGlobals, 5710 _In_ 5711 WDFIORESLIST ResourceList, 5712 _In_ 5713 PIO_RESOURCE_DESCRIPTOR Descriptor, 5714 _In_ 5715 ULONG Index 5716 ); 5717 5718 _IRQL_requires_max_(DISPATCH_LEVEL) 5719 WDFAPI 5720 VOID 5721 STDCALL 5722 WDFEXPORT(WdfIoResourceListUpdateDescriptor)( 5723 _In_ 5724 PWDF_DRIVER_GLOBALS DriverGlobals, 5725 _In_ 5726 WDFIORESLIST ResourceList, 5727 _In_ 5728 PIO_RESOURCE_DESCRIPTOR Descriptor, 5729 _In_ 5730 ULONG Index 5731 ); 5732 5733 _IRQL_requires_max_(DISPATCH_LEVEL) 5734 WDFAPI 5735 ULONG 5736 STDCALL 5737 WDFEXPORT(WdfIoResourceListGetCount)( 5738 _In_ 5739 PWDF_DRIVER_GLOBALS DriverGlobals, 5740 _In_ 5741 WDFIORESLIST ResourceList 5742 ); 5743 5744 _IRQL_requires_max_(DISPATCH_LEVEL) 5745 WDFAPI 5746 PIO_RESOURCE_DESCRIPTOR 5747 STDCALL 5748 WDFEXPORT(WdfIoResourceListGetDescriptor)( 5749 _In_ 5750 PWDF_DRIVER_GLOBALS DriverGlobals, 5751 _In_ 5752 WDFIORESLIST ResourceList, 5753 _In_ 5754 ULONG Index 5755 ); 5756 5757 _IRQL_requires_max_(DISPATCH_LEVEL) 5758 WDFAPI 5759 VOID 5760 STDCALL 5761 WDFEXPORT(WdfIoResourceListRemove)( 5762 _In_ 5763 PWDF_DRIVER_GLOBALS DriverGlobals, 5764 _In_ 5765 WDFIORESLIST ResourceList, 5766 _In_ 5767 ULONG Index 5768 ); 5769 5770 _IRQL_requires_max_(DISPATCH_LEVEL) 5771 WDFAPI 5772 VOID 5773 STDCALL 5774 WDFEXPORT(WdfIoResourceListRemoveByDescriptor)( 5775 _In_ 5776 PWDF_DRIVER_GLOBALS DriverGlobals, 5777 _In_ 5778 WDFIORESLIST ResourceList, 5779 _In_ 5780 PIO_RESOURCE_DESCRIPTOR Descriptor 5781 ); 5782 5783 _Must_inspect_result_ 5784 _IRQL_requires_max_(DISPATCH_LEVEL) 5785 WDFAPI 5786 NTSTATUS 5787 STDCALL 5788 WDFEXPORT(WdfCmResourceListAppendDescriptor)( 5789 _In_ 5790 PWDF_DRIVER_GLOBALS DriverGlobals, 5791 _In_ 5792 WDFCMRESLIST List, 5793 _In_ 5794 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor 5795 ); 5796 5797 _Must_inspect_result_ 5798 _IRQL_requires_max_(DISPATCH_LEVEL) 5799 WDFAPI 5800 NTSTATUS 5801 STDCALL 5802 WDFEXPORT(WdfCmResourceListInsertDescriptor)( 5803 _In_ 5804 PWDF_DRIVER_GLOBALS DriverGlobals, 5805 _In_ 5806 WDFCMRESLIST List, 5807 _In_ 5808 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor, 5809 _In_ 5810 ULONG Index 5811 ); 5812 5813 _IRQL_requires_max_(DISPATCH_LEVEL) 5814 WDFAPI 5815 ULONG 5816 STDCALL 5817 WDFEXPORT(WdfCmResourceListGetCount)( 5818 _In_ 5819 PWDF_DRIVER_GLOBALS DriverGlobals, 5820 _In_ 5821 WDFCMRESLIST List 5822 ); 5823 5824 _IRQL_requires_max_(DISPATCH_LEVEL) 5825 WDFAPI 5826 PCM_PARTIAL_RESOURCE_DESCRIPTOR 5827 STDCALL 5828 WDFEXPORT(WdfCmResourceListGetDescriptor)( 5829 _In_ 5830 PWDF_DRIVER_GLOBALS DriverGlobals, 5831 _In_ 5832 WDFCMRESLIST List, 5833 _In_ 5834 ULONG Index 5835 ); 5836 5837 _IRQL_requires_max_(DISPATCH_LEVEL) 5838 WDFAPI 5839 VOID 5840 STDCALL 5841 WDFEXPORT(WdfCmResourceListRemove)( 5842 _In_ 5843 PWDF_DRIVER_GLOBALS DriverGlobals, 5844 _In_ 5845 WDFCMRESLIST List, 5846 _In_ 5847 ULONG Index 5848 ); 5849 5850 _IRQL_requires_max_(DISPATCH_LEVEL) 5851 WDFAPI 5852 VOID 5853 STDCALL 5854 WDFEXPORT(WdfCmResourceListRemoveByDescriptor)( 5855 _In_ 5856 PWDF_DRIVER_GLOBALS DriverGlobals, 5857 _In_ 5858 WDFCMRESLIST List, 5859 _In_ 5860 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor 5861 ); 5862 5863 _Must_inspect_result_ 5864 _IRQL_requires_max_(PASSIVE_LEVEL) 5865 WDFAPI 5866 NTSTATUS 5867 STDCALL 5868 WDFEXPORT(WdfStringCreate)( 5869 _In_ 5870 PWDF_DRIVER_GLOBALS DriverGlobals, 5871 _In_opt_ 5872 PCUNICODE_STRING UnicodeString, 5873 _In_opt_ 5874 PWDF_OBJECT_ATTRIBUTES StringAttributes, 5875 _Out_ 5876 WDFSTRING* String 5877 ); 5878 5879 _IRQL_requires_max_(PASSIVE_LEVEL) 5880 WDFAPI 5881 VOID 5882 STDCALL 5883 WDFEXPORT(WdfStringGetUnicodeString)( 5884 _In_ 5885 PWDF_DRIVER_GLOBALS DriverGlobals, 5886 _In_ 5887 WDFSTRING String, 5888 _Out_ 5889 PUNICODE_STRING UnicodeString 5890 ); 5891 5892 _IRQL_requires_max_(DISPATCH_LEVEL) 5893 WDFAPI 5894 VOID 5895 STDCALL 5896 WDFEXPORT(WdfObjectAcquireLock)( 5897 _In_ 5898 PWDF_DRIVER_GLOBALS DriverGlobals, 5899 _In_ 5900 _Requires_lock_not_held_(_Curr_) 5901 _Acquires_lock_(_Curr_) 5902 WDFOBJECT Object 5903 ); 5904 5905 _IRQL_requires_max_(DISPATCH_LEVEL) 5906 WDFAPI 5907 VOID 5908 STDCALL 5909 WDFEXPORT(WdfObjectReleaseLock)( 5910 _In_ 5911 PWDF_DRIVER_GLOBALS DriverGlobals, 5912 _In_ 5913 _Requires_lock_held_(_Curr_) 5914 _Releases_lock_(_Curr_) 5915 WDFOBJECT Object 5916 ); 5917 5918 _Must_inspect_result_ 5919 _IRQL_requires_max_(DISPATCH_LEVEL) 5920 WDFAPI 5921 NTSTATUS 5922 STDCALL 5923 WDFEXPORT(WdfWaitLockCreate)( 5924 _In_ 5925 PWDF_DRIVER_GLOBALS DriverGlobals, 5926 _In_opt_ 5927 PWDF_OBJECT_ATTRIBUTES LockAttributes, 5928 _Out_ 5929 WDFWAITLOCK* Lock 5930 ); 5931 5932 _When_(Timeout == NULL, _IRQL_requires_max_(PASSIVE_LEVEL)) 5933 _When_(Timeout != NULL && *Timeout == 0, _IRQL_requires_max_(DISPATCH_LEVEL)) 5934 _When_(Timeout != NULL && *Timeout != 0, _IRQL_requires_max_(PASSIVE_LEVEL)) 5935 _Always_(_When_(Timeout == NULL, _Acquires_lock_(Lock))) 5936 _When_(Timeout != NULL && return == STATUS_SUCCESS, _Acquires_lock_(Lock)) 5937 _When_(Timeout != NULL, _Must_inspect_result_) 5938 WDFAPI 5939 NTSTATUS 5940 STDCALL 5941 WDFEXPORT(WdfWaitLockAcquire)( 5942 _In_ 5943 PWDF_DRIVER_GLOBALS DriverGlobals, 5944 _In_ 5945 _Requires_lock_not_held_(_Curr_) 5946 WDFWAITLOCK Lock, 5947 _In_opt_ 5948 PLONGLONG Timeout 5949 ); 5950 5951 _IRQL_requires_max_(DISPATCH_LEVEL) 5952 WDFAPI 5953 VOID 5954 STDCALL 5955 WDFEXPORT(WdfWaitLockRelease)( 5956 _In_ 5957 PWDF_DRIVER_GLOBALS DriverGlobals, 5958 _In_ 5959 _Requires_lock_held_(_Curr_) 5960 _Releases_lock_(_Curr_) 5961 WDFWAITLOCK Lock 5962 ); 5963 5964 _Must_inspect_result_ 5965 _IRQL_requires_max_(DISPATCH_LEVEL) 5966 WDFAPI 5967 NTSTATUS 5968 STDCALL 5969 WDFEXPORT(WdfSpinLockCreate)( 5970 _In_ 5971 PWDF_DRIVER_GLOBALS DriverGlobals, 5972 _In_opt_ 5973 PWDF_OBJECT_ATTRIBUTES SpinLockAttributes, 5974 _Out_ 5975 WDFSPINLOCK* SpinLock 5976 ); 5977 5978 _IRQL_requires_max_(DISPATCH_LEVEL) 5979 _IRQL_raises_(DISPATCH_LEVEL) 5980 WDFAPI 5981 VOID 5982 STDCALL 5983 WDFEXPORT(WdfSpinLockAcquire)( 5984 _In_ 5985 PWDF_DRIVER_GLOBALS DriverGlobals, 5986 _In_ 5987 _Requires_lock_not_held_(_Curr_) 5988 _Acquires_lock_(_Curr_) 5989 _IRQL_saves_ 5990 WDFSPINLOCK SpinLock 5991 ); 5992 5993 _IRQL_requires_max_(DISPATCH_LEVEL) 5994 _IRQL_requires_min_(DISPATCH_LEVEL) 5995 WDFAPI 5996 VOID 5997 STDCALL 5998 WDFEXPORT(WdfSpinLockRelease)( 5999 _In_ 6000 PWDF_DRIVER_GLOBALS DriverGlobals, 6001 _In_ 6002 _Requires_lock_held_(_Curr_) 6003 _Releases_lock_(_Curr_) 6004 _IRQL_restores_ 6005 WDFSPINLOCK SpinLock 6006 ); 6007 6008 _Must_inspect_result_ 6009 _IRQL_requires_max_(DISPATCH_LEVEL) 6010 WDFAPI 6011 NTSTATUS 6012 STDCALL 6013 WDFEXPORT(WdfTimerCreate)( 6014 _In_ 6015 PWDF_DRIVER_GLOBALS DriverGlobals, 6016 _In_ 6017 PWDF_TIMER_CONFIG Config, 6018 _In_ 6019 PWDF_OBJECT_ATTRIBUTES Attributes, 6020 _Out_ 6021 WDFTIMER* Timer 6022 ); 6023 6024 _IRQL_requires_max_(DISPATCH_LEVEL) 6025 WDFAPI 6026 BOOLEAN 6027 STDCALL 6028 WDFEXPORT(WdfTimerStart)( 6029 _In_ 6030 PWDF_DRIVER_GLOBALS DriverGlobals, 6031 _In_ 6032 WDFTIMER Timer, 6033 _In_ 6034 LONGLONG DueTime 6035 ); 6036 6037 _When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL)) 6038 _When_(Wait == __false, _IRQL_requires_max_(DISPATCH_LEVEL)) 6039 WDFAPI 6040 BOOLEAN 6041 STDCALL 6042 WDFEXPORT(WdfTimerStop)( 6043 _In_ 6044 PWDF_DRIVER_GLOBALS DriverGlobals, 6045 _In_ 6046 WDFTIMER Timer, 6047 _In_ 6048 BOOLEAN Wait 6049 ); 6050 6051 _IRQL_requires_max_(DISPATCH_LEVEL) 6052 WDFAPI 6053 WDFOBJECT 6054 STDCALL 6055 WDFEXPORT(WdfTimerGetParentObject)( 6056 _In_ 6057 PWDF_DRIVER_GLOBALS DriverGlobals, 6058 _In_ 6059 WDFTIMER Timer 6060 ); 6061 6062 _Must_inspect_result_ 6063 _IRQL_requires_max_(PASSIVE_LEVEL) 6064 WDFAPI 6065 NTSTATUS 6066 STDCALL 6067 WDFEXPORT(WdfUsbTargetDeviceCreate)( 6068 _In_ 6069 PWDF_DRIVER_GLOBALS DriverGlobals, 6070 _In_ 6071 WDFDEVICE Device, 6072 _In_opt_ 6073 PWDF_OBJECT_ATTRIBUTES Attributes, 6074 _Out_ 6075 WDFUSBDEVICE* UsbDevice 6076 ); 6077 6078 _Must_inspect_result_ 6079 _IRQL_requires_max_(PASSIVE_LEVEL) 6080 WDFAPI 6081 NTSTATUS 6082 STDCALL 6083 WDFEXPORT(WdfUsbTargetDeviceCreateWithParameters)( 6084 _In_ 6085 PWDF_DRIVER_GLOBALS DriverGlobals, 6086 _In_ 6087 WDFDEVICE Device, 6088 _In_ 6089 PWDF_USB_DEVICE_CREATE_CONFIG Config, 6090 _In_opt_ 6091 PWDF_OBJECT_ATTRIBUTES Attributes, 6092 _Out_ 6093 WDFUSBDEVICE* UsbDevice 6094 ); 6095 6096 _Must_inspect_result_ 6097 _IRQL_requires_max_(DISPATCH_LEVEL) 6098 WDFAPI 6099 NTSTATUS 6100 STDCALL 6101 WDFEXPORT(WdfUsbTargetDeviceRetrieveInformation)( 6102 _In_ 6103 PWDF_DRIVER_GLOBALS DriverGlobals, 6104 _In_ 6105 WDFUSBDEVICE UsbDevice, 6106 _Out_ 6107 PWDF_USB_DEVICE_INFORMATION Information 6108 ); 6109 6110 _IRQL_requires_max_(PASSIVE_LEVEL) 6111 WDFAPI 6112 VOID 6113 STDCALL 6114 WDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor)( 6115 _In_ 6116 PWDF_DRIVER_GLOBALS DriverGlobals, 6117 _In_ 6118 WDFUSBDEVICE UsbDevice, 6119 _Out_ 6120 PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor 6121 ); 6122 6123 _Must_inspect_result_ 6124 _IRQL_requires_max_(PASSIVE_LEVEL) 6125 WDFAPI 6126 NTSTATUS 6127 STDCALL 6128 WDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor)( 6129 _In_ 6130 PWDF_DRIVER_GLOBALS DriverGlobals, 6131 _In_ 6132 WDFUSBDEVICE UsbDevice, 6133 _Out_writes_bytes_to_opt_(*ConfigDescriptorLength,*ConfigDescriptorLength) 6134 PVOID ConfigDescriptor, 6135 _Inout_ 6136 PUSHORT ConfigDescriptorLength 6137 ); 6138 6139 _Must_inspect_result_ 6140 _IRQL_requires_max_(PASSIVE_LEVEL) 6141 WDFAPI 6142 NTSTATUS 6143 STDCALL 6144 WDFEXPORT(WdfUsbTargetDeviceQueryString)( 6145 _In_ 6146 PWDF_DRIVER_GLOBALS DriverGlobals, 6147 _In_ 6148 WDFUSBDEVICE UsbDevice, 6149 _In_opt_ 6150 WDFREQUEST Request, 6151 _In_opt_ 6152 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 6153 _Out_writes_opt_(*NumCharacters) 6154 PUSHORT String, 6155 _Inout_ 6156 PUSHORT NumCharacters, 6157 _In_ 6158 UCHAR StringIndex, 6159 _In_opt_ 6160 USHORT LangID 6161 ); 6162 6163 _Must_inspect_result_ 6164 _IRQL_requires_max_(PASSIVE_LEVEL) 6165 WDFAPI 6166 NTSTATUS 6167 STDCALL 6168 WDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString)( 6169 _In_ 6170 PWDF_DRIVER_GLOBALS DriverGlobals, 6171 _In_ 6172 WDFUSBDEVICE UsbDevice, 6173 _In_opt_ 6174 PWDF_OBJECT_ATTRIBUTES StringMemoryAttributes, 6175 _Out_ 6176 WDFMEMORY* StringMemory, 6177 _Out_opt_ 6178 PUSHORT NumCharacters, 6179 _In_ 6180 UCHAR StringIndex, 6181 _In_opt_ 6182 USHORT LangID 6183 ); 6184 6185 _Must_inspect_result_ 6186 _IRQL_requires_max_(DISPATCH_LEVEL) 6187 WDFAPI 6188 NTSTATUS 6189 STDCALL 6190 WDFEXPORT(WdfUsbTargetDeviceFormatRequestForString)( 6191 _In_ 6192 PWDF_DRIVER_GLOBALS DriverGlobals, 6193 _In_ 6194 WDFUSBDEVICE UsbDevice, 6195 _In_ 6196 WDFREQUEST Request, 6197 _In_ 6198 WDFMEMORY Memory, 6199 _In_opt_ 6200 PWDFMEMORY_OFFSET Offset, 6201 _In_ 6202 UCHAR StringIndex, 6203 _In_opt_ 6204 USHORT LangID 6205 ); 6206 6207 _IRQL_requires_max_(DISPATCH_LEVEL) 6208 WDFAPI 6209 UCHAR 6210 STDCALL 6211 WDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces)( 6212 _In_ 6213 PWDF_DRIVER_GLOBALS DriverGlobals, 6214 _In_ 6215 WDFUSBDEVICE UsbDevice 6216 ); 6217 6218 _Must_inspect_result_ 6219 _IRQL_requires_max_(PASSIVE_LEVEL) 6220 WDFAPI 6221 NTSTATUS 6222 STDCALL 6223 WDFEXPORT(WdfUsbTargetDeviceSelectConfig)( 6224 _In_ 6225 PWDF_DRIVER_GLOBALS DriverGlobals, 6226 _In_ 6227 WDFUSBDEVICE UsbDevice, 6228 _In_opt_ 6229 PWDF_OBJECT_ATTRIBUTES PipeAttributes, 6230 _Inout_ 6231 PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params 6232 ); 6233 6234 _IRQL_requires_max_(DISPATCH_LEVEL) 6235 WDFAPI 6236 USBD_CONFIGURATION_HANDLE 6237 STDCALL 6238 WDFEXPORT(WdfUsbTargetDeviceWdmGetConfigurationHandle)( 6239 _In_ 6240 PWDF_DRIVER_GLOBALS DriverGlobals, 6241 _In_ 6242 WDFUSBDEVICE UsbDevice 6243 ); 6244 6245 _Must_inspect_result_ 6246 _IRQL_requires_max_(DISPATCH_LEVEL) 6247 WDFAPI 6248 NTSTATUS 6249 STDCALL 6250 WDFEXPORT(WdfUsbTargetDeviceRetrieveCurrentFrameNumber)( 6251 _In_ 6252 PWDF_DRIVER_GLOBALS DriverGlobals, 6253 _In_ 6254 WDFUSBDEVICE UsbDevice, 6255 _Out_ 6256 PULONG CurrentFrameNumber 6257 ); 6258 6259 _Must_inspect_result_ 6260 _IRQL_requires_max_(PASSIVE_LEVEL) 6261 WDFAPI 6262 NTSTATUS 6263 STDCALL 6264 WDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously)( 6265 _In_ 6266 PWDF_DRIVER_GLOBALS DriverGlobals, 6267 _In_ 6268 WDFUSBDEVICE UsbDevice, 6269 _In_opt_ 6270 WDFREQUEST Request, 6271 _In_opt_ 6272 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 6273 _In_ 6274 PWDF_USB_CONTROL_SETUP_PACKET SetupPacket, 6275 _In_opt_ 6276 PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, 6277 _Out_opt_ 6278 PULONG BytesTransferred 6279 ); 6280 6281 _Must_inspect_result_ 6282 _IRQL_requires_max_(DISPATCH_LEVEL) 6283 WDFAPI 6284 NTSTATUS 6285 STDCALL 6286 WDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer)( 6287 _In_ 6288 PWDF_DRIVER_GLOBALS DriverGlobals, 6289 _In_ 6290 WDFUSBDEVICE UsbDevice, 6291 _In_ 6292 WDFREQUEST Request, 6293 _In_ 6294 PWDF_USB_CONTROL_SETUP_PACKET SetupPacket, 6295 _In_opt_ 6296 WDFMEMORY TransferMemory, 6297 _In_opt_ 6298 PWDFMEMORY_OFFSET TransferOffset 6299 ); 6300 6301 _Must_inspect_result_ 6302 _IRQL_requires_max_(PASSIVE_LEVEL) 6303 WDFAPI 6304 NTSTATUS 6305 STDCALL 6306 WDFEXPORT(WdfUsbTargetDeviceIsConnectedSynchronous)( 6307 _In_ 6308 PWDF_DRIVER_GLOBALS DriverGlobals, 6309 _In_ 6310 WDFUSBDEVICE UsbDevice 6311 ); 6312 6313 _Must_inspect_result_ 6314 _IRQL_requires_max_(PASSIVE_LEVEL) 6315 WDFAPI 6316 NTSTATUS 6317 STDCALL 6318 WDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously)( 6319 _In_ 6320 PWDF_DRIVER_GLOBALS DriverGlobals, 6321 _In_ 6322 WDFUSBDEVICE UsbDevice 6323 ); 6324 6325 _Must_inspect_result_ 6326 _IRQL_requires_max_(PASSIVE_LEVEL) 6327 WDFAPI 6328 NTSTATUS 6329 STDCALL 6330 WDFEXPORT(WdfUsbTargetDeviceCyclePortSynchronously)( 6331 _In_ 6332 PWDF_DRIVER_GLOBALS DriverGlobals, 6333 _In_ 6334 WDFUSBDEVICE UsbDevice 6335 ); 6336 6337 _Must_inspect_result_ 6338 _IRQL_requires_max_(DISPATCH_LEVEL) 6339 WDFAPI 6340 NTSTATUS 6341 STDCALL 6342 WDFEXPORT(WdfUsbTargetDeviceFormatRequestForCyclePort)( 6343 _In_ 6344 PWDF_DRIVER_GLOBALS DriverGlobals, 6345 _In_ 6346 WDFUSBDEVICE UsbDevice, 6347 _In_ 6348 WDFREQUEST Request 6349 ); 6350 6351 _Must_inspect_result_ 6352 _IRQL_requires_max_(PASSIVE_LEVEL) 6353 WDFAPI 6354 NTSTATUS 6355 STDCALL 6356 WDFEXPORT(WdfUsbTargetDeviceSendUrbSynchronously)( 6357 _In_ 6358 PWDF_DRIVER_GLOBALS DriverGlobals, 6359 _In_ 6360 WDFUSBDEVICE UsbDevice, 6361 _In_opt_ 6362 WDFREQUEST Request, 6363 _In_opt_ 6364 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 6365 _In_reads_(_Inexpressible_("union bug in SAL")) 6366 PURB Urb 6367 ); 6368 6369 _Must_inspect_result_ 6370 _IRQL_requires_max_(DISPATCH_LEVEL) 6371 WDFAPI 6372 NTSTATUS 6373 STDCALL 6374 WDFEXPORT(WdfUsbTargetDeviceFormatRequestForUrb)( 6375 _In_ 6376 PWDF_DRIVER_GLOBALS DriverGlobals, 6377 _In_ 6378 WDFUSBDEVICE UsbDevice, 6379 _In_ 6380 WDFREQUEST Request, 6381 _In_ 6382 WDFMEMORY UrbMemory, 6383 _In_opt_ 6384 PWDFMEMORY_OFFSET UrbMemoryOffset 6385 ); 6386 6387 _Must_inspect_result_ 6388 _IRQL_requires_max_(PASSIVE_LEVEL) 6389 WDFAPI 6390 NTSTATUS 6391 STDCALL 6392 WDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability)( 6393 _In_ 6394 PWDF_DRIVER_GLOBALS DriverGlobals, 6395 _In_ 6396 WDFUSBDEVICE UsbDevice, 6397 _In_ 6398 CONST GUID* CapabilityType, 6399 _In_ 6400 ULONG CapabilityBufferLength, 6401 _When_(CapabilityBufferLength == 0, _Out_opt_) 6402 _When_(CapabilityBufferLength != 0 && ResultLength == NULL, _Out_writes_bytes_(CapabilityBufferLength)) 6403 _When_(CapabilityBufferLength != 0 && ResultLength != NULL, _Out_writes_bytes_to_opt_(CapabilityBufferLength, *ResultLength)) 6404 PVOID CapabilityBuffer, 6405 _Out_opt_ 6406 _When_(ResultLength != NULL,_Deref_out_range_(<=,CapabilityBufferLength)) 6407 PULONG ResultLength 6408 ); 6409 6410 _Must_inspect_result_ 6411 _IRQL_requires_max_(DISPATCH_LEVEL) 6412 WDFAPI 6413 NTSTATUS 6414 STDCALL 6415 WDFEXPORT(WdfUsbTargetDeviceCreateUrb)( 6416 _In_ 6417 PWDF_DRIVER_GLOBALS DriverGlobals, 6418 _In_ 6419 WDFUSBDEVICE UsbDevice, 6420 _In_opt_ 6421 PWDF_OBJECT_ATTRIBUTES Attributes, 6422 _Out_ 6423 WDFMEMORY* UrbMemory, 6424 _Outptr_opt_result_bytebuffer_(sizeof(URB)) 6425 PURB* Urb 6426 ); 6427 6428 _Must_inspect_result_ 6429 _IRQL_requires_max_(DISPATCH_LEVEL) 6430 WDFAPI 6431 NTSTATUS 6432 STDCALL 6433 WDFEXPORT(WdfUsbTargetDeviceCreateIsochUrb)( 6434 _In_ 6435 PWDF_DRIVER_GLOBALS DriverGlobals, 6436 _In_ 6437 WDFUSBDEVICE UsbDevice, 6438 _In_opt_ 6439 PWDF_OBJECT_ATTRIBUTES Attributes, 6440 _In_ 6441 ULONG NumberOfIsochPackets, 6442 _Out_ 6443 WDFMEMORY* UrbMemory, 6444 _Outptr_opt_result_bytebuffer_(GET_ISO_URB_SIZE(NumberOfIsochPackets)) 6445 PURB* Urb 6446 ); 6447 6448 _IRQL_requires_max_(DISPATCH_LEVEL) 6449 WDFAPI 6450 VOID 6451 STDCALL 6452 WDFEXPORT(WdfUsbTargetPipeGetInformation)( 6453 _In_ 6454 PWDF_DRIVER_GLOBALS DriverGlobals, 6455 _In_ 6456 WDFUSBPIPE Pipe, 6457 _Out_ 6458 PWDF_USB_PIPE_INFORMATION PipeInformation 6459 ); 6460 6461 _IRQL_requires_max_(DISPATCH_LEVEL) 6462 WDFAPI 6463 BOOLEAN 6464 STDCALL 6465 WDFEXPORT(WdfUsbTargetPipeIsInEndpoint)( 6466 _In_ 6467 PWDF_DRIVER_GLOBALS DriverGlobals, 6468 _In_ 6469 WDFUSBPIPE Pipe 6470 ); 6471 6472 _IRQL_requires_max_(DISPATCH_LEVEL) 6473 WDFAPI 6474 BOOLEAN 6475 STDCALL 6476 WDFEXPORT(WdfUsbTargetPipeIsOutEndpoint)( 6477 _In_ 6478 PWDF_DRIVER_GLOBALS DriverGlobals, 6479 _In_ 6480 WDFUSBPIPE Pipe 6481 ); 6482 6483 _IRQL_requires_max_(DISPATCH_LEVEL) 6484 WDFAPI 6485 WDF_USB_PIPE_TYPE 6486 STDCALL 6487 WDFEXPORT(WdfUsbTargetPipeGetType)( 6488 _In_ 6489 PWDF_DRIVER_GLOBALS DriverGlobals, 6490 _In_ 6491 WDFUSBPIPE Pipe 6492 ); 6493 6494 _IRQL_requires_max_(DISPATCH_LEVEL) 6495 WDFAPI 6496 VOID 6497 STDCALL 6498 WDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck)( 6499 _In_ 6500 PWDF_DRIVER_GLOBALS DriverGlobals, 6501 _In_ 6502 WDFUSBPIPE Pipe 6503 ); 6504 6505 _Must_inspect_result_ 6506 _IRQL_requires_max_(PASSIVE_LEVEL) 6507 WDFAPI 6508 NTSTATUS 6509 STDCALL 6510 WDFEXPORT(WdfUsbTargetPipeWriteSynchronously)( 6511 _In_ 6512 PWDF_DRIVER_GLOBALS DriverGlobals, 6513 _In_ 6514 WDFUSBPIPE Pipe, 6515 _In_opt_ 6516 WDFREQUEST Request, 6517 _In_opt_ 6518 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 6519 _In_opt_ 6520 PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, 6521 _Out_opt_ 6522 PULONG BytesWritten 6523 ); 6524 6525 _Must_inspect_result_ 6526 _IRQL_requires_max_(DISPATCH_LEVEL) 6527 WDFAPI 6528 NTSTATUS 6529 STDCALL 6530 WDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite)( 6531 _In_ 6532 PWDF_DRIVER_GLOBALS DriverGlobals, 6533 _In_ 6534 WDFUSBPIPE Pipe, 6535 _In_ 6536 WDFREQUEST Request, 6537 _In_opt_ 6538 WDFMEMORY WriteMemory, 6539 _In_opt_ 6540 PWDFMEMORY_OFFSET WriteOffset 6541 ); 6542 6543 _Must_inspect_result_ 6544 _IRQL_requires_max_(PASSIVE_LEVEL) 6545 WDFAPI 6546 NTSTATUS 6547 STDCALL 6548 WDFEXPORT(WdfUsbTargetPipeReadSynchronously)( 6549 _In_ 6550 PWDF_DRIVER_GLOBALS DriverGlobals, 6551 _In_ 6552 WDFUSBPIPE Pipe, 6553 _In_opt_ 6554 WDFREQUEST Request, 6555 _In_opt_ 6556 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 6557 _In_opt_ 6558 PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, 6559 _Out_opt_ 6560 PULONG BytesRead 6561 ); 6562 6563 _Must_inspect_result_ 6564 _IRQL_requires_max_(DISPATCH_LEVEL) 6565 WDFAPI 6566 NTSTATUS 6567 STDCALL 6568 WDFEXPORT(WdfUsbTargetPipeFormatRequestForRead)( 6569 _In_ 6570 PWDF_DRIVER_GLOBALS DriverGlobals, 6571 _In_ 6572 WDFUSBPIPE Pipe, 6573 _In_ 6574 WDFREQUEST Request, 6575 _In_opt_ 6576 WDFMEMORY ReadMemory, 6577 _In_opt_ 6578 PWDFMEMORY_OFFSET ReadOffset 6579 ); 6580 6581 _Must_inspect_result_ 6582 _IRQL_requires_max_(DISPATCH_LEVEL) 6583 WDFAPI 6584 NTSTATUS 6585 STDCALL 6586 WDFEXPORT(WdfUsbTargetPipeConfigContinuousReader)( 6587 _In_ 6588 PWDF_DRIVER_GLOBALS DriverGlobals, 6589 _In_ 6590 WDFUSBPIPE Pipe, 6591 _In_ 6592 PWDF_USB_CONTINUOUS_READER_CONFIG Config 6593 ); 6594 6595 _Must_inspect_result_ 6596 _IRQL_requires_max_(PASSIVE_LEVEL) 6597 WDFAPI 6598 NTSTATUS 6599 STDCALL 6600 WDFEXPORT(WdfUsbTargetPipeAbortSynchronously)( 6601 _In_ 6602 PWDF_DRIVER_GLOBALS DriverGlobals, 6603 _In_ 6604 WDFUSBPIPE Pipe, 6605 _In_opt_ 6606 WDFREQUEST Request, 6607 _In_opt_ 6608 PWDF_REQUEST_SEND_OPTIONS RequestOptions 6609 ); 6610 6611 _Must_inspect_result_ 6612 _IRQL_requires_max_(DISPATCH_LEVEL) 6613 WDFAPI 6614 NTSTATUS 6615 STDCALL 6616 WDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort)( 6617 _In_ 6618 PWDF_DRIVER_GLOBALS DriverGlobals, 6619 _In_ 6620 WDFUSBPIPE Pipe, 6621 _In_ 6622 WDFREQUEST Request 6623 ); 6624 6625 _Must_inspect_result_ 6626 _IRQL_requires_max_(PASSIVE_LEVEL) 6627 WDFAPI 6628 NTSTATUS 6629 STDCALL 6630 WDFEXPORT(WdfUsbTargetPipeResetSynchronously)( 6631 _In_ 6632 PWDF_DRIVER_GLOBALS DriverGlobals, 6633 _In_ 6634 WDFUSBPIPE Pipe, 6635 _In_opt_ 6636 WDFREQUEST Request, 6637 _In_opt_ 6638 PWDF_REQUEST_SEND_OPTIONS RequestOptions 6639 ); 6640 6641 _Must_inspect_result_ 6642 _IRQL_requires_max_(DISPATCH_LEVEL) 6643 WDFAPI 6644 NTSTATUS 6645 STDCALL 6646 WDFEXPORT(WdfUsbTargetPipeFormatRequestForReset)( 6647 _In_ 6648 PWDF_DRIVER_GLOBALS DriverGlobals, 6649 _In_ 6650 WDFUSBPIPE Pipe, 6651 _In_ 6652 WDFREQUEST Request 6653 ); 6654 6655 _Must_inspect_result_ 6656 _IRQL_requires_max_(PASSIVE_LEVEL) 6657 WDFAPI 6658 NTSTATUS 6659 STDCALL 6660 WDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously)( 6661 _In_ 6662 PWDF_DRIVER_GLOBALS DriverGlobals, 6663 _In_ 6664 WDFUSBPIPE Pipe, 6665 _In_opt_ 6666 WDFREQUEST Request, 6667 _In_opt_ 6668 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 6669 _In_reads_(_Inexpressible_("union bug in SAL")) 6670 PURB Urb 6671 ); 6672 6673 _Must_inspect_result_ 6674 _IRQL_requires_max_(DISPATCH_LEVEL) 6675 WDFAPI 6676 NTSTATUS 6677 STDCALL 6678 WDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb)( 6679 _In_ 6680 PWDF_DRIVER_GLOBALS DriverGlobals, 6681 _In_ 6682 WDFUSBPIPE PIPE, 6683 _In_ 6684 WDFREQUEST Request, 6685 _In_ 6686 WDFMEMORY UrbMemory, 6687 _In_opt_ 6688 PWDFMEMORY_OFFSET UrbMemoryOffset 6689 ); 6690 6691 _IRQL_requires_max_(DISPATCH_LEVEL) 6692 WDFAPI 6693 BYTE 6694 STDCALL 6695 WDFEXPORT(WdfUsbInterfaceGetInterfaceNumber)( 6696 _In_ 6697 PWDF_DRIVER_GLOBALS DriverGlobals, 6698 _In_ 6699 WDFUSBINTERFACE UsbInterface 6700 ); 6701 6702 _IRQL_requires_max_(DISPATCH_LEVEL) 6703 WDFAPI 6704 BYTE 6705 STDCALL 6706 WDFEXPORT(WdfUsbInterfaceGetNumEndpoints)( 6707 _In_ 6708 PWDF_DRIVER_GLOBALS DriverGlobals, 6709 _In_ 6710 WDFUSBINTERFACE UsbInterface, 6711 _In_ 6712 UCHAR SettingIndex 6713 ); 6714 6715 _IRQL_requires_max_(DISPATCH_LEVEL) 6716 WDFAPI 6717 VOID 6718 STDCALL 6719 WDFEXPORT(WdfUsbInterfaceGetDescriptor)( 6720 _In_ 6721 PWDF_DRIVER_GLOBALS DriverGlobals, 6722 _In_ 6723 WDFUSBINTERFACE UsbInterface, 6724 _In_ 6725 UCHAR SettingIndex, 6726 _Out_ 6727 PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor 6728 ); 6729 6730 _IRQL_requires_max_(DISPATCH_LEVEL) 6731 WDFAPI 6732 BYTE 6733 STDCALL 6734 WDFEXPORT(WdfUsbInterfaceGetNumSettings)( 6735 _In_ 6736 PWDF_DRIVER_GLOBALS DriverGlobals, 6737 _In_ 6738 WDFUSBINTERFACE UsbInterface 6739 ); 6740 6741 _Must_inspect_result_ 6742 _IRQL_requires_max_(PASSIVE_LEVEL) 6743 WDFAPI 6744 NTSTATUS 6745 STDCALL 6746 WDFEXPORT(WdfUsbInterfaceSelectSetting)( 6747 _In_ 6748 PWDF_DRIVER_GLOBALS DriverGlobals, 6749 _In_ 6750 WDFUSBINTERFACE UsbInterface, 6751 _In_opt_ 6752 PWDF_OBJECT_ATTRIBUTES PipesAttributes, 6753 _In_ 6754 PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params 6755 ); 6756 6757 _IRQL_requires_max_(DISPATCH_LEVEL) 6758 WDFAPI 6759 VOID 6760 STDCALL 6761 WDFEXPORT(WdfUsbInterfaceGetEndpointInformation)( 6762 _In_ 6763 PWDF_DRIVER_GLOBALS DriverGlobals, 6764 _In_ 6765 WDFUSBINTERFACE UsbInterface, 6766 _In_ 6767 UCHAR SettingIndex, 6768 _In_ 6769 UCHAR EndpointIndex, 6770 _Out_ 6771 PWDF_USB_PIPE_INFORMATION EndpointInfo 6772 ); 6773 6774 _IRQL_requires_max_(DISPATCH_LEVEL) 6775 WDFAPI 6776 WDFUSBINTERFACE 6777 STDCALL 6778 WDFEXPORT(WdfUsbTargetDeviceGetInterface)( 6779 _In_ 6780 PWDF_DRIVER_GLOBALS DriverGlobals, 6781 _In_ 6782 WDFUSBDEVICE UsbDevice, 6783 _In_ 6784 UCHAR InterfaceIndex 6785 ); 6786 6787 _IRQL_requires_max_(DISPATCH_LEVEL) 6788 WDFAPI 6789 BYTE 6790 STDCALL 6791 WDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex)( 6792 _In_ 6793 PWDF_DRIVER_GLOBALS DriverGlobals, 6794 _In_ 6795 WDFUSBINTERFACE Interface 6796 ); 6797 6798 _IRQL_requires_max_(DISPATCH_LEVEL) 6799 WDFAPI 6800 BYTE 6801 STDCALL 6802 WDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes)( 6803 _In_ 6804 PWDF_DRIVER_GLOBALS DriverGlobals, 6805 _In_ 6806 WDFUSBINTERFACE UsbInterface 6807 ); 6808 6809 _IRQL_requires_max_(DISPATCH_LEVEL) 6810 WDFAPI 6811 WDFUSBPIPE 6812 STDCALL 6813 WDFEXPORT(WdfUsbInterfaceGetConfiguredPipe)( 6814 _In_ 6815 PWDF_DRIVER_GLOBALS DriverGlobals, 6816 _In_ 6817 WDFUSBINTERFACE UsbInterface, 6818 _In_ 6819 UCHAR PipeIndex, 6820 _Out_opt_ 6821 PWDF_USB_PIPE_INFORMATION PipeInfo 6822 ); 6823 6824 _IRQL_requires_max_(DISPATCH_LEVEL) 6825 WDFAPI 6826 USBD_PIPE_HANDLE 6827 STDCALL 6828 WDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle)( 6829 _In_ 6830 PWDF_DRIVER_GLOBALS DriverGlobals, 6831 _In_ 6832 WDFUSBPIPE UsbPipe 6833 ); 6834 6835 WDFAPI 6836 VOID 6837 STDCALL 6838 WDFEXPORT(WdfVerifierDbgBreakPoint)( 6839 _In_ 6840 PWDF_DRIVER_GLOBALS DriverGlobals 6841 ); 6842 6843 WDFAPI 6844 VOID 6845 STDCALL 6846 WDFEXPORT(WdfVerifierKeBugCheck)( 6847 _In_ 6848 PWDF_DRIVER_GLOBALS DriverGlobals, 6849 _In_ 6850 ULONG BugCheckCode, 6851 _In_ 6852 ULONG_PTR BugCheckParameter1, 6853 _In_ 6854 ULONG_PTR BugCheckParameter2, 6855 _In_ 6856 ULONG_PTR BugCheckParameter3, 6857 _In_ 6858 ULONG_PTR BugCheckParameter4 6859 ); 6860 6861 WDFAPI 6862 PVOID 6863 STDCALL 6864 WDFEXPORT(WdfGetTriageInfo)( 6865 _In_ 6866 PWDF_DRIVER_GLOBALS DriverGlobals 6867 ); 6868 6869 _Must_inspect_result_ 6870 _IRQL_requires_max_(DISPATCH_LEVEL) 6871 WDFAPI 6872 NTSTATUS 6873 STDCALL 6874 WDFEXPORT(WdfWmiProviderCreate)( 6875 _In_ 6876 PWDF_DRIVER_GLOBALS DriverGlobals, 6877 _In_ 6878 WDFDEVICE Device, 6879 _In_ 6880 PWDF_WMI_PROVIDER_CONFIG WmiProviderConfig, 6881 _In_opt_ 6882 PWDF_OBJECT_ATTRIBUTES ProviderAttributes, 6883 _Out_ 6884 WDFWMIPROVIDER* WmiProvider 6885 ); 6886 6887 _IRQL_requires_max_(DISPATCH_LEVEL) 6888 WDFAPI 6889 WDFDEVICE 6890 STDCALL 6891 WDFEXPORT(WdfWmiProviderGetDevice)( 6892 _In_ 6893 PWDF_DRIVER_GLOBALS DriverGlobals, 6894 _In_ 6895 WDFWMIPROVIDER WmiProvider 6896 ); 6897 6898 _IRQL_requires_max_(DISPATCH_LEVEL) 6899 WDFAPI 6900 BOOLEAN 6901 STDCALL 6902 WDFEXPORT(WdfWmiProviderIsEnabled)( 6903 _In_ 6904 PWDF_DRIVER_GLOBALS DriverGlobals, 6905 _In_ 6906 WDFWMIPROVIDER WmiProvider, 6907 _In_ 6908 WDF_WMI_PROVIDER_CONTROL ProviderControl 6909 ); 6910 6911 _IRQL_requires_max_(DISPATCH_LEVEL) 6912 WDFAPI 6913 ULONGLONG 6914 STDCALL 6915 WDFEXPORT(WdfWmiProviderGetTracingHandle)( 6916 _In_ 6917 PWDF_DRIVER_GLOBALS DriverGlobals, 6918 _In_ 6919 WDFWMIPROVIDER WmiProvider 6920 ); 6921 6922 _Must_inspect_result_ 6923 _IRQL_requires_max_(DISPATCH_LEVEL) 6924 WDFAPI 6925 NTSTATUS 6926 STDCALL 6927 WDFEXPORT(WdfWmiInstanceCreate)( 6928 _In_ 6929 PWDF_DRIVER_GLOBALS DriverGlobals, 6930 _In_ 6931 WDFDEVICE Device, 6932 _In_ 6933 PWDF_WMI_INSTANCE_CONFIG InstanceConfig, 6934 _In_opt_ 6935 PWDF_OBJECT_ATTRIBUTES InstanceAttributes, 6936 _Out_opt_ 6937 WDFWMIINSTANCE* Instance 6938 ); 6939 6940 _Must_inspect_result_ 6941 _IRQL_requires_max_(PASSIVE_LEVEL) 6942 WDFAPI 6943 NTSTATUS 6944 STDCALL 6945 WDFEXPORT(WdfWmiInstanceRegister)( 6946 _In_ 6947 PWDF_DRIVER_GLOBALS DriverGlobals, 6948 _In_ 6949 WDFWMIINSTANCE WmiInstance 6950 ); 6951 6952 _IRQL_requires_max_(PASSIVE_LEVEL) 6953 WDFAPI 6954 VOID 6955 STDCALL 6956 WDFEXPORT(WdfWmiInstanceDeregister)( 6957 _In_ 6958 PWDF_DRIVER_GLOBALS DriverGlobals, 6959 _In_ 6960 WDFWMIINSTANCE WmiInstance 6961 ); 6962 6963 _IRQL_requires_max_(DISPATCH_LEVEL) 6964 WDFAPI 6965 WDFDEVICE 6966 STDCALL 6967 WDFEXPORT(WdfWmiInstanceGetDevice)( 6968 _In_ 6969 PWDF_DRIVER_GLOBALS DriverGlobals, 6970 _In_ 6971 WDFWMIINSTANCE WmiInstance 6972 ); 6973 6974 _IRQL_requires_max_(DISPATCH_LEVEL) 6975 WDFAPI 6976 WDFWMIPROVIDER 6977 STDCALL 6978 WDFEXPORT(WdfWmiInstanceGetProvider)( 6979 _In_ 6980 PWDF_DRIVER_GLOBALS DriverGlobals, 6981 _In_ 6982 WDFWMIINSTANCE WmiInstance 6983 ); 6984 6985 _Must_inspect_result_ 6986 _IRQL_requires_max_(APC_LEVEL) 6987 WDFAPI 6988 NTSTATUS 6989 STDCALL 6990 WDFEXPORT(WdfWmiInstanceFireEvent)( 6991 _In_ 6992 PWDF_DRIVER_GLOBALS DriverGlobals, 6993 _In_ 6994 WDFWMIINSTANCE WmiInstance, 6995 _In_opt_ 6996 ULONG EventDataSize, 6997 _In_reads_bytes_opt_(EventDataSize) 6998 PVOID EventData 6999 ); 7000 7001 _Must_inspect_result_ 7002 _IRQL_requires_max_(DISPATCH_LEVEL) 7003 WDFAPI 7004 NTSTATUS 7005 STDCALL 7006 WDFEXPORT(WdfWorkItemCreate)( 7007 _In_ 7008 PWDF_DRIVER_GLOBALS DriverGlobals, 7009 _In_ 7010 PWDF_WORKITEM_CONFIG Config, 7011 _In_ 7012 PWDF_OBJECT_ATTRIBUTES Attributes, 7013 _Out_ 7014 WDFWORKITEM* WorkItem 7015 ); 7016 7017 _IRQL_requires_max_(DISPATCH_LEVEL) 7018 WDFAPI 7019 VOID 7020 STDCALL 7021 WDFEXPORT(WdfWorkItemEnqueue)( 7022 _In_ 7023 PWDF_DRIVER_GLOBALS DriverGlobals, 7024 _In_ 7025 WDFWORKITEM WorkItem 7026 ); 7027 7028 _IRQL_requires_max_(DISPATCH_LEVEL) 7029 WDFAPI 7030 WDFOBJECT 7031 STDCALL 7032 WDFEXPORT(WdfWorkItemGetParentObject)( 7033 _In_ 7034 PWDF_DRIVER_GLOBALS DriverGlobals, 7035 _In_ 7036 WDFWORKITEM WorkItem 7037 ); 7038 7039 _IRQL_requires_max_(PASSIVE_LEVEL) 7040 WDFAPI 7041 VOID 7042 STDCALL 7043 WDFEXPORT(WdfWorkItemFlush)( 7044 _In_ 7045 PWDF_DRIVER_GLOBALS DriverGlobals, 7046 _In_ 7047 WDFWORKITEM WorkItem 7048 ); 7049 7050 7051 #ifdef FX_DYNAMICS_GENERATE_TABLE 7052 7053 WDFVERSION WdfVersion = { 7054 sizeof(WDFVERSION), 7055 sizeof(WDFFUNCTIONS)/sizeof(PVOID), 7056 { 7057 WDFEXPORT(WdfChildListCreate), 7058 WDFEXPORT(WdfChildListGetDevice), 7059 WDFEXPORT(WdfChildListRetrievePdo), 7060 WDFEXPORT(WdfChildListRetrieveAddressDescription), 7061 WDFEXPORT(WdfChildListBeginScan), 7062 WDFEXPORT(WdfChildListEndScan), 7063 WDFEXPORT(WdfChildListBeginIteration), 7064 WDFEXPORT(WdfChildListRetrieveNextDevice), 7065 WDFEXPORT(WdfChildListEndIteration), 7066 WDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent), 7067 WDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing), 7068 WDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent), 7069 WDFEXPORT(WdfChildListRequestChildEject), 7070 WDFEXPORT(WdfCollectionCreate), 7071 WDFEXPORT(WdfCollectionGetCount), 7072 WDFEXPORT(WdfCollectionAdd), 7073 WDFEXPORT(WdfCollectionRemove), 7074 WDFEXPORT(WdfCollectionRemoveItem), 7075 WDFEXPORT(WdfCollectionGetItem), 7076 WDFEXPORT(WdfCollectionGetFirstItem), 7077 WDFEXPORT(WdfCollectionGetLastItem), 7078 // WDFEXPORT(WdfCommonBufferCreate), 7079 // WDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress), 7080 // WDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress), 7081 // WDFEXPORT(WdfCommonBufferGetLength), 7082 WdfApiNotImplemented, 7083 WdfApiNotImplemented, 7084 WdfApiNotImplemented, 7085 WdfApiNotImplemented, 7086 7087 WDFEXPORT(WdfControlDeviceInitAllocate), 7088 WDFEXPORT(WdfControlDeviceInitSetShutdownNotification), 7089 WDFEXPORT(WdfControlFinishInitializing), 7090 WDFEXPORT(WdfDeviceGetDeviceState), 7091 WDFEXPORT(WdfDeviceSetDeviceState), 7092 WDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle), 7093 WDFEXPORT(WdfDeviceWdmGetDeviceObject), 7094 WDFEXPORT(WdfDeviceWdmGetAttachedDevice), 7095 WDFEXPORT(WdfDeviceWdmGetPhysicalDevice), 7096 WDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp), 7097 WDFEXPORT(WdfDeviceAddDependentUsageDeviceObject), 7098 WDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice), 7099 WDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice), 7100 WDFEXPORT(WdfDeviceClearRemovalRelationsDevices), 7101 WDFEXPORT(WdfDeviceGetDriver), 7102 WDFEXPORT(WdfDeviceRetrieveDeviceName), 7103 WDFEXPORT(WdfDeviceAssignMofResourceName), 7104 WDFEXPORT(WdfDeviceGetIoTarget), 7105 WDFEXPORT(WdfDeviceGetDevicePnpState), 7106 WDFEXPORT(WdfDeviceGetDevicePowerState), 7107 WDFEXPORT(WdfDeviceGetDevicePowerPolicyState), 7108 WDFEXPORT(WdfDeviceAssignS0IdleSettings), 7109 WDFEXPORT(WdfDeviceAssignSxWakeSettings), 7110 WDFEXPORT(WdfDeviceOpenRegistryKey), 7111 WDFEXPORT(WdfDeviceSetSpecialFileSupport), 7112 WDFEXPORT(WdfDeviceSetCharacteristics), 7113 WDFEXPORT(WdfDeviceGetCharacteristics), 7114 WDFEXPORT(WdfDeviceGetAlignmentRequirement), 7115 WDFEXPORT(WdfDeviceSetAlignmentRequirement), 7116 WDFEXPORT(WdfDeviceInitFree), 7117 WDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks), 7118 WDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks), 7119 WDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership), 7120 WDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback), 7121 WDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback), 7122 WDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback), 7123 WDFEXPORT(WdfDeviceInitSetIoType), 7124 WDFEXPORT(WdfDeviceInitSetExclusive), 7125 WDFEXPORT(WdfDeviceInitSetPowerNotPageable), 7126 WDFEXPORT(WdfDeviceInitSetPowerPageable), 7127 WDFEXPORT(WdfDeviceInitSetPowerInrush), 7128 WDFEXPORT(WdfDeviceInitSetDeviceType), 7129 WDFEXPORT(WdfDeviceInitAssignName), 7130 WDFEXPORT(WdfDeviceInitAssignSDDLString), 7131 WDFEXPORT(WdfDeviceInitSetDeviceClass), 7132 WDFEXPORT(WdfDeviceInitSetCharacteristics), 7133 WDFEXPORT(WdfDeviceInitSetFileObjectConfig), 7134 WDFEXPORT(WdfDeviceInitSetRequestAttributes), 7135 WDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback), 7136 WDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback), 7137 WDFEXPORT(WdfDeviceCreate), 7138 WDFEXPORT(WdfDeviceSetStaticStopRemove), 7139 WDFEXPORT(WdfDeviceCreateDeviceInterface), 7140 WDFEXPORT(WdfDeviceSetDeviceInterfaceState), 7141 WDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString), 7142 WDFEXPORT(WdfDeviceCreateSymbolicLink), 7143 WDFEXPORT(WdfDeviceQueryProperty), 7144 WDFEXPORT(WdfDeviceAllocAndQueryProperty), 7145 WDFEXPORT(WdfDeviceSetPnpCapabilities), 7146 WDFEXPORT(WdfDeviceSetPowerCapabilities), 7147 WDFEXPORT(WdfDeviceSetBusInformationForChildren), 7148 WDFEXPORT(WdfDeviceIndicateWakeStatus), 7149 WDFEXPORT(WdfDeviceSetFailed), 7150 WDFEXPORT(WdfDeviceStopIdleNoTrack), 7151 WDFEXPORT(WdfDeviceResumeIdleNoTrack), 7152 WDFEXPORT(WdfDeviceGetFileObject), 7153 WDFEXPORT(WdfDeviceEnqueueRequest), 7154 WDFEXPORT(WdfDeviceGetDefaultQueue), 7155 WDFEXPORT(WdfDeviceConfigureRequestDispatching), 7156 // WDFEXPORT(WdfDmaEnablerCreate), 7157 // WDFEXPORT(WdfDmaEnablerGetMaximumLength), 7158 // WDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements), 7159 // WDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements), 7160 // WDFEXPORT(WdfDmaTransactionCreate), 7161 // WDFEXPORT(WdfDmaTransactionInitialize), 7162 // WDFEXPORT(WdfDmaTransactionInitializeUsingRequest), 7163 // WDFEXPORT(WdfDmaTransactionExecute), 7164 // WDFEXPORT(WdfDmaTransactionRelease), 7165 // WDFEXPORT(WdfDmaTransactionDmaCompleted), 7166 // WDFEXPORT(WdfDmaTransactionDmaCompletedWithLength), 7167 // WDFEXPORT(WdfDmaTransactionDmaCompletedFinal), 7168 // WDFEXPORT(WdfDmaTransactionGetBytesTransferred), 7169 // WDFEXPORT(WdfDmaTransactionSetMaximumLength), 7170 // WDFEXPORT(WdfDmaTransactionGetRequest), 7171 // WDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength), 7172 // WDFEXPORT(WdfDmaTransactionGetDevice), 7173 WdfApiNotImplemented, 7174 WdfApiNotImplemented, 7175 WdfApiNotImplemented, 7176 WdfApiNotImplemented, 7177 WdfApiNotImplemented, 7178 WdfApiNotImplemented, 7179 WdfApiNotImplemented, 7180 WdfApiNotImplemented, 7181 WdfApiNotImplemented, 7182 WdfApiNotImplemented, 7183 WdfApiNotImplemented, 7184 WdfApiNotImplemented, 7185 WdfApiNotImplemented, 7186 WdfApiNotImplemented, 7187 WdfApiNotImplemented, 7188 WdfApiNotImplemented, 7189 WdfApiNotImplemented, 7190 7191 WDFEXPORT(WdfDpcCreate), 7192 WDFEXPORT(WdfDpcEnqueue), 7193 WDFEXPORT(WdfDpcCancel), 7194 WDFEXPORT(WdfDpcGetParentObject), 7195 WDFEXPORT(WdfDpcWdmGetDpc), 7196 WDFEXPORT(WdfDriverCreate), 7197 WDFEXPORT(WdfDriverGetRegistryPath), 7198 WDFEXPORT(WdfDriverWdmGetDriverObject), 7199 WDFEXPORT(WdfDriverOpenParametersRegistryKey), 7200 WDFEXPORT(WdfWdmDriverGetWdfDriverHandle), 7201 WDFEXPORT(WdfDriverRegisterTraceInfo), 7202 WDFEXPORT(WdfDriverRetrieveVersionString), 7203 WDFEXPORT(WdfDriverIsVersionAvailable), 7204 WDFEXPORT(WdfFdoInitWdmGetPhysicalDevice), 7205 WDFEXPORT(WdfFdoInitOpenRegistryKey), 7206 WDFEXPORT(WdfFdoInitQueryProperty), 7207 WDFEXPORT(WdfFdoInitAllocAndQueryProperty), 7208 WDFEXPORT(WdfFdoInitSetEventCallbacks), 7209 WDFEXPORT(WdfFdoInitSetFilter), 7210 WDFEXPORT(WdfFdoInitSetDefaultChildListConfig), 7211 WDFEXPORT(WdfFdoQueryForInterface), 7212 WDFEXPORT(WdfFdoGetDefaultChildList), 7213 WDFEXPORT(WdfFdoAddStaticChild), 7214 WDFEXPORT(WdfFdoLockStaticChildListForIteration), 7215 WDFEXPORT(WdfFdoRetrieveNextStaticChild), 7216 WDFEXPORT(WdfFdoUnlockStaticChildListFromIteration), 7217 WDFEXPORT(WdfFileObjectGetFileName), 7218 WDFEXPORT(WdfFileObjectGetFlags), 7219 WDFEXPORT(WdfFileObjectGetDevice), 7220 WDFEXPORT(WdfFileObjectWdmGetFileObject), 7221 WDFEXPORT(WdfInterruptCreate), 7222 WDFEXPORT(WdfInterruptQueueDpcForIsr), 7223 WDFEXPORT(WdfInterruptSynchronize), 7224 WDFEXPORT(WdfInterruptAcquireLock), 7225 WDFEXPORT(WdfInterruptReleaseLock), 7226 WDFEXPORT(WdfInterruptEnable), 7227 WDFEXPORT(WdfInterruptDisable), 7228 WDFEXPORT(WdfInterruptWdmGetInterrupt), 7229 WDFEXPORT(WdfInterruptGetInfo), 7230 WDFEXPORT(WdfInterruptSetPolicy), 7231 WDFEXPORT(WdfInterruptGetDevice), 7232 WDFEXPORT(WdfIoQueueCreate), 7233 WDFEXPORT(WdfIoQueueGetState), 7234 WDFEXPORT(WdfIoQueueStart), 7235 WDFEXPORT(WdfIoQueueStop), 7236 WDFEXPORT(WdfIoQueueStopSynchronously), 7237 WDFEXPORT(WdfIoQueueGetDevice), 7238 WDFEXPORT(WdfIoQueueRetrieveNextRequest), 7239 WDFEXPORT(WdfIoQueueRetrieveRequestByFileObject), 7240 WDFEXPORT(WdfIoQueueFindRequest), 7241 WDFEXPORT(WdfIoQueueRetrieveFoundRequest), 7242 WDFEXPORT(WdfIoQueueDrainSynchronously), 7243 WDFEXPORT(WdfIoQueueDrain), 7244 WDFEXPORT(WdfIoQueuePurgeSynchronously), 7245 WDFEXPORT(WdfIoQueuePurge), 7246 WDFEXPORT(WdfIoQueueReadyNotify), 7247 WDFEXPORT(WdfIoTargetCreate), 7248 WDFEXPORT(WdfIoTargetOpen), 7249 WDFEXPORT(WdfIoTargetCloseForQueryRemove), 7250 WDFEXPORT(WdfIoTargetClose), 7251 WDFEXPORT(WdfIoTargetStart), 7252 WDFEXPORT(WdfIoTargetStop), 7253 WDFEXPORT(WdfIoTargetGetState), 7254 WDFEXPORT(WdfIoTargetGetDevice), 7255 WDFEXPORT(WdfIoTargetQueryTargetProperty), 7256 WDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty), 7257 WDFEXPORT(WdfIoTargetQueryForInterface), 7258 WDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject), 7259 WDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice), 7260 WDFEXPORT(WdfIoTargetWdmGetTargetFileObject), 7261 WDFEXPORT(WdfIoTargetWdmGetTargetFileHandle), 7262 WDFEXPORT(WdfIoTargetSendReadSynchronously), 7263 WDFEXPORT(WdfIoTargetFormatRequestForRead), 7264 WDFEXPORT(WdfIoTargetSendWriteSynchronously), 7265 WDFEXPORT(WdfIoTargetFormatRequestForWrite), 7266 WDFEXPORT(WdfIoTargetSendIoctlSynchronously), 7267 WDFEXPORT(WdfIoTargetFormatRequestForIoctl), 7268 WDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously), 7269 WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl), 7270 WDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously), 7271 WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers), 7272 WDFEXPORT(WdfMemoryCreate), 7273 WDFEXPORT(WdfMemoryCreatePreallocated), 7274 WDFEXPORT(WdfMemoryGetBuffer), 7275 WDFEXPORT(WdfMemoryAssignBuffer), 7276 WDFEXPORT(WdfMemoryCopyToBuffer), 7277 WDFEXPORT(WdfMemoryCopyFromBuffer), 7278 WDFEXPORT(WdfLookasideListCreate), 7279 WDFEXPORT(WdfMemoryCreateFromLookaside), 7280 WDFEXPORT(WdfDeviceMiniportCreate), 7281 WDFEXPORT(WdfDriverMiniportUnload), 7282 WDFEXPORT(WdfObjectGetTypedContextWorker), 7283 WDFEXPORT(WdfObjectAllocateContext), 7284 WDFEXPORT(WdfObjectContextGetObject), 7285 WDFEXPORT(WdfObjectReferenceActual), 7286 WDFEXPORT(WdfObjectDereferenceActual), 7287 WDFEXPORT(WdfObjectCreate), 7288 WDFEXPORT(WdfObjectDelete), 7289 WDFEXPORT(WdfObjectQuery), 7290 WDFEXPORT(WdfPdoInitAllocate), 7291 WDFEXPORT(WdfPdoInitSetEventCallbacks), 7292 WDFEXPORT(WdfPdoInitAssignDeviceID), 7293 WDFEXPORT(WdfPdoInitAssignInstanceID), 7294 WDFEXPORT(WdfPdoInitAddHardwareID), 7295 WDFEXPORT(WdfPdoInitAddCompatibleID), 7296 WDFEXPORT(WdfPdoInitAddDeviceText), 7297 WDFEXPORT(WdfPdoInitSetDefaultLocale), 7298 WDFEXPORT(WdfPdoInitAssignRawDevice), 7299 WDFEXPORT(WdfPdoMarkMissing), 7300 WDFEXPORT(WdfPdoRequestEject), 7301 WDFEXPORT(WdfPdoGetParent), 7302 WDFEXPORT(WdfPdoRetrieveIdentificationDescription), 7303 WDFEXPORT(WdfPdoRetrieveAddressDescription), 7304 WDFEXPORT(WdfPdoUpdateAddressDescription), 7305 WDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice), 7306 WDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice), 7307 WDFEXPORT(WdfPdoClearEjectionRelationsDevices), 7308 WDFEXPORT(WdfDeviceAddQueryInterface), 7309 WDFEXPORT(WdfRegistryOpenKey), 7310 WDFEXPORT(WdfRegistryCreateKey), 7311 WDFEXPORT(WdfRegistryClose), 7312 WDFEXPORT(WdfRegistryWdmGetHandle), 7313 WDFEXPORT(WdfRegistryRemoveKey), 7314 WDFEXPORT(WdfRegistryRemoveValue), 7315 WDFEXPORT(WdfRegistryQueryValue), 7316 WDFEXPORT(WdfRegistryQueryMemory), 7317 WDFEXPORT(WdfRegistryQueryMultiString), 7318 WDFEXPORT(WdfRegistryQueryUnicodeString), 7319 WDFEXPORT(WdfRegistryQueryString), 7320 WDFEXPORT(WdfRegistryQueryULong), 7321 WDFEXPORT(WdfRegistryAssignValue), 7322 WDFEXPORT(WdfRegistryAssignMemory), 7323 WDFEXPORT(WdfRegistryAssignMultiString), 7324 WDFEXPORT(WdfRegistryAssignUnicodeString), 7325 WDFEXPORT(WdfRegistryAssignString), 7326 WDFEXPORT(WdfRegistryAssignULong), 7327 WDFEXPORT(WdfRequestCreate), 7328 WDFEXPORT(WdfRequestCreateFromIrp), 7329 WDFEXPORT(WdfRequestReuse), 7330 WDFEXPORT(WdfRequestChangeTarget), 7331 WDFEXPORT(WdfRequestFormatRequestUsingCurrentType), 7332 WDFEXPORT(WdfRequestWdmFormatUsingStackLocation), 7333 WDFEXPORT(WdfRequestSend), 7334 WDFEXPORT(WdfRequestGetStatus), 7335 WDFEXPORT(WdfRequestMarkCancelable), 7336 WDFEXPORT(WdfRequestUnmarkCancelable), 7337 WDFEXPORT(WdfRequestIsCanceled), 7338 WDFEXPORT(WdfRequestCancelSentRequest), 7339 WDFEXPORT(WdfRequestIsFrom32BitProcess), 7340 WDFEXPORT(WdfRequestSetCompletionRoutine), 7341 WDFEXPORT(WdfRequestGetCompletionParams), 7342 WDFEXPORT(WdfRequestAllocateTimer), 7343 WDFEXPORT(WdfRequestComplete), 7344 WDFEXPORT(WdfRequestCompleteWithPriorityBoost), 7345 WDFEXPORT(WdfRequestCompleteWithInformation), 7346 WDFEXPORT(WdfRequestGetParameters), 7347 WDFEXPORT(WdfRequestRetrieveInputMemory), 7348 WDFEXPORT(WdfRequestRetrieveOutputMemory), 7349 WDFEXPORT(WdfRequestRetrieveInputBuffer), 7350 WDFEXPORT(WdfRequestRetrieveOutputBuffer), 7351 WDFEXPORT(WdfRequestRetrieveInputWdmMdl), 7352 WDFEXPORT(WdfRequestRetrieveOutputWdmMdl), 7353 WDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer), 7354 WDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer), 7355 WDFEXPORT(WdfRequestSetInformation), 7356 WDFEXPORT(WdfRequestGetInformation), 7357 WDFEXPORT(WdfRequestGetFileObject), 7358 WDFEXPORT(WdfRequestProbeAndLockUserBufferForRead), 7359 WDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite), 7360 WDFEXPORT(WdfRequestGetRequestorMode), 7361 WDFEXPORT(WdfRequestForwardToIoQueue), 7362 WDFEXPORT(WdfRequestGetIoQueue), 7363 WDFEXPORT(WdfRequestRequeue), 7364 WDFEXPORT(WdfRequestStopAcknowledge), 7365 WDFEXPORT(WdfRequestWdmGetIrp), 7366 WDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber), 7367 WDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType), 7368 WDFEXPORT(WdfIoResourceRequirementsListAppendIoResList), 7369 WDFEXPORT(WdfIoResourceRequirementsListInsertIoResList), 7370 WDFEXPORT(WdfIoResourceRequirementsListGetCount), 7371 WDFEXPORT(WdfIoResourceRequirementsListGetIoResList), 7372 WDFEXPORT(WdfIoResourceRequirementsListRemove), 7373 WDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList), 7374 WDFEXPORT(WdfIoResourceListCreate), 7375 WDFEXPORT(WdfIoResourceListAppendDescriptor), 7376 WDFEXPORT(WdfIoResourceListInsertDescriptor), 7377 WDFEXPORT(WdfIoResourceListUpdateDescriptor), 7378 WDFEXPORT(WdfIoResourceListGetCount), 7379 WDFEXPORT(WdfIoResourceListGetDescriptor), 7380 WDFEXPORT(WdfIoResourceListRemove), 7381 WDFEXPORT(WdfIoResourceListRemoveByDescriptor), 7382 WDFEXPORT(WdfCmResourceListAppendDescriptor), 7383 WDFEXPORT(WdfCmResourceListInsertDescriptor), 7384 WDFEXPORT(WdfCmResourceListGetCount), 7385 WDFEXPORT(WdfCmResourceListGetDescriptor), 7386 WDFEXPORT(WdfCmResourceListRemove), 7387 WDFEXPORT(WdfCmResourceListRemoveByDescriptor), 7388 WDFEXPORT(WdfStringCreate), 7389 WDFEXPORT(WdfStringGetUnicodeString), 7390 WDFEXPORT(WdfObjectAcquireLock), 7391 WDFEXPORT(WdfObjectReleaseLock), 7392 WDFEXPORT(WdfWaitLockCreate), 7393 WDFEXPORT(WdfWaitLockAcquire), 7394 WDFEXPORT(WdfWaitLockRelease), 7395 WDFEXPORT(WdfSpinLockCreate), 7396 WDFEXPORT(WdfSpinLockAcquire), 7397 WDFEXPORT(WdfSpinLockRelease), 7398 WDFEXPORT(WdfTimerCreate), 7399 WDFEXPORT(WdfTimerStart), 7400 WDFEXPORT(WdfTimerStop), 7401 WDFEXPORT(WdfTimerGetParentObject), 7402 // WDFEXPORT(WdfUsbTargetDeviceCreate), 7403 // WDFEXPORT(WdfUsbTargetDeviceRetrieveInformation), 7404 // WDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor), 7405 // WDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor), 7406 // WDFEXPORT(WdfUsbTargetDeviceQueryString), 7407 // WDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString), 7408 // WDFEXPORT(WdfUsbTargetDeviceFormatRequestForString), 7409 // WDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces), 7410 // WDFEXPORT(WdfUsbTargetDeviceSelectConfig), 7411 // WDFEXPORT(WdfUsbTargetDeviceWdmGetConfigurationHandle), 7412 // WDFEXPORT(WdfUsbTargetDeviceRetrieveCurrentFrameNumber), 7413 // WDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously), 7414 // WDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer), 7415 // WDFEXPORT(WdfUsbTargetDeviceIsConnectedSynchronous), 7416 // WDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously), 7417 // WDFEXPORT(WdfUsbTargetDeviceCyclePortSynchronously), 7418 // WDFEXPORT(WdfUsbTargetDeviceFormatRequestForCyclePort), 7419 // WDFEXPORT(WdfUsbTargetDeviceSendUrbSynchronously), 7420 // WDFEXPORT(WdfUsbTargetDeviceFormatRequestForUrb), 7421 // WDFEXPORT(WdfUsbTargetPipeGetInformation), 7422 // WDFEXPORT(WdfUsbTargetPipeIsInEndpoint), 7423 // WDFEXPORT(WdfUsbTargetPipeIsOutEndpoint), 7424 // WDFEXPORT(WdfUsbTargetPipeGetType), 7425 // WDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck), 7426 // WDFEXPORT(WdfUsbTargetPipeWriteSynchronously), 7427 // WDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite), 7428 // WDFEXPORT(WdfUsbTargetPipeReadSynchronously), 7429 // WDFEXPORT(WdfUsbTargetPipeFormatRequestForRead), 7430 // WDFEXPORT(WdfUsbTargetPipeConfigContinuousReader), 7431 // WDFEXPORT(WdfUsbTargetPipeAbortSynchronously), 7432 // WDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort), 7433 // WDFEXPORT(WdfUsbTargetPipeResetSynchronously), 7434 // WDFEXPORT(WdfUsbTargetPipeFormatRequestForReset), 7435 // WDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously), 7436 // WDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb), 7437 // WDFEXPORT(WdfUsbInterfaceGetInterfaceNumber), 7438 // WDFEXPORT(WdfUsbInterfaceGetNumEndpoints), 7439 // WDFEXPORT(WdfUsbInterfaceGetDescriptor), 7440 // WDFEXPORT(WdfUsbInterfaceSelectSetting), 7441 // WDFEXPORT(WdfUsbInterfaceGetEndpointInformation), 7442 // WDFEXPORT(WdfUsbTargetDeviceGetInterface), 7443 // WDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex), 7444 // WDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes), 7445 // WDFEXPORT(WdfUsbInterfaceGetConfiguredPipe), 7446 // WDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle), 7447 // WDFEXPORT(WdfVerifierDbgBreakPoint), 7448 // WDFEXPORT(WdfVerifierKeBugCheck), 7449 // WDFEXPORT(WdfWmiProviderCreate), 7450 // WDFEXPORT(WdfWmiProviderGetDevice), 7451 // WDFEXPORT(WdfWmiProviderIsEnabled), 7452 // WDFEXPORT(WdfWmiProviderGetTracingHandle), 7453 // WDFEXPORT(WdfWmiInstanceCreate), 7454 // WDFEXPORT(WdfWmiInstanceRegister), 7455 // WDFEXPORT(WdfWmiInstanceDeregister), 7456 // WDFEXPORT(WdfWmiInstanceGetDevice), 7457 // WDFEXPORT(WdfWmiInstanceGetProvider), 7458 // WDFEXPORT(WdfWmiInstanceFireEvent), 7459 WdfApiNotImplemented, 7460 WdfApiNotImplemented, 7461 WdfApiNotImplemented, 7462 WdfApiNotImplemented, 7463 WdfApiNotImplemented, 7464 WdfApiNotImplemented, 7465 WdfApiNotImplemented, 7466 WdfApiNotImplemented, 7467 WdfApiNotImplemented, 7468 WdfApiNotImplemented, 7469 WdfApiNotImplemented, 7470 WdfApiNotImplemented, 7471 WdfApiNotImplemented, 7472 WdfApiNotImplemented, 7473 WdfApiNotImplemented, 7474 WdfApiNotImplemented, 7475 WdfApiNotImplemented, 7476 WdfApiNotImplemented, 7477 WdfApiNotImplemented, 7478 WdfApiNotImplemented, 7479 WdfApiNotImplemented, 7480 WdfApiNotImplemented, 7481 WdfApiNotImplemented, 7482 WdfApiNotImplemented, 7483 WdfApiNotImplemented, 7484 WdfApiNotImplemented, 7485 WdfApiNotImplemented, 7486 WdfApiNotImplemented, 7487 WdfApiNotImplemented, 7488 WdfApiNotImplemented, 7489 WdfApiNotImplemented, 7490 WdfApiNotImplemented, 7491 WdfApiNotImplemented, 7492 WdfApiNotImplemented, 7493 WdfApiNotImplemented, 7494 WdfApiNotImplemented, 7495 WdfApiNotImplemented, 7496 WdfApiNotImplemented, 7497 WdfApiNotImplemented, 7498 WdfApiNotImplemented, 7499 WdfApiNotImplemented, 7500 WdfApiNotImplemented, 7501 WdfApiNotImplemented, 7502 WdfApiNotImplemented, 7503 WdfApiNotImplemented, 7504 WdfApiNotImplemented, 7505 WdfApiNotImplemented, 7506 WdfApiNotImplemented, 7507 WdfApiNotImplemented, 7508 WdfApiNotImplemented, 7509 WdfApiNotImplemented, 7510 WdfApiNotImplemented, 7511 WdfApiNotImplemented, 7512 WdfApiNotImplemented, 7513 WdfApiNotImplemented, 7514 WdfApiNotImplemented, 7515 WdfApiNotImplemented, 7516 7517 WDFEXPORT(WdfWorkItemCreate), 7518 WDFEXPORT(WdfWorkItemEnqueue), 7519 WDFEXPORT(WdfWorkItemGetParentObject), 7520 WDFEXPORT(WdfWorkItemFlush), 7521 // WDFEXPORT(WdfCommonBufferCreateWithConfig), 7522 // WDFEXPORT(WdfDmaEnablerGetFragmentLength), 7523 // WDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter), 7524 // WDFEXPORT(WdfUsbInterfaceGetNumSettings), 7525 WdfApiNotImplemented, 7526 WdfApiNotImplemented, 7527 WdfApiNotImplemented, 7528 WdfApiNotImplemented, 7529 7530 WDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject), 7531 WDFEXPORT(WdfDeviceGetSystemPowerAction), 7532 WDFEXPORT(WdfInterruptSetExtendedPolicy), 7533 WDFEXPORT(WdfIoQueueAssignForwardProgressPolicy), 7534 WDFEXPORT(WdfPdoInitAssignContainerID), 7535 WDFEXPORT(WdfPdoInitAllowForwardingRequestToParent), 7536 WDFEXPORT(WdfRequestMarkCancelableEx), 7537 WDFEXPORT(WdfRequestIsReserved), 7538 WDFEXPORT(WdfRequestForwardToParentDeviceIoQueue), 7539 // WDFEXPORT(WdfCxDeviceInitAllocate), 7540 // WDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback), 7541 // WDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback), 7542 // WDFEXPORT(WdfCxDeviceInitSetRequestAttributes), 7543 // WDFEXPORT(WdfCxDeviceInitSetFileObjectConfig), 7544 WdfApiNotImplemented, 7545 WdfApiNotImplemented, 7546 WdfApiNotImplemented, 7547 WdfApiNotImplemented, 7548 WdfApiNotImplemented, 7549 7550 WDFEXPORT(WdfDeviceWdmDispatchIrp), 7551 WDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue), 7552 WDFEXPORT(WdfDeviceInitSetRemoveLockOptions), 7553 WDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback), 7554 // WDFEXPORT(WdfDmaEnablerConfigureSystemProfile), 7555 // WDFEXPORT(WdfDmaTransactionInitializeUsingOffset), 7556 // WDFEXPORT(WdfDmaTransactionGetTransferInfo), 7557 // WDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback), 7558 // WDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback), 7559 // WDFEXPORT(WdfDmaTransactionSetImmediateExecution), 7560 // WDFEXPORT(WdfDmaTransactionAllocateResources), 7561 // WDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset), 7562 // WDFEXPORT(WdfDmaTransactionFreeResources), 7563 // WDFEXPORT(WdfDmaTransactionCancel), 7564 // WDFEXPORT(WdfDmaTransactionWdmGetTransferContext), 7565 WdfApiNotImplemented, 7566 WdfApiNotImplemented, 7567 WdfApiNotImplemented, 7568 WdfApiNotImplemented, 7569 WdfApiNotImplemented, 7570 WdfApiNotImplemented, 7571 WdfApiNotImplemented, 7572 WdfApiNotImplemented, 7573 WdfApiNotImplemented, 7574 WdfApiNotImplemented, 7575 WdfApiNotImplemented, 7576 7577 WDFEXPORT(WdfInterruptQueueWorkItemForIsr), 7578 WDFEXPORT(WdfInterruptTryToAcquireLock), 7579 WDFEXPORT(WdfIoQueueStopAndPurge), 7580 WDFEXPORT(WdfIoQueueStopAndPurgeSynchronously), 7581 WDFEXPORT(WdfIoTargetPurge), 7582 // WDFEXPORT(WdfUsbTargetDeviceCreateWithParameters), 7583 // WDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability), 7584 // WDFEXPORT(WdfUsbTargetDeviceCreateUrb), 7585 // WDFEXPORT(WdfUsbTargetDeviceCreateIsochUrb), 7586 WdfApiNotImplemented, 7587 WdfApiNotImplemented, 7588 WdfApiNotImplemented, 7589 WdfApiNotImplemented, 7590 7591 WDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings), 7592 // WDFEXPORT(WdfDmaTransactionStopSystemTransfer), 7593 // WDFEXPORT(WdfCxVerifierKeBugCheck), 7594 WdfApiNotImplemented, 7595 WdfApiNotImplemented, 7596 7597 WDFEXPORT(WdfInterruptReportActive), 7598 WDFEXPORT(WdfInterruptReportInactive), 7599 WDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure), 7600 // WDFEXPORT(WdfGetTriageInfo), 7601 WdfApiNotImplemented, 7602 7603 WDFEXPORT(WdfDeviceInitSetIoTypeEx), 7604 WDFEXPORT(WdfDeviceQueryPropertyEx), 7605 WDFEXPORT(WdfDeviceAllocAndQueryPropertyEx), 7606 WDFEXPORT(WdfDeviceAssignProperty), 7607 WDFEXPORT(WdfFdoInitQueryPropertyEx), 7608 WDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx), 7609 WDFEXPORT(WdfDeviceStopIdleActual), 7610 WDFEXPORT(WdfDeviceResumeIdleActual), 7611 WDFEXPORT(WdfDeviceGetSelfIoTarget), 7612 WDFEXPORT(WdfDeviceInitAllowSelfIoTarget), 7613 WDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue), 7614 WDFEXPORT(WdfDeviceOpenDevicemapKey), 7615 } 7616 }; 7617 7618 #endif // FX_DYNAMICS_GENERATE_TABLE 7619 7620 #endif // _FXDYNAMICS_H_ 7621 7622