18a978a17SVictor Perevertkin /*++
28a978a17SVictor Perevertkin 
38a978a17SVictor Perevertkin Module Name: FxDynamics.h
48a978a17SVictor Perevertkin 
58a978a17SVictor Perevertkin Abstract:
68a978a17SVictor Perevertkin     Generated header for WDF APIs
78a978a17SVictor Perevertkin 
88a978a17SVictor Perevertkin Environment:
98a978a17SVictor Perevertkin     kernel mode only
108a978a17SVictor Perevertkin 
118a978a17SVictor Perevertkin     Warning: manual changes to this file will be lost.
128a978a17SVictor Perevertkin --*/
138a978a17SVictor Perevertkin 
148a978a17SVictor Perevertkin #ifndef _FXDYNAMICS_H_
158a978a17SVictor Perevertkin #define _FXDYNAMICS_H_
168a978a17SVictor Perevertkin 
171f377076SVictor Perevertkin typedef WDFAPI NTSTATUS
181f377076SVictor Perevertkin (STDCALL *PFN_ROSWDFUNIMPLEMENTED)(VOID);
191f377076SVictor Perevertkin 
201f377076SVictor Perevertkin WDFAPI
211f377076SVictor Perevertkin NTSTATUS
221f377076SVictor Perevertkin STDCALL
231f377076SVictor Perevertkin WdfApiNotImplemented();
241f377076SVictor Perevertkin 
258a978a17SVictor Perevertkin 
268a978a17SVictor Perevertkin typedef struct _WDFFUNCTIONS {
278a978a17SVictor Perevertkin 
288a978a17SVictor Perevertkin     PFN_WDFCHILDLISTCREATE                                    pfnWdfChildListCreate;
298a978a17SVictor Perevertkin     PFN_WDFCHILDLISTGETDEVICE                                 pfnWdfChildListGetDevice;
308a978a17SVictor Perevertkin     PFN_WDFCHILDLISTRETRIEVEPDO                               pfnWdfChildListRetrievePdo;
318a978a17SVictor Perevertkin     PFN_WDFCHILDLISTRETRIEVEADDRESSDESCRIPTION                pfnWdfChildListRetrieveAddressDescription;
328a978a17SVictor Perevertkin     PFN_WDFCHILDLISTBEGINSCAN                                 pfnWdfChildListBeginScan;
338a978a17SVictor Perevertkin     PFN_WDFCHILDLISTENDSCAN                                   pfnWdfChildListEndScan;
348a978a17SVictor Perevertkin     PFN_WDFCHILDLISTBEGINITERATION                            pfnWdfChildListBeginIteration;
358a978a17SVictor Perevertkin     PFN_WDFCHILDLISTRETRIEVENEXTDEVICE                        pfnWdfChildListRetrieveNextDevice;
368a978a17SVictor Perevertkin     PFN_WDFCHILDLISTENDITERATION                              pfnWdfChildListEndIteration;
378a978a17SVictor Perevertkin     PFN_WDFCHILDLISTADDORUPDATECHILDDESCRIPTIONASPRESENT      pfnWdfChildListAddOrUpdateChildDescriptionAsPresent;
388a978a17SVictor Perevertkin     PFN_WDFCHILDLISTUPDATECHILDDESCRIPTIONASMISSING           pfnWdfChildListUpdateChildDescriptionAsMissing;
398a978a17SVictor Perevertkin     PFN_WDFCHILDLISTUPDATEALLCHILDDESCRIPTIONSASPRESENT       pfnWdfChildListUpdateAllChildDescriptionsAsPresent;
408a978a17SVictor Perevertkin     PFN_WDFCHILDLISTREQUESTCHILDEJECT                         pfnWdfChildListRequestChildEject;
418a978a17SVictor Perevertkin     PFN_WDFCOLLECTIONCREATE                                   pfnWdfCollectionCreate;
428a978a17SVictor Perevertkin     PFN_WDFCOLLECTIONGETCOUNT                                 pfnWdfCollectionGetCount;
438a978a17SVictor Perevertkin     PFN_WDFCOLLECTIONADD                                      pfnWdfCollectionAdd;
448a978a17SVictor Perevertkin     PFN_WDFCOLLECTIONREMOVE                                   pfnWdfCollectionRemove;
458a978a17SVictor Perevertkin     PFN_WDFCOLLECTIONREMOVEITEM                               pfnWdfCollectionRemoveItem;
468a978a17SVictor Perevertkin     PFN_WDFCOLLECTIONGETITEM                                  pfnWdfCollectionGetItem;
478a978a17SVictor Perevertkin     PFN_WDFCOLLECTIONGETFIRSTITEM                             pfnWdfCollectionGetFirstItem;
488a978a17SVictor Perevertkin     PFN_WDFCOLLECTIONGETLASTITEM                              pfnWdfCollectionGetLastItem;
491f377076SVictor Perevertkin     // PFN_WDFCOMMONBUFFERCREATE                                 pfnWdfCommonBufferCreate;
501f377076SVictor Perevertkin     // PFN_WDFCOMMONBUFFERGETALIGNEDVIRTUALADDRESS               pfnWdfCommonBufferGetAlignedVirtualAddress;
511f377076SVictor Perevertkin     // PFN_WDFCOMMONBUFFERGETALIGNEDLOGICALADDRESS               pfnWdfCommonBufferGetAlignedLogicalAddress;
521f377076SVictor Perevertkin     // PFN_WDFCOMMONBUFFERGETLENGTH                              pfnWdfCommonBufferGetLength;
531f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                                 pfnWdfCommonBufferCreate;
541f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED               pfnWdfCommonBufferGetAlignedVirtualAddress;
551f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED               pfnWdfCommonBufferGetAlignedLogicalAddress;
561f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                              pfnWdfCommonBufferGetLength;
571f377076SVictor Perevertkin 
588a978a17SVictor Perevertkin     PFN_WDFCONTROLDEVICEINITALLOCATE                          pfnWdfControlDeviceInitAllocate;
598a978a17SVictor Perevertkin     PFN_WDFCONTROLDEVICEINITSETSHUTDOWNNOTIFICATION           pfnWdfControlDeviceInitSetShutdownNotification;
608a978a17SVictor Perevertkin     PFN_WDFCONTROLFINISHINITIALIZING                          pfnWdfControlFinishInitializing;
618a978a17SVictor Perevertkin     PFN_WDFDEVICEGETDEVICESTATE                               pfnWdfDeviceGetDeviceState;
628a978a17SVictor Perevertkin     PFN_WDFDEVICESETDEVICESTATE                               pfnWdfDeviceSetDeviceState;
638a978a17SVictor Perevertkin     PFN_WDFWDMDEVICEGETWDFDEVICEHANDLE                        pfnWdfWdmDeviceGetWdfDeviceHandle;
648a978a17SVictor Perevertkin     PFN_WDFDEVICEWDMGETDEVICEOBJECT                           pfnWdfDeviceWdmGetDeviceObject;
658a978a17SVictor Perevertkin     PFN_WDFDEVICEWDMGETATTACHEDDEVICE                         pfnWdfDeviceWdmGetAttachedDevice;
668a978a17SVictor Perevertkin     PFN_WDFDEVICEWDMGETPHYSICALDEVICE                         pfnWdfDeviceWdmGetPhysicalDevice;
678a978a17SVictor Perevertkin     PFN_WDFDEVICEWDMDISPATCHPREPROCESSEDIRP                   pfnWdfDeviceWdmDispatchPreprocessedIrp;
688a978a17SVictor Perevertkin     PFN_WDFDEVICEADDDEPENDENTUSAGEDEVICEOBJECT                pfnWdfDeviceAddDependentUsageDeviceObject;
698a978a17SVictor Perevertkin     PFN_WDFDEVICEADDREMOVALRELATIONSPHYSICALDEVICE            pfnWdfDeviceAddRemovalRelationsPhysicalDevice;
708a978a17SVictor Perevertkin     PFN_WDFDEVICEREMOVEREMOVALRELATIONSPHYSICALDEVICE         pfnWdfDeviceRemoveRemovalRelationsPhysicalDevice;
718a978a17SVictor Perevertkin     PFN_WDFDEVICECLEARREMOVALRELATIONSDEVICES                 pfnWdfDeviceClearRemovalRelationsDevices;
728a978a17SVictor Perevertkin     PFN_WDFDEVICEGETDRIVER                                    pfnWdfDeviceGetDriver;
738a978a17SVictor Perevertkin     PFN_WDFDEVICERETRIEVEDEVICENAME                           pfnWdfDeviceRetrieveDeviceName;
748a978a17SVictor Perevertkin     PFN_WDFDEVICEASSIGNMOFRESOURCENAME                        pfnWdfDeviceAssignMofResourceName;
758a978a17SVictor Perevertkin     PFN_WDFDEVICEGETIOTARGET                                  pfnWdfDeviceGetIoTarget;
768a978a17SVictor Perevertkin     PFN_WDFDEVICEGETDEVICEPNPSTATE                            pfnWdfDeviceGetDevicePnpState;
778a978a17SVictor Perevertkin     PFN_WDFDEVICEGETDEVICEPOWERSTATE                          pfnWdfDeviceGetDevicePowerState;
788a978a17SVictor Perevertkin     PFN_WDFDEVICEGETDEVICEPOWERPOLICYSTATE                    pfnWdfDeviceGetDevicePowerPolicyState;
798a978a17SVictor Perevertkin     PFN_WDFDEVICEASSIGNS0IDLESETTINGS                         pfnWdfDeviceAssignS0IdleSettings;
808a978a17SVictor Perevertkin     PFN_WDFDEVICEASSIGNSXWAKESETTINGS                         pfnWdfDeviceAssignSxWakeSettings;
818a978a17SVictor Perevertkin     PFN_WDFDEVICEOPENREGISTRYKEY                              pfnWdfDeviceOpenRegistryKey;
828a978a17SVictor Perevertkin     PFN_WDFDEVICESETSPECIALFILESUPPORT                        pfnWdfDeviceSetSpecialFileSupport;
838a978a17SVictor Perevertkin     PFN_WDFDEVICESETCHARACTERISTICS                           pfnWdfDeviceSetCharacteristics;
848a978a17SVictor Perevertkin     PFN_WDFDEVICEGETCHARACTERISTICS                           pfnWdfDeviceGetCharacteristics;
858a978a17SVictor Perevertkin     PFN_WDFDEVICEGETALIGNMENTREQUIREMENT                      pfnWdfDeviceGetAlignmentRequirement;
868a978a17SVictor Perevertkin     PFN_WDFDEVICESETALIGNMENTREQUIREMENT                      pfnWdfDeviceSetAlignmentRequirement;
878a978a17SVictor Perevertkin     PFN_WDFDEVICEINITFREE                                     pfnWdfDeviceInitFree;
888a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETPNPPOWEREVENTCALLBACKS                pfnWdfDeviceInitSetPnpPowerEventCallbacks;
898a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETPOWERPOLICYEVENTCALLBACKS             pfnWdfDeviceInitSetPowerPolicyEventCallbacks;
908a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETPOWERPOLICYOWNERSHIP                  pfnWdfDeviceInitSetPowerPolicyOwnership;
918a978a17SVictor Perevertkin     PFN_WDFDEVICEINITREGISTERPNPSTATECHANGECALLBACK           pfnWdfDeviceInitRegisterPnpStateChangeCallback;
928a978a17SVictor Perevertkin     PFN_WDFDEVICEINITREGISTERPOWERSTATECHANGECALLBACK         pfnWdfDeviceInitRegisterPowerStateChangeCallback;
938a978a17SVictor Perevertkin     PFN_WDFDEVICEINITREGISTERPOWERPOLICYSTATECHANGECALLBACK    pfnWdfDeviceInitRegisterPowerPolicyStateChangeCallback;
948a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETIOTYPE                                pfnWdfDeviceInitSetIoType;
958a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETEXCLUSIVE                             pfnWdfDeviceInitSetExclusive;
968a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETPOWERNOTPAGEABLE                      pfnWdfDeviceInitSetPowerNotPageable;
978a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETPOWERPAGEABLE                         pfnWdfDeviceInitSetPowerPageable;
988a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETPOWERINRUSH                           pfnWdfDeviceInitSetPowerInrush;
998a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETDEVICETYPE                            pfnWdfDeviceInitSetDeviceType;
1008a978a17SVictor Perevertkin     PFN_WDFDEVICEINITASSIGNNAME                               pfnWdfDeviceInitAssignName;
1018a978a17SVictor Perevertkin     PFN_WDFDEVICEINITASSIGNSDDLSTRING                         pfnWdfDeviceInitAssignSDDLString;
1028a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETDEVICECLASS                           pfnWdfDeviceInitSetDeviceClass;
1038a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETCHARACTERISTICS                       pfnWdfDeviceInitSetCharacteristics;
1048a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETFILEOBJECTCONFIG                      pfnWdfDeviceInitSetFileObjectConfig;
1058a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETREQUESTATTRIBUTES                     pfnWdfDeviceInitSetRequestAttributes;
1068a978a17SVictor Perevertkin     PFN_WDFDEVICEINITASSIGNWDMIRPPREPROCESSCALLBACK           pfnWdfDeviceInitAssignWdmIrpPreprocessCallback;
1078a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETIOINCALLERCONTEXTCALLBACK             pfnWdfDeviceInitSetIoInCallerContextCallback;
1088a978a17SVictor Perevertkin     PFN_WDFDEVICECREATE                                       pfnWdfDeviceCreate;
1098a978a17SVictor Perevertkin     PFN_WDFDEVICESETSTATICSTOPREMOVE                          pfnWdfDeviceSetStaticStopRemove;
1108a978a17SVictor Perevertkin     PFN_WDFDEVICECREATEDEVICEINTERFACE                        pfnWdfDeviceCreateDeviceInterface;
1118a978a17SVictor Perevertkin     PFN_WDFDEVICESETDEVICEINTERFACESTATE                      pfnWdfDeviceSetDeviceInterfaceState;
1128a978a17SVictor Perevertkin     PFN_WDFDEVICERETRIEVEDEVICEINTERFACESTRING                pfnWdfDeviceRetrieveDeviceInterfaceString;
1138a978a17SVictor Perevertkin     PFN_WDFDEVICECREATESYMBOLICLINK                           pfnWdfDeviceCreateSymbolicLink;
1148a978a17SVictor Perevertkin     PFN_WDFDEVICEQUERYPROPERTY                                pfnWdfDeviceQueryProperty;
1158a978a17SVictor Perevertkin     PFN_WDFDEVICEALLOCANDQUERYPROPERTY                        pfnWdfDeviceAllocAndQueryProperty;
1168a978a17SVictor Perevertkin     PFN_WDFDEVICESETPNPCAPABILITIES                           pfnWdfDeviceSetPnpCapabilities;
1178a978a17SVictor Perevertkin     PFN_WDFDEVICESETPOWERCAPABILITIES                         pfnWdfDeviceSetPowerCapabilities;
1188a978a17SVictor Perevertkin     PFN_WDFDEVICESETBUSINFORMATIONFORCHILDREN                 pfnWdfDeviceSetBusInformationForChildren;
1198a978a17SVictor Perevertkin     PFN_WDFDEVICEINDICATEWAKESTATUS                           pfnWdfDeviceIndicateWakeStatus;
1208a978a17SVictor Perevertkin     PFN_WDFDEVICESETFAILED                                    pfnWdfDeviceSetFailed;
1218a978a17SVictor Perevertkin     PFN_WDFDEVICESTOPIDLENOTRACK                              pfnWdfDeviceStopIdleNoTrack;
1228a978a17SVictor Perevertkin     PFN_WDFDEVICERESUMEIDLENOTRACK                            pfnWdfDeviceResumeIdleNoTrack;
1238a978a17SVictor Perevertkin     PFN_WDFDEVICEGETFILEOBJECT                                pfnWdfDeviceGetFileObject;
1248a978a17SVictor Perevertkin     PFN_WDFDEVICEENQUEUEREQUEST                               pfnWdfDeviceEnqueueRequest;
1258a978a17SVictor Perevertkin     PFN_WDFDEVICEGETDEFAULTQUEUE                              pfnWdfDeviceGetDefaultQueue;
1268a978a17SVictor Perevertkin     PFN_WDFDEVICECONFIGUREREQUESTDISPATCHING                  pfnWdfDeviceConfigureRequestDispatching;
1271f377076SVictor Perevertkin     // PFN_WDFDMAENABLERCREATE                                   pfnWdfDmaEnablerCreate;
1281f377076SVictor Perevertkin     // PFN_WDFDMAENABLERGETMAXIMUMLENGTH                         pfnWdfDmaEnablerGetMaximumLength;
1291f377076SVictor Perevertkin     // PFN_WDFDMAENABLERGETMAXIMUMSCATTERGATHERELEMENTS          pfnWdfDmaEnablerGetMaximumScatterGatherElements;
1301f377076SVictor Perevertkin     // PFN_WDFDMAENABLERSETMAXIMUMSCATTERGATHERELEMENTS          pfnWdfDmaEnablerSetMaximumScatterGatherElements;
1311f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONCREATE                               pfnWdfDmaTransactionCreate;
1321f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONINITIALIZE                           pfnWdfDmaTransactionInitialize;
1331f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONINITIALIZEUSINGREQUEST               pfnWdfDmaTransactionInitializeUsingRequest;
1341f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONEXECUTE                              pfnWdfDmaTransactionExecute;
1351f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONRELEASE                              pfnWdfDmaTransactionRelease;
1361f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONDMACOMPLETED                         pfnWdfDmaTransactionDmaCompleted;
1371f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONDMACOMPLETEDWITHLENGTH               pfnWdfDmaTransactionDmaCompletedWithLength;
1381f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONDMACOMPLETEDFINAL                    pfnWdfDmaTransactionDmaCompletedFinal;
1391f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONGETBYTESTRANSFERRED                  pfnWdfDmaTransactionGetBytesTransferred;
1401f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONSETMAXIMUMLENGTH                     pfnWdfDmaTransactionSetMaximumLength;
1411f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONGETREQUEST                           pfnWdfDmaTransactionGetRequest;
1421f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONGETCURRENTDMATRANSFERLENGTH          pfnWdfDmaTransactionGetCurrentDmaTransferLength;
1431f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONGETDEVICE                            pfnWdfDmaTransactionGetDevice;
1441f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                                   pfnWdfDmaEnablerCreate;
1451f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                         pfnWdfDmaEnablerGetMaximumLength;
1461f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED          pfnWdfDmaEnablerGetMaximumScatterGatherElements;
1471f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED          pfnWdfDmaEnablerSetMaximumScatterGatherElements;
1481f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                               pfnWdfDmaTransactionCreate;
1491f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                           pfnWdfDmaTransactionInitialize;
1501f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED               pfnWdfDmaTransactionInitializeUsingRequest;
1511f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                              pfnWdfDmaTransactionExecute;
1521f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                              pfnWdfDmaTransactionRelease;
1531f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                         pfnWdfDmaTransactionDmaCompleted;
1541f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED               pfnWdfDmaTransactionDmaCompletedWithLength;
1551f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                    pfnWdfDmaTransactionDmaCompletedFinal;
1561f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                  pfnWdfDmaTransactionGetBytesTransferred;
1571f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                     pfnWdfDmaTransactionSetMaximumLength;
1581f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                           pfnWdfDmaTransactionGetRequest;
1591f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED          pfnWdfDmaTransactionGetCurrentDmaTransferLength;
1601f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                            pfnWdfDmaTransactionGetDevice;
1611f377076SVictor Perevertkin 
1628a978a17SVictor Perevertkin     PFN_WDFDPCCREATE                                          pfnWdfDpcCreate;
1638a978a17SVictor Perevertkin     PFN_WDFDPCENQUEUE                                         pfnWdfDpcEnqueue;
1648a978a17SVictor Perevertkin     PFN_WDFDPCCANCEL                                          pfnWdfDpcCancel;
1658a978a17SVictor Perevertkin     PFN_WDFDPCGETPARENTOBJECT                                 pfnWdfDpcGetParentObject;
1668a978a17SVictor Perevertkin     PFN_WDFDPCWDMGETDPC                                       pfnWdfDpcWdmGetDpc;
1678a978a17SVictor Perevertkin     PFN_WDFDRIVERCREATE                                       pfnWdfDriverCreate;
1688a978a17SVictor Perevertkin     PFN_WDFDRIVERGETREGISTRYPATH                              pfnWdfDriverGetRegistryPath;
1698a978a17SVictor Perevertkin     PFN_WDFDRIVERWDMGETDRIVEROBJECT                           pfnWdfDriverWdmGetDriverObject;
1708a978a17SVictor Perevertkin     PFN_WDFDRIVEROPENPARAMETERSREGISTRYKEY                    pfnWdfDriverOpenParametersRegistryKey;
1718a978a17SVictor Perevertkin     PFN_WDFWDMDRIVERGETWDFDRIVERHANDLE                        pfnWdfWdmDriverGetWdfDriverHandle;
1728a978a17SVictor Perevertkin     PFN_WDFDRIVERREGISTERTRACEINFO                            pfnWdfDriverRegisterTraceInfo;
1738a978a17SVictor Perevertkin     PFN_WDFDRIVERRETRIEVEVERSIONSTRING                        pfnWdfDriverRetrieveVersionString;
1748a978a17SVictor Perevertkin     PFN_WDFDRIVERISVERSIONAVAILABLE                           pfnWdfDriverIsVersionAvailable;
1758a978a17SVictor Perevertkin     PFN_WDFFDOINITWDMGETPHYSICALDEVICE                        pfnWdfFdoInitWdmGetPhysicalDevice;
1768a978a17SVictor Perevertkin     PFN_WDFFDOINITOPENREGISTRYKEY                             pfnWdfFdoInitOpenRegistryKey;
1778a978a17SVictor Perevertkin     PFN_WDFFDOINITQUERYPROPERTY                               pfnWdfFdoInitQueryProperty;
1788a978a17SVictor Perevertkin     PFN_WDFFDOINITALLOCANDQUERYPROPERTY                       pfnWdfFdoInitAllocAndQueryProperty;
1798a978a17SVictor Perevertkin     PFN_WDFFDOINITSETEVENTCALLBACKS                           pfnWdfFdoInitSetEventCallbacks;
1808a978a17SVictor Perevertkin     PFN_WDFFDOINITSETFILTER                                   pfnWdfFdoInitSetFilter;
1818a978a17SVictor Perevertkin     PFN_WDFFDOINITSETDEFAULTCHILDLISTCONFIG                   pfnWdfFdoInitSetDefaultChildListConfig;
1828a978a17SVictor Perevertkin     PFN_WDFFDOQUERYFORINTERFACE                               pfnWdfFdoQueryForInterface;
1838a978a17SVictor Perevertkin     PFN_WDFFDOGETDEFAULTCHILDLIST                             pfnWdfFdoGetDefaultChildList;
1848a978a17SVictor Perevertkin     PFN_WDFFDOADDSTATICCHILD                                  pfnWdfFdoAddStaticChild;
1858a978a17SVictor Perevertkin     PFN_WDFFDOLOCKSTATICCHILDLISTFORITERATION                 pfnWdfFdoLockStaticChildListForIteration;
1868a978a17SVictor Perevertkin     PFN_WDFFDORETRIEVENEXTSTATICCHILD                         pfnWdfFdoRetrieveNextStaticChild;
1878a978a17SVictor Perevertkin     PFN_WDFFDOUNLOCKSTATICCHILDLISTFROMITERATION              pfnWdfFdoUnlockStaticChildListFromIteration;
1888a978a17SVictor Perevertkin     PFN_WDFFILEOBJECTGETFILENAME                              pfnWdfFileObjectGetFileName;
1898a978a17SVictor Perevertkin     PFN_WDFFILEOBJECTGETFLAGS                                 pfnWdfFileObjectGetFlags;
1908a978a17SVictor Perevertkin     PFN_WDFFILEOBJECTGETDEVICE                                pfnWdfFileObjectGetDevice;
1918a978a17SVictor Perevertkin     PFN_WDFFILEOBJECTWDMGETFILEOBJECT                         pfnWdfFileObjectWdmGetFileObject;
192*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTCREATE                                    pfnWdfInterruptCreate;
193*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTQUEUEDPCFORISR                            pfnWdfInterruptQueueDpcForIsr;
194*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTSYNCHRONIZE                               pfnWdfInterruptSynchronize;
195*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTACQUIRELOCK                               pfnWdfInterruptAcquireLock;
196*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTRELEASELOCK                               pfnWdfInterruptReleaseLock;
197*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTENABLE                                    pfnWdfInterruptEnable;
198*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTDISABLE                                   pfnWdfInterruptDisable;
199*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTWDMGETINTERRUPT                           pfnWdfInterruptWdmGetInterrupt;
200*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTGETINFO                                   pfnWdfInterruptGetInfo;
201*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTSETPOLICY                                 pfnWdfInterruptSetPolicy;
202*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTGETDEVICE                                 pfnWdfInterruptGetDevice;
2038a978a17SVictor Perevertkin     PFN_WDFIOQUEUECREATE                                      pfnWdfIoQueueCreate;
2048a978a17SVictor Perevertkin     PFN_WDFIOQUEUEGETSTATE                                    pfnWdfIoQueueGetState;
2058a978a17SVictor Perevertkin     PFN_WDFIOQUEUESTART                                       pfnWdfIoQueueStart;
2068a978a17SVictor Perevertkin     PFN_WDFIOQUEUESTOP                                        pfnWdfIoQueueStop;
2078a978a17SVictor Perevertkin     PFN_WDFIOQUEUESTOPSYNCHRONOUSLY                           pfnWdfIoQueueStopSynchronously;
2088a978a17SVictor Perevertkin     PFN_WDFIOQUEUEGETDEVICE                                   pfnWdfIoQueueGetDevice;
2098a978a17SVictor Perevertkin     PFN_WDFIOQUEUERETRIEVENEXTREQUEST                         pfnWdfIoQueueRetrieveNextRequest;
2108a978a17SVictor Perevertkin     PFN_WDFIOQUEUERETRIEVEREQUESTBYFILEOBJECT                 pfnWdfIoQueueRetrieveRequestByFileObject;
2118a978a17SVictor Perevertkin     PFN_WDFIOQUEUEFINDREQUEST                                 pfnWdfIoQueueFindRequest;
2128a978a17SVictor Perevertkin     PFN_WDFIOQUEUERETRIEVEFOUNDREQUEST                        pfnWdfIoQueueRetrieveFoundRequest;
2138a978a17SVictor Perevertkin     PFN_WDFIOQUEUEDRAINSYNCHRONOUSLY                          pfnWdfIoQueueDrainSynchronously;
2148a978a17SVictor Perevertkin     PFN_WDFIOQUEUEDRAIN                                       pfnWdfIoQueueDrain;
2158a978a17SVictor Perevertkin     PFN_WDFIOQUEUEPURGESYNCHRONOUSLY                          pfnWdfIoQueuePurgeSynchronously;
2168a978a17SVictor Perevertkin     PFN_WDFIOQUEUEPURGE                                       pfnWdfIoQueuePurge;
2178a978a17SVictor Perevertkin     PFN_WDFIOQUEUEREADYNOTIFY                                 pfnWdfIoQueueReadyNotify;
2188a978a17SVictor Perevertkin     PFN_WDFIOTARGETCREATE                                     pfnWdfIoTargetCreate;
2198a978a17SVictor Perevertkin     PFN_WDFIOTARGETOPEN                                       pfnWdfIoTargetOpen;
2208a978a17SVictor Perevertkin     PFN_WDFIOTARGETCLOSEFORQUERYREMOVE                        pfnWdfIoTargetCloseForQueryRemove;
2218a978a17SVictor Perevertkin     PFN_WDFIOTARGETCLOSE                                      pfnWdfIoTargetClose;
2228a978a17SVictor Perevertkin     PFN_WDFIOTARGETSTART                                      pfnWdfIoTargetStart;
2238a978a17SVictor Perevertkin     PFN_WDFIOTARGETSTOP                                       pfnWdfIoTargetStop;
2248a978a17SVictor Perevertkin     PFN_WDFIOTARGETGETSTATE                                   pfnWdfIoTargetGetState;
2258a978a17SVictor Perevertkin     PFN_WDFIOTARGETGETDEVICE                                  pfnWdfIoTargetGetDevice;
2268a978a17SVictor Perevertkin     PFN_WDFIOTARGETQUERYTARGETPROPERTY                        pfnWdfIoTargetQueryTargetProperty;
2278a978a17SVictor Perevertkin     PFN_WDFIOTARGETALLOCANDQUERYTARGETPROPERTY                pfnWdfIoTargetAllocAndQueryTargetProperty;
2288a978a17SVictor Perevertkin     PFN_WDFIOTARGETQUERYFORINTERFACE                          pfnWdfIoTargetQueryForInterface;
2298a978a17SVictor Perevertkin     PFN_WDFIOTARGETWDMGETTARGETDEVICEOBJECT                   pfnWdfIoTargetWdmGetTargetDeviceObject;
2308a978a17SVictor Perevertkin     PFN_WDFIOTARGETWDMGETTARGETPHYSICALDEVICE                 pfnWdfIoTargetWdmGetTargetPhysicalDevice;
2318a978a17SVictor Perevertkin     PFN_WDFIOTARGETWDMGETTARGETFILEOBJECT                     pfnWdfIoTargetWdmGetTargetFileObject;
2328a978a17SVictor Perevertkin     PFN_WDFIOTARGETWDMGETTARGETFILEHANDLE                     pfnWdfIoTargetWdmGetTargetFileHandle;
2338a978a17SVictor Perevertkin     PFN_WDFIOTARGETSENDREADSYNCHRONOUSLY                      pfnWdfIoTargetSendReadSynchronously;
2348a978a17SVictor Perevertkin     PFN_WDFIOTARGETFORMATREQUESTFORREAD                       pfnWdfIoTargetFormatRequestForRead;
2358a978a17SVictor Perevertkin     PFN_WDFIOTARGETSENDWRITESYNCHRONOUSLY                     pfnWdfIoTargetSendWriteSynchronously;
2368a978a17SVictor Perevertkin     PFN_WDFIOTARGETFORMATREQUESTFORWRITE                      pfnWdfIoTargetFormatRequestForWrite;
2378a978a17SVictor Perevertkin     PFN_WDFIOTARGETSENDIOCTLSYNCHRONOUSLY                     pfnWdfIoTargetSendIoctlSynchronously;
2388a978a17SVictor Perevertkin     PFN_WDFIOTARGETFORMATREQUESTFORIOCTL                      pfnWdfIoTargetFormatRequestForIoctl;
2398a978a17SVictor Perevertkin     PFN_WDFIOTARGETSENDINTERNALIOCTLSYNCHRONOUSLY             pfnWdfIoTargetSendInternalIoctlSynchronously;
2408a978a17SVictor Perevertkin     PFN_WDFIOTARGETFORMATREQUESTFORINTERNALIOCTL              pfnWdfIoTargetFormatRequestForInternalIoctl;
2418a978a17SVictor Perevertkin     PFN_WDFIOTARGETSENDINTERNALIOCTLOTHERSSYNCHRONOUSLY       pfnWdfIoTargetSendInternalIoctlOthersSynchronously;
2428a978a17SVictor Perevertkin     PFN_WDFIOTARGETFORMATREQUESTFORINTERNALIOCTLOTHERS        pfnWdfIoTargetFormatRequestForInternalIoctlOthers;
2438a978a17SVictor Perevertkin     PFN_WDFMEMORYCREATE                                       pfnWdfMemoryCreate;
2448a978a17SVictor Perevertkin     PFN_WDFMEMORYCREATEPREALLOCATED                           pfnWdfMemoryCreatePreallocated;
2458a978a17SVictor Perevertkin     PFN_WDFMEMORYGETBUFFER                                    pfnWdfMemoryGetBuffer;
2468a978a17SVictor Perevertkin     PFN_WDFMEMORYASSIGNBUFFER                                 pfnWdfMemoryAssignBuffer;
2478a978a17SVictor Perevertkin     PFN_WDFMEMORYCOPYTOBUFFER                                 pfnWdfMemoryCopyToBuffer;
2488a978a17SVictor Perevertkin     PFN_WDFMEMORYCOPYFROMBUFFER                               pfnWdfMemoryCopyFromBuffer;
2498a978a17SVictor Perevertkin     PFN_WDFLOOKASIDELISTCREATE                                pfnWdfLookasideListCreate;
2508a978a17SVictor Perevertkin     PFN_WDFMEMORYCREATEFROMLOOKASIDE                          pfnWdfMemoryCreateFromLookaside;
2518a978a17SVictor Perevertkin     PFN_WDFDEVICEMINIPORTCREATE                               pfnWdfDeviceMiniportCreate;
2528a978a17SVictor Perevertkin     PFN_WDFDRIVERMINIPORTUNLOAD                               pfnWdfDriverMiniportUnload;
2538a978a17SVictor Perevertkin     PFN_WDFOBJECTGETTYPEDCONTEXTWORKER                        pfnWdfObjectGetTypedContextWorker;
2548a978a17SVictor Perevertkin     PFN_WDFOBJECTALLOCATECONTEXT                              pfnWdfObjectAllocateContext;
2558a978a17SVictor Perevertkin     PFN_WDFOBJECTCONTEXTGETOBJECT                             pfnWdfObjectContextGetObject;
2568a978a17SVictor Perevertkin     PFN_WDFOBJECTREFERENCEACTUAL                              pfnWdfObjectReferenceActual;
2578a978a17SVictor Perevertkin     PFN_WDFOBJECTDEREFERENCEACTUAL                            pfnWdfObjectDereferenceActual;
2588a978a17SVictor Perevertkin     PFN_WDFOBJECTCREATE                                       pfnWdfObjectCreate;
2598a978a17SVictor Perevertkin     PFN_WDFOBJECTDELETE                                       pfnWdfObjectDelete;
2608a978a17SVictor Perevertkin     PFN_WDFOBJECTQUERY                                        pfnWdfObjectQuery;
2618a978a17SVictor Perevertkin     PFN_WDFPDOINITALLOCATE                                    pfnWdfPdoInitAllocate;
2628a978a17SVictor Perevertkin     PFN_WDFPDOINITSETEVENTCALLBACKS                           pfnWdfPdoInitSetEventCallbacks;
2638a978a17SVictor Perevertkin     PFN_WDFPDOINITASSIGNDEVICEID                              pfnWdfPdoInitAssignDeviceID;
2648a978a17SVictor Perevertkin     PFN_WDFPDOINITASSIGNINSTANCEID                            pfnWdfPdoInitAssignInstanceID;
2658a978a17SVictor Perevertkin     PFN_WDFPDOINITADDHARDWAREID                               pfnWdfPdoInitAddHardwareID;
2668a978a17SVictor Perevertkin     PFN_WDFPDOINITADDCOMPATIBLEID                             pfnWdfPdoInitAddCompatibleID;
2678a978a17SVictor Perevertkin     PFN_WDFPDOINITADDDEVICETEXT                               pfnWdfPdoInitAddDeviceText;
2688a978a17SVictor Perevertkin     PFN_WDFPDOINITSETDEFAULTLOCALE                            pfnWdfPdoInitSetDefaultLocale;
2698a978a17SVictor Perevertkin     PFN_WDFPDOINITASSIGNRAWDEVICE                             pfnWdfPdoInitAssignRawDevice;
2708a978a17SVictor Perevertkin     PFN_WDFPDOMARKMISSING                                     pfnWdfPdoMarkMissing;
2718a978a17SVictor Perevertkin     PFN_WDFPDOREQUESTEJECT                                    pfnWdfPdoRequestEject;
2728a978a17SVictor Perevertkin     PFN_WDFPDOGETPARENT                                       pfnWdfPdoGetParent;
2738a978a17SVictor Perevertkin     PFN_WDFPDORETRIEVEIDENTIFICATIONDESCRIPTION               pfnWdfPdoRetrieveIdentificationDescription;
2748a978a17SVictor Perevertkin     PFN_WDFPDORETRIEVEADDRESSDESCRIPTION                      pfnWdfPdoRetrieveAddressDescription;
2758a978a17SVictor Perevertkin     PFN_WDFPDOUPDATEADDRESSDESCRIPTION                        pfnWdfPdoUpdateAddressDescription;
2768a978a17SVictor Perevertkin     PFN_WDFPDOADDEJECTIONRELATIONSPHYSICALDEVICE              pfnWdfPdoAddEjectionRelationsPhysicalDevice;
2778a978a17SVictor Perevertkin     PFN_WDFPDOREMOVEEJECTIONRELATIONSPHYSICALDEVICE           pfnWdfPdoRemoveEjectionRelationsPhysicalDevice;
2788a978a17SVictor Perevertkin     PFN_WDFPDOCLEAREJECTIONRELATIONSDEVICES                   pfnWdfPdoClearEjectionRelationsDevices;
2798a978a17SVictor Perevertkin     PFN_WDFDEVICEADDQUERYINTERFACE                            pfnWdfDeviceAddQueryInterface;
2808a978a17SVictor Perevertkin     PFN_WDFREGISTRYOPENKEY                                    pfnWdfRegistryOpenKey;
2818a978a17SVictor Perevertkin     PFN_WDFREGISTRYCREATEKEY                                  pfnWdfRegistryCreateKey;
2828a978a17SVictor Perevertkin     PFN_WDFREGISTRYCLOSE                                      pfnWdfRegistryClose;
2838a978a17SVictor Perevertkin     PFN_WDFREGISTRYWDMGETHANDLE                               pfnWdfRegistryWdmGetHandle;
2848a978a17SVictor Perevertkin     PFN_WDFREGISTRYREMOVEKEY                                  pfnWdfRegistryRemoveKey;
2858a978a17SVictor Perevertkin     PFN_WDFREGISTRYREMOVEVALUE                                pfnWdfRegistryRemoveValue;
2868a978a17SVictor Perevertkin     PFN_WDFREGISTRYQUERYVALUE                                 pfnWdfRegistryQueryValue;
2878a978a17SVictor Perevertkin     PFN_WDFREGISTRYQUERYMEMORY                                pfnWdfRegistryQueryMemory;
2888a978a17SVictor Perevertkin     PFN_WDFREGISTRYQUERYMULTISTRING                           pfnWdfRegistryQueryMultiString;
2898a978a17SVictor Perevertkin     PFN_WDFREGISTRYQUERYUNICODESTRING                         pfnWdfRegistryQueryUnicodeString;
2908a978a17SVictor Perevertkin     PFN_WDFREGISTRYQUERYSTRING                                pfnWdfRegistryQueryString;
2918a978a17SVictor Perevertkin     PFN_WDFREGISTRYQUERYULONG                                 pfnWdfRegistryQueryULong;
2928a978a17SVictor Perevertkin     PFN_WDFREGISTRYASSIGNVALUE                                pfnWdfRegistryAssignValue;
2938a978a17SVictor Perevertkin     PFN_WDFREGISTRYASSIGNMEMORY                               pfnWdfRegistryAssignMemory;
2948a978a17SVictor Perevertkin     PFN_WDFREGISTRYASSIGNMULTISTRING                          pfnWdfRegistryAssignMultiString;
2958a978a17SVictor Perevertkin     PFN_WDFREGISTRYASSIGNUNICODESTRING                        pfnWdfRegistryAssignUnicodeString;
2968a978a17SVictor Perevertkin     PFN_WDFREGISTRYASSIGNSTRING                               pfnWdfRegistryAssignString;
2978a978a17SVictor Perevertkin     PFN_WDFREGISTRYASSIGNULONG                                pfnWdfRegistryAssignULong;
2988a978a17SVictor Perevertkin     PFN_WDFREQUESTCREATE                                      pfnWdfRequestCreate;
2998a978a17SVictor Perevertkin     PFN_WDFREQUESTCREATEFROMIRP                               pfnWdfRequestCreateFromIrp;
3008a978a17SVictor Perevertkin     PFN_WDFREQUESTREUSE                                       pfnWdfRequestReuse;
3018a978a17SVictor Perevertkin     PFN_WDFREQUESTCHANGETARGET                                pfnWdfRequestChangeTarget;
3028a978a17SVictor Perevertkin     PFN_WDFREQUESTFORMATREQUESTUSINGCURRENTTYPE               pfnWdfRequestFormatRequestUsingCurrentType;
3038a978a17SVictor Perevertkin     PFN_WDFREQUESTWDMFORMATUSINGSTACKLOCATION                 pfnWdfRequestWdmFormatUsingStackLocation;
3048a978a17SVictor Perevertkin     PFN_WDFREQUESTSEND                                        pfnWdfRequestSend;
3058a978a17SVictor Perevertkin     PFN_WDFREQUESTGETSTATUS                                   pfnWdfRequestGetStatus;
3068a978a17SVictor Perevertkin     PFN_WDFREQUESTMARKCANCELABLE                              pfnWdfRequestMarkCancelable;
3078a978a17SVictor Perevertkin     PFN_WDFREQUESTUNMARKCANCELABLE                            pfnWdfRequestUnmarkCancelable;
3088a978a17SVictor Perevertkin     PFN_WDFREQUESTISCANCELED                                  pfnWdfRequestIsCanceled;
3098a978a17SVictor Perevertkin     PFN_WDFREQUESTCANCELSENTREQUEST                           pfnWdfRequestCancelSentRequest;
3108a978a17SVictor Perevertkin     PFN_WDFREQUESTISFROM32BITPROCESS                          pfnWdfRequestIsFrom32BitProcess;
3118a978a17SVictor Perevertkin     PFN_WDFREQUESTSETCOMPLETIONROUTINE                        pfnWdfRequestSetCompletionRoutine;
3128a978a17SVictor Perevertkin     PFN_WDFREQUESTGETCOMPLETIONPARAMS                         pfnWdfRequestGetCompletionParams;
3138a978a17SVictor Perevertkin     PFN_WDFREQUESTALLOCATETIMER                               pfnWdfRequestAllocateTimer;
3148a978a17SVictor Perevertkin     PFN_WDFREQUESTCOMPLETE                                    pfnWdfRequestComplete;
3158a978a17SVictor Perevertkin     PFN_WDFREQUESTCOMPLETEWITHPRIORITYBOOST                   pfnWdfRequestCompleteWithPriorityBoost;
3168a978a17SVictor Perevertkin     PFN_WDFREQUESTCOMPLETEWITHINFORMATION                     pfnWdfRequestCompleteWithInformation;
3178a978a17SVictor Perevertkin     PFN_WDFREQUESTGETPARAMETERS                               pfnWdfRequestGetParameters;
3188a978a17SVictor Perevertkin     PFN_WDFREQUESTRETRIEVEINPUTMEMORY                         pfnWdfRequestRetrieveInputMemory;
3198a978a17SVictor Perevertkin     PFN_WDFREQUESTRETRIEVEOUTPUTMEMORY                        pfnWdfRequestRetrieveOutputMemory;
3208a978a17SVictor Perevertkin     PFN_WDFREQUESTRETRIEVEINPUTBUFFER                         pfnWdfRequestRetrieveInputBuffer;
3218a978a17SVictor Perevertkin     PFN_WDFREQUESTRETRIEVEOUTPUTBUFFER                        pfnWdfRequestRetrieveOutputBuffer;
3228a978a17SVictor Perevertkin     PFN_WDFREQUESTRETRIEVEINPUTWDMMDL                         pfnWdfRequestRetrieveInputWdmMdl;
3238a978a17SVictor Perevertkin     PFN_WDFREQUESTRETRIEVEOUTPUTWDMMDL                        pfnWdfRequestRetrieveOutputWdmMdl;
3248a978a17SVictor Perevertkin     PFN_WDFREQUESTRETRIEVEUNSAFEUSERINPUTBUFFER               pfnWdfRequestRetrieveUnsafeUserInputBuffer;
3258a978a17SVictor Perevertkin     PFN_WDFREQUESTRETRIEVEUNSAFEUSEROUTPUTBUFFER              pfnWdfRequestRetrieveUnsafeUserOutputBuffer;
3268a978a17SVictor Perevertkin     PFN_WDFREQUESTSETINFORMATION                              pfnWdfRequestSetInformation;
3278a978a17SVictor Perevertkin     PFN_WDFREQUESTGETINFORMATION                              pfnWdfRequestGetInformation;
3288a978a17SVictor Perevertkin     PFN_WDFREQUESTGETFILEOBJECT                               pfnWdfRequestGetFileObject;
3298a978a17SVictor Perevertkin     PFN_WDFREQUESTPROBEANDLOCKUSERBUFFERFORREAD               pfnWdfRequestProbeAndLockUserBufferForRead;
3308a978a17SVictor Perevertkin     PFN_WDFREQUESTPROBEANDLOCKUSERBUFFERFORWRITE              pfnWdfRequestProbeAndLockUserBufferForWrite;
3318a978a17SVictor Perevertkin     PFN_WDFREQUESTGETREQUESTORMODE                            pfnWdfRequestGetRequestorMode;
3328a978a17SVictor Perevertkin     PFN_WDFREQUESTFORWARDTOIOQUEUE                            pfnWdfRequestForwardToIoQueue;
3338a978a17SVictor Perevertkin     PFN_WDFREQUESTGETIOQUEUE                                  pfnWdfRequestGetIoQueue;
3348a978a17SVictor Perevertkin     PFN_WDFREQUESTREQUEUE                                     pfnWdfRequestRequeue;
3358a978a17SVictor Perevertkin     PFN_WDFREQUESTSTOPACKNOWLEDGE                             pfnWdfRequestStopAcknowledge;
3368a978a17SVictor Perevertkin     PFN_WDFREQUESTWDMGETIRP                                   pfnWdfRequestWdmGetIrp;
337*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCEREQUIREMENTSLISTSETSLOTNUMBER            pfnWdfIoResourceRequirementsListSetSlotNumber;
338*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCEREQUIREMENTSLISTSETINTERFACETYPE         pfnWdfIoResourceRequirementsListSetInterfaceType;
339*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCEREQUIREMENTSLISTAPPENDIORESLIST          pfnWdfIoResourceRequirementsListAppendIoResList;
340*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCEREQUIREMENTSLISTINSERTIORESLIST          pfnWdfIoResourceRequirementsListInsertIoResList;
341*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCEREQUIREMENTSLISTGETCOUNT                 pfnWdfIoResourceRequirementsListGetCount;
342*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCEREQUIREMENTSLISTGETIORESLIST             pfnWdfIoResourceRequirementsListGetIoResList;
343*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVE                   pfnWdfIoResourceRequirementsListRemove;
344*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVEBYIORESLIST        pfnWdfIoResourceRequirementsListRemoveByIoResList;
345*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCELISTCREATE                               pfnWdfIoResourceListCreate;
346*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCELISTAPPENDDESCRIPTOR                     pfnWdfIoResourceListAppendDescriptor;
347*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCELISTINSERTDESCRIPTOR                     pfnWdfIoResourceListInsertDescriptor;
348*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCELISTUPDATEDESCRIPTOR                     pfnWdfIoResourceListUpdateDescriptor;
349*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCELISTGETCOUNT                             pfnWdfIoResourceListGetCount;
350*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCELISTGETDESCRIPTOR                        pfnWdfIoResourceListGetDescriptor;
351*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCELISTREMOVE                               pfnWdfIoResourceListRemove;
352*7c734db0SVictor Perevertkin     PFN_WDFIORESOURCELISTREMOVEBYDESCRIPTOR                   pfnWdfIoResourceListRemoveByDescriptor;
353*7c734db0SVictor Perevertkin     PFN_WDFCMRESOURCELISTAPPENDDESCRIPTOR                     pfnWdfCmResourceListAppendDescriptor;
354*7c734db0SVictor Perevertkin     PFN_WDFCMRESOURCELISTINSERTDESCRIPTOR                     pfnWdfCmResourceListInsertDescriptor;
355*7c734db0SVictor Perevertkin     PFN_WDFCMRESOURCELISTGETCOUNT                             pfnWdfCmResourceListGetCount;
356*7c734db0SVictor Perevertkin     PFN_WDFCMRESOURCELISTGETDESCRIPTOR                        pfnWdfCmResourceListGetDescriptor;
357*7c734db0SVictor Perevertkin     PFN_WDFCMRESOURCELISTREMOVE                               pfnWdfCmResourceListRemove;
358*7c734db0SVictor Perevertkin     PFN_WDFCMRESOURCELISTREMOVEBYDESCRIPTOR                   pfnWdfCmResourceListRemoveByDescriptor;
3598a978a17SVictor Perevertkin     PFN_WDFSTRINGCREATE                                       pfnWdfStringCreate;
3608a978a17SVictor Perevertkin     PFN_WDFSTRINGGETUNICODESTRING                             pfnWdfStringGetUnicodeString;
3618a978a17SVictor Perevertkin     PFN_WDFOBJECTACQUIRELOCK                                  pfnWdfObjectAcquireLock;
3628a978a17SVictor Perevertkin     PFN_WDFOBJECTRELEASELOCK                                  pfnWdfObjectReleaseLock;
3638a978a17SVictor Perevertkin     PFN_WDFWAITLOCKCREATE                                     pfnWdfWaitLockCreate;
3648a978a17SVictor Perevertkin     PFN_WDFWAITLOCKACQUIRE                                    pfnWdfWaitLockAcquire;
3658a978a17SVictor Perevertkin     PFN_WDFWAITLOCKRELEASE                                    pfnWdfWaitLockRelease;
3668a978a17SVictor Perevertkin     PFN_WDFSPINLOCKCREATE                                     pfnWdfSpinLockCreate;
3678a978a17SVictor Perevertkin     PFN_WDFSPINLOCKACQUIRE                                    pfnWdfSpinLockAcquire;
3688a978a17SVictor Perevertkin     PFN_WDFSPINLOCKRELEASE                                    pfnWdfSpinLockRelease;
3698a978a17SVictor Perevertkin     PFN_WDFTIMERCREATE                                        pfnWdfTimerCreate;
3708a978a17SVictor Perevertkin     PFN_WDFTIMERSTART                                         pfnWdfTimerStart;
3718a978a17SVictor Perevertkin     PFN_WDFTIMERSTOP                                          pfnWdfTimerStop;
3728a978a17SVictor Perevertkin     PFN_WDFTIMERGETPARENTOBJECT                               pfnWdfTimerGetParentObject;
3731f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICECREATE                              pfnWdfUsbTargetDeviceCreate;
3741f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICERETRIEVEINFORMATION                 pfnWdfUsbTargetDeviceRetrieveInformation;
3751f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEGETDEVICEDESCRIPTOR                 pfnWdfUsbTargetDeviceGetDeviceDescriptor;
3761f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICERETRIEVECONFIGDESCRIPTOR            pfnWdfUsbTargetDeviceRetrieveConfigDescriptor;
3771f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEQUERYSTRING                         pfnWdfUsbTargetDeviceQueryString;
3781f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEALLOCANDQUERYSTRING                 pfnWdfUsbTargetDeviceAllocAndQueryString;
3791f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORSTRING              pfnWdfUsbTargetDeviceFormatRequestForString;
3801f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEGETNUMINTERFACES                    pfnWdfUsbTargetDeviceGetNumInterfaces;
3811f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICESELECTCONFIG                        pfnWdfUsbTargetDeviceSelectConfig;
3821f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEWDMGETCONFIGURATIONHANDLE           pfnWdfUsbTargetDeviceWdmGetConfigurationHandle;
3831f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICERETRIEVECURRENTFRAMENUMBER          pfnWdfUsbTargetDeviceRetrieveCurrentFrameNumber;
3841f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICESENDCONTROLTRANSFERSYNCHRONOUSLY    pfnWdfUsbTargetDeviceSendControlTransferSynchronously;
3851f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCONTROLTRANSFER     pfnWdfUsbTargetDeviceFormatRequestForControlTransfer;
3861f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEISCONNECTEDSYNCHRONOUS              pfnWdfUsbTargetDeviceIsConnectedSynchronous;
3871f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICERESETPORTSYNCHRONOUSLY              pfnWdfUsbTargetDeviceResetPortSynchronously;
3881f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICECYCLEPORTSYNCHRONOUSLY              pfnWdfUsbTargetDeviceCyclePortSynchronously;
3891f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCYCLEPORT           pfnWdfUsbTargetDeviceFormatRequestForCyclePort;
3901f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICESENDURBSYNCHRONOUSLY                pfnWdfUsbTargetDeviceSendUrbSynchronously;
3911f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORURB                 pfnWdfUsbTargetDeviceFormatRequestForUrb;
3921f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEGETINFORMATION                        pfnWdfUsbTargetPipeGetInformation;
3931f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEISINENDPOINT                          pfnWdfUsbTargetPipeIsInEndpoint;
3941f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEISOUTENDPOINT                         pfnWdfUsbTargetPipeIsOutEndpoint;
3951f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEGETTYPE                               pfnWdfUsbTargetPipeGetType;
3961f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPESETNOMAXIMUMPACKETSIZECHECK           pfnWdfUsbTargetPipeSetNoMaximumPacketSizeCheck;
3971f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEWRITESYNCHRONOUSLY                    pfnWdfUsbTargetPipeWriteSynchronously;
3981f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORWRITE                 pfnWdfUsbTargetPipeFormatRequestForWrite;
3991f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEREADSYNCHRONOUSLY                     pfnWdfUsbTargetPipeReadSynchronously;
4001f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORREAD                  pfnWdfUsbTargetPipeFormatRequestForRead;
4011f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPECONFIGCONTINUOUSREADER                pfnWdfUsbTargetPipeConfigContinuousReader;
4021f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEABORTSYNCHRONOUSLY                    pfnWdfUsbTargetPipeAbortSynchronously;
4031f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORABORT                 pfnWdfUsbTargetPipeFormatRequestForAbort;
4041f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPERESETSYNCHRONOUSLY                    pfnWdfUsbTargetPipeResetSynchronously;
4051f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORRESET                 pfnWdfUsbTargetPipeFormatRequestForReset;
4061f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPESENDURBSYNCHRONOUSLY                  pfnWdfUsbTargetPipeSendUrbSynchronously;
4071f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEFORMATREQUESTFORURB                   pfnWdfUsbTargetPipeFormatRequestForUrb;
4081f377076SVictor Perevertkin     // PFN_WDFUSBINTERFACEGETINTERFACENUMBER                     pfnWdfUsbInterfaceGetInterfaceNumber;
4091f377076SVictor Perevertkin     // PFN_WDFUSBINTERFACEGETNUMENDPOINTS                        pfnWdfUsbInterfaceGetNumEndpoints;
4101f377076SVictor Perevertkin     // PFN_WDFUSBINTERFACEGETDESCRIPTOR                          pfnWdfUsbInterfaceGetDescriptor;
4111f377076SVictor Perevertkin     // PFN_WDFUSBINTERFACESELECTSETTING                          pfnWdfUsbInterfaceSelectSetting;
4121f377076SVictor Perevertkin     // PFN_WDFUSBINTERFACEGETENDPOINTINFORMATION                 pfnWdfUsbInterfaceGetEndpointInformation;
4131f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEGETINTERFACE                        pfnWdfUsbTargetDeviceGetInterface;
4141f377076SVictor Perevertkin     // PFN_WDFUSBINTERFACEGETCONFIGUREDSETTINGINDEX              pfnWdfUsbInterfaceGetConfiguredSettingIndex;
4151f377076SVictor Perevertkin     // PFN_WDFUSBINTERFACEGETNUMCONFIGUREDPIPES                  pfnWdfUsbInterfaceGetNumConfiguredPipes;
4161f377076SVictor Perevertkin     // PFN_WDFUSBINTERFACEGETCONFIGUREDPIPE                      pfnWdfUsbInterfaceGetConfiguredPipe;
4171f377076SVictor Perevertkin     // PFN_WDFUSBTARGETPIPEWDMGETPIPEHANDLE                      pfnWdfUsbTargetPipeWdmGetPipeHandle;
4181f377076SVictor Perevertkin     // PFN_WDFVERIFIERDBGBREAKPOINT                              pfnWdfVerifierDbgBreakPoint;
4191f377076SVictor Perevertkin     // PFN_WDFVERIFIERKEBUGCHECK                                 pfnWdfVerifierKeBugCheck;
4201f377076SVictor Perevertkin     // PFN_WDFWMIPROVIDERCREATE                                  pfnWdfWmiProviderCreate;
4211f377076SVictor Perevertkin     // PFN_WDFWMIPROVIDERGETDEVICE                               pfnWdfWmiProviderGetDevice;
4221f377076SVictor Perevertkin     // PFN_WDFWMIPROVIDERISENABLED                               pfnWdfWmiProviderIsEnabled;
4231f377076SVictor Perevertkin     // PFN_WDFWMIPROVIDERGETTRACINGHANDLE                        pfnWdfWmiProviderGetTracingHandle;
4241f377076SVictor Perevertkin     // PFN_WDFWMIINSTANCECREATE                                  pfnWdfWmiInstanceCreate;
4251f377076SVictor Perevertkin     // PFN_WDFWMIINSTANCEREGISTER                                pfnWdfWmiInstanceRegister;
4261f377076SVictor Perevertkin     // PFN_WDFWMIINSTANCEDEREGISTER                              pfnWdfWmiInstanceDeregister;
4271f377076SVictor Perevertkin     // PFN_WDFWMIINSTANCEGETDEVICE                               pfnWdfWmiInstanceGetDevice;
4281f377076SVictor Perevertkin     // PFN_WDFWMIINSTANCEGETPROVIDER                             pfnWdfWmiInstanceGetProvider;
4291f377076SVictor Perevertkin     // PFN_WDFWMIINSTANCEFIREEVENT                               pfnWdfWmiInstanceFireEvent;
4301f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                              pfnWdfUsbTargetDeviceCreate;
4311f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                 pfnWdfUsbTargetDeviceRetrieveInformation;
4321f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                 pfnWdfUsbTargetDeviceGetDeviceDescriptor;
4331f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED            pfnWdfUsbTargetDeviceRetrieveConfigDescriptor;
4341f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                         pfnWdfUsbTargetDeviceQueryString;
4351f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                 pfnWdfUsbTargetDeviceAllocAndQueryString;
4361f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED              pfnWdfUsbTargetDeviceFormatRequestForString;
4371f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                    pfnWdfUsbTargetDeviceGetNumInterfaces;
4381f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                        pfnWdfUsbTargetDeviceSelectConfig;
4391f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED           pfnWdfUsbTargetDeviceWdmGetConfigurationHandle;
4401f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED          pfnWdfUsbTargetDeviceRetrieveCurrentFrameNumber;
4411f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED    pfnWdfUsbTargetDeviceSendControlTransferSynchronously;
4421f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED     pfnWdfUsbTargetDeviceFormatRequestForControlTransfer;
4431f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED              pfnWdfUsbTargetDeviceIsConnectedSynchronous;
4441f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED              pfnWdfUsbTargetDeviceResetPortSynchronously;
4451f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED              pfnWdfUsbTargetDeviceCyclePortSynchronously;
4461f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED           pfnWdfUsbTargetDeviceFormatRequestForCyclePort;
4471f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                pfnWdfUsbTargetDeviceSendUrbSynchronously;
4481f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                 pfnWdfUsbTargetDeviceFormatRequestForUrb;
4491f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                        pfnWdfUsbTargetPipeGetInformation;
4501f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                          pfnWdfUsbTargetPipeIsInEndpoint;
4511f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                         pfnWdfUsbTargetPipeIsOutEndpoint;
4521f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                               pfnWdfUsbTargetPipeGetType;
4531f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED           pfnWdfUsbTargetPipeSetNoMaximumPacketSizeCheck;
4541f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                    pfnWdfUsbTargetPipeWriteSynchronously;
4551f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                 pfnWdfUsbTargetPipeFormatRequestForWrite;
4561f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                     pfnWdfUsbTargetPipeReadSynchronously;
4571f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                  pfnWdfUsbTargetPipeFormatRequestForRead;
4581f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                pfnWdfUsbTargetPipeConfigContinuousReader;
4591f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                    pfnWdfUsbTargetPipeAbortSynchronously;
4601f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                 pfnWdfUsbTargetPipeFormatRequestForAbort;
4611f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                    pfnWdfUsbTargetPipeResetSynchronously;
4621f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                 pfnWdfUsbTargetPipeFormatRequestForReset;
4631f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                  pfnWdfUsbTargetPipeSendUrbSynchronously;
4641f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                   pfnWdfUsbTargetPipeFormatRequestForUrb;
4651f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                     pfnWdfUsbInterfaceGetInterfaceNumber;
4661f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                        pfnWdfUsbInterfaceGetNumEndpoints;
4671f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                          pfnWdfUsbInterfaceGetDescriptor;
4681f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                          pfnWdfUsbInterfaceSelectSetting;
4691f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                 pfnWdfUsbInterfaceGetEndpointInformation;
4701f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                        pfnWdfUsbTargetDeviceGetInterface;
4711f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED              pfnWdfUsbInterfaceGetConfiguredSettingIndex;
4721f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                  pfnWdfUsbInterfaceGetNumConfiguredPipes;
4731f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                      pfnWdfUsbInterfaceGetConfiguredPipe;
4741f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                      pfnWdfUsbTargetPipeWdmGetPipeHandle;
4751f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                              pfnWdfVerifierDbgBreakPoint;
4761f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                                 pfnWdfVerifierKeBugCheck;
4771f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                                  pfnWdfWmiProviderCreate;
4781f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                               pfnWdfWmiProviderGetDevice;
4791f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                               pfnWdfWmiProviderIsEnabled;
4801f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                        pfnWdfWmiProviderGetTracingHandle;
4811f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                                  pfnWdfWmiInstanceCreate;
4821f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                                pfnWdfWmiInstanceRegister;
4831f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                              pfnWdfWmiInstanceDeregister;
4841f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                               pfnWdfWmiInstanceGetDevice;
4851f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                             pfnWdfWmiInstanceGetProvider;
4861f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                               pfnWdfWmiInstanceFireEvent;
4871f377076SVictor Perevertkin 
4888a978a17SVictor Perevertkin     PFN_WDFWORKITEMCREATE                                     pfnWdfWorkItemCreate;
4898a978a17SVictor Perevertkin     PFN_WDFWORKITEMENQUEUE                                    pfnWdfWorkItemEnqueue;
4908a978a17SVictor Perevertkin     PFN_WDFWORKITEMGETPARENTOBJECT                            pfnWdfWorkItemGetParentObject;
4918a978a17SVictor Perevertkin     PFN_WDFWORKITEMFLUSH                                      pfnWdfWorkItemFlush;
4921f377076SVictor Perevertkin     // PFN_WDFCOMMONBUFFERCREATEWITHCONFIG                       pfnWdfCommonBufferCreateWithConfig;
4931f377076SVictor Perevertkin     // PFN_WDFDMAENABLERGETFRAGMENTLENGTH                        pfnWdfDmaEnablerGetFragmentLength;
4941f377076SVictor Perevertkin     // PFN_WDFDMAENABLERWDMGETDMAADAPTER                         pfnWdfDmaEnablerWdmGetDmaAdapter;
4951f377076SVictor Perevertkin     // PFN_WDFUSBINTERFACEGETNUMSETTINGS                         pfnWdfUsbInterfaceGetNumSettings;
4961f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                       pfnWdfCommonBufferCreateWithConfig;
4971f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                        pfnWdfDmaEnablerGetFragmentLength;
4981f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                         pfnWdfDmaEnablerWdmGetDmaAdapter;
4991f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                         pfnWdfUsbInterfaceGetNumSettings;
5001f377076SVictor Perevertkin 
5018a978a17SVictor Perevertkin     PFN_WDFDEVICEREMOVEDEPENDENTUSAGEDEVICEOBJECT             pfnWdfDeviceRemoveDependentUsageDeviceObject;
5028a978a17SVictor Perevertkin     PFN_WDFDEVICEGETSYSTEMPOWERACTION                         pfnWdfDeviceGetSystemPowerAction;
503*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTSETEXTENDEDPOLICY                         pfnWdfInterruptSetExtendedPolicy;
5048a978a17SVictor Perevertkin     PFN_WDFIOQUEUEASSIGNFORWARDPROGRESSPOLICY                 pfnWdfIoQueueAssignForwardProgressPolicy;
5058a978a17SVictor Perevertkin     PFN_WDFPDOINITASSIGNCONTAINERID                           pfnWdfPdoInitAssignContainerID;
5068a978a17SVictor Perevertkin     PFN_WDFPDOINITALLOWFORWARDINGREQUESTTOPARENT              pfnWdfPdoInitAllowForwardingRequestToParent;
5078a978a17SVictor Perevertkin     PFN_WDFREQUESTMARKCANCELABLEEX                            pfnWdfRequestMarkCancelableEx;
5088a978a17SVictor Perevertkin     PFN_WDFREQUESTISRESERVED                                  pfnWdfRequestIsReserved;
5098a978a17SVictor Perevertkin     PFN_WDFREQUESTFORWARDTOPARENTDEVICEIOQUEUE                pfnWdfRequestForwardToParentDeviceIoQueue;
5101f377076SVictor Perevertkin     // PFN_WDFCXDEVICEINITALLOCATE                               pfnWdfCxDeviceInitAllocate;
5111f377076SVictor Perevertkin     // PFN_WDFCXDEVICEINITASSIGNWDMIRPPREPROCESSCALLBACK         pfnWdfCxDeviceInitAssignWdmIrpPreprocessCallback;
5121f377076SVictor Perevertkin     // PFN_WDFCXDEVICEINITSETIOINCALLERCONTEXTCALLBACK           pfnWdfCxDeviceInitSetIoInCallerContextCallback;
5131f377076SVictor Perevertkin     // PFN_WDFCXDEVICEINITSETREQUESTATTRIBUTES                   pfnWdfCxDeviceInitSetRequestAttributes;
5141f377076SVictor Perevertkin     // PFN_WDFCXDEVICEINITSETFILEOBJECTCONFIG                    pfnWdfCxDeviceInitSetFileObjectConfig;
5151f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                               pfnWdfCxDeviceInitAllocate;
5161f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED         pfnWdfCxDeviceInitAssignWdmIrpPreprocessCallback;
5171f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED           pfnWdfCxDeviceInitSetIoInCallerContextCallback;
5181f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                   pfnWdfCxDeviceInitSetRequestAttributes;
5191f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                    pfnWdfCxDeviceInitSetFileObjectConfig;
5201f377076SVictor Perevertkin 
5218a978a17SVictor Perevertkin     PFN_WDFDEVICEWDMDISPATCHIRP                               pfnWdfDeviceWdmDispatchIrp;
5228a978a17SVictor Perevertkin     PFN_WDFDEVICEWDMDISPATCHIRPTOIOQUEUE                      pfnWdfDeviceWdmDispatchIrpToIoQueue;
5238a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETREMOVELOCKOPTIONS                     pfnWdfDeviceInitSetRemoveLockOptions;
5248a978a17SVictor Perevertkin     PFN_WDFDEVICECONFIGUREWDMIRPDISPATCHCALLBACK              pfnWdfDeviceConfigureWdmIrpDispatchCallback;
5251f377076SVictor Perevertkin     // PFN_WDFDMAENABLERCONFIGURESYSTEMPROFILE                   pfnWdfDmaEnablerConfigureSystemProfile;
5261f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONINITIALIZEUSINGOFFSET                pfnWdfDmaTransactionInitializeUsingOffset;
5271f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONGETTRANSFERINFO                      pfnWdfDmaTransactionGetTransferInfo;
5281f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONSETCHANNELCONFIGURATIONCALLBACK      pfnWdfDmaTransactionSetChannelConfigurationCallback;
5291f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONSETTRANSFERCOMPLETECALLBACK          pfnWdfDmaTransactionSetTransferCompleteCallback;
5301f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONSETIMMEDIATEEXECUTION                pfnWdfDmaTransactionSetImmediateExecution;
5311f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONALLOCATERESOURCES                    pfnWdfDmaTransactionAllocateResources;
5321f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONSETDEVICEADDRESSOFFSET               pfnWdfDmaTransactionSetDeviceAddressOffset;
5331f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONFREERESOURCES                        pfnWdfDmaTransactionFreeResources;
5341f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONCANCEL                               pfnWdfDmaTransactionCancel;
5351f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT                pfnWdfDmaTransactionWdmGetTransferContext;
5361f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                   pfnWdfDmaEnablerConfigureSystemProfile;
5371f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                pfnWdfDmaTransactionInitializeUsingOffset;
5381f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                      pfnWdfDmaTransactionGetTransferInfo;
5391f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED      pfnWdfDmaTransactionSetChannelConfigurationCallback;
5401f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED          pfnWdfDmaTransactionSetTransferCompleteCallback;
5411f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                pfnWdfDmaTransactionSetImmediateExecution;
5421f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                    pfnWdfDmaTransactionAllocateResources;
5431f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED               pfnWdfDmaTransactionSetDeviceAddressOffset;
5441f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                        pfnWdfDmaTransactionFreeResources;
5451f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                               pfnWdfDmaTransactionCancel;
5461f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                pfnWdfDmaTransactionWdmGetTransferContext;
5471f377076SVictor Perevertkin 
548*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTQUEUEWORKITEMFORISR                       pfnWdfInterruptQueueWorkItemForIsr;
549*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTTRYTOACQUIRELOCK                          pfnWdfInterruptTryToAcquireLock;
5508a978a17SVictor Perevertkin     PFN_WDFIOQUEUESTOPANDPURGE                                pfnWdfIoQueueStopAndPurge;
5518a978a17SVictor Perevertkin     PFN_WDFIOQUEUESTOPANDPURGESYNCHRONOUSLY                   pfnWdfIoQueueStopAndPurgeSynchronously;
5528a978a17SVictor Perevertkin     PFN_WDFIOTARGETPURGE                                      pfnWdfIoTargetPurge;
5531f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICECREATEWITHPARAMETERS                pfnWdfUsbTargetDeviceCreateWithParameters;
5541f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICEQUERYUSBCAPABILITY                  pfnWdfUsbTargetDeviceQueryUsbCapability;
5551f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICECREATEURB                           pfnWdfUsbTargetDeviceCreateUrb;
5561f377076SVictor Perevertkin     // PFN_WDFUSBTARGETDEVICECREATEISOCHURB                      pfnWdfUsbTargetDeviceCreateIsochUrb;
5571f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                pfnWdfUsbTargetDeviceCreateWithParameters;
5581f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                  pfnWdfUsbTargetDeviceQueryUsbCapability;
5591f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                           pfnWdfUsbTargetDeviceCreateUrb;
5601f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                      pfnWdfUsbTargetDeviceCreateIsochUrb;
5611f377076SVictor Perevertkin 
5628a978a17SVictor Perevertkin     PFN_WDFDEVICEWDMASSIGNPOWERFRAMEWORKSETTINGS              pfnWdfDeviceWdmAssignPowerFrameworkSettings;
5631f377076SVictor Perevertkin     // PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER                   pfnWdfDmaTransactionStopSystemTransfer;
5641f377076SVictor Perevertkin     // PFN_WDFCXVERIFIERKEBUGCHECK                               pfnWdfCxVerifierKeBugCheck;
5651f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                   pfnWdfDmaTransactionStopSystemTransfer;
5661f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                               pfnWdfCxVerifierKeBugCheck;
5671f377076SVictor Perevertkin 
568*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTREPORTACTIVE                              pfnWdfInterruptReportActive;
569*7c734db0SVictor Perevertkin     PFN_WDFINTERRUPTREPORTINACTIVE                            pfnWdfInterruptReportInactive;
5708a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETRELEASEHARDWAREORDERONFAILURE         pfnWdfDeviceInitSetReleaseHardwareOrderOnFailure;
5711f377076SVictor Perevertkin     // PFN_WDFGETTRIAGEINFO                                      pfnWdfGetTriageInfo;
5721f377076SVictor Perevertkin     PFN_ROSWDFUNIMPLEMENTED                                      pfnWdfGetTriageInfo;
5731f377076SVictor Perevertkin 
5748a978a17SVictor Perevertkin     PFN_WDFDEVICEINITSETIOTYPEEX                              pfnWdfDeviceInitSetIoTypeEx;
5758a978a17SVictor Perevertkin     PFN_WDFDEVICEQUERYPROPERTYEX                              pfnWdfDeviceQueryPropertyEx;
5768a978a17SVictor Perevertkin     PFN_WDFDEVICEALLOCANDQUERYPROPERTYEX                      pfnWdfDeviceAllocAndQueryPropertyEx;
5778a978a17SVictor Perevertkin     PFN_WDFDEVICEASSIGNPROPERTY                               pfnWdfDeviceAssignProperty;
5788a978a17SVictor Perevertkin     PFN_WDFFDOINITQUERYPROPERTYEX                             pfnWdfFdoInitQueryPropertyEx;
5798a978a17SVictor Perevertkin     PFN_WDFFDOINITALLOCANDQUERYPROPERTYEX                     pfnWdfFdoInitAllocAndQueryPropertyEx;
5808a978a17SVictor Perevertkin     PFN_WDFDEVICESTOPIDLEACTUAL                               pfnWdfDeviceStopIdleActual;
5818a978a17SVictor Perevertkin     PFN_WDFDEVICERESUMEIDLEACTUAL                             pfnWdfDeviceResumeIdleActual;
5828a978a17SVictor Perevertkin     PFN_WDFDEVICEGETSELFIOTARGET                              pfnWdfDeviceGetSelfIoTarget;
5838a978a17SVictor Perevertkin     PFN_WDFDEVICEINITALLOWSELFIOTARGET                        pfnWdfDeviceInitAllowSelfIoTarget;
5848a978a17SVictor Perevertkin     PFN_WDFIOTARGETSELFASSIGNDEFAULTIOQUEUE                   pfnWdfIoTargetSelfAssignDefaultIoQueue;
5858a978a17SVictor Perevertkin     PFN_WDFDEVICEOPENDEVICEMAPKEY                             pfnWdfDeviceOpenDevicemapKey;
5868a978a17SVictor Perevertkin 
5878a978a17SVictor Perevertkin } WDFFUNCTIONS, *PWDFFUNCTIONS;
5888a978a17SVictor Perevertkin 
5898a978a17SVictor Perevertkin 
5908a978a17SVictor Perevertkin typedef struct _WDFVERSION {
5918a978a17SVictor Perevertkin 
5928a978a17SVictor Perevertkin     ULONG         Size;
5938a978a17SVictor Perevertkin     ULONG         FuncCount;
5948a978a17SVictor Perevertkin     WDFFUNCTIONS  Functions;
5958a978a17SVictor Perevertkin 
5968a978a17SVictor Perevertkin } WDFVERSION, *PWDFVERSION;
5978a978a17SVictor Perevertkin 
5988a978a17SVictor Perevertkin 
5998a978a17SVictor Perevertkin _Must_inspect_result_
6008a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
6018a978a17SVictor Perevertkin WDFAPI
6028a978a17SVictor Perevertkin NTSTATUS
6031f377076SVictor Perevertkin STDCALL
6048a978a17SVictor Perevertkin WDFEXPORT(WdfChildListCreate)(
6058a978a17SVictor Perevertkin     _In_
6068a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
6078a978a17SVictor Perevertkin     _In_
6088a978a17SVictor Perevertkin     WDFDEVICE Device,
6098a978a17SVictor Perevertkin     _In_
6108a978a17SVictor Perevertkin     PWDF_CHILD_LIST_CONFIG Config,
6118a978a17SVictor Perevertkin     _In_opt_
6128a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES ChildListAttributes,
6138a978a17SVictor Perevertkin     _Out_
6148a978a17SVictor Perevertkin     WDFCHILDLIST* ChildList
6158a978a17SVictor Perevertkin     );
6168a978a17SVictor Perevertkin 
6178a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
6188a978a17SVictor Perevertkin WDFAPI
6198a978a17SVictor Perevertkin WDFDEVICE
6201f377076SVictor Perevertkin STDCALL
6218a978a17SVictor Perevertkin WDFEXPORT(WdfChildListGetDevice)(
6228a978a17SVictor Perevertkin     _In_
6238a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
6248a978a17SVictor Perevertkin     _In_
6258a978a17SVictor Perevertkin     WDFCHILDLIST ChildList
6268a978a17SVictor Perevertkin     );
6278a978a17SVictor Perevertkin 
6288a978a17SVictor Perevertkin _Must_inspect_result_
6298a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
6308a978a17SVictor Perevertkin WDFAPI
6318a978a17SVictor Perevertkin WDFDEVICE
6321f377076SVictor Perevertkin STDCALL
6338a978a17SVictor Perevertkin WDFEXPORT(WdfChildListRetrievePdo)(
6348a978a17SVictor Perevertkin     _In_
6358a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
6368a978a17SVictor Perevertkin     _In_
6378a978a17SVictor Perevertkin     WDFCHILDLIST ChildList,
6388a978a17SVictor Perevertkin     _Inout_
6398a978a17SVictor Perevertkin     PWDF_CHILD_RETRIEVE_INFO RetrieveInfo
6408a978a17SVictor Perevertkin     );
6418a978a17SVictor Perevertkin 
6428a978a17SVictor Perevertkin _Must_inspect_result_
6438a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
6448a978a17SVictor Perevertkin WDFAPI
6458a978a17SVictor Perevertkin NTSTATUS
6461f377076SVictor Perevertkin STDCALL
6478a978a17SVictor Perevertkin WDFEXPORT(WdfChildListRetrieveAddressDescription)(
6488a978a17SVictor Perevertkin     _In_
6498a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
6508a978a17SVictor Perevertkin     _In_
6518a978a17SVictor Perevertkin     WDFCHILDLIST ChildList,
6528a978a17SVictor Perevertkin     _In_
6538a978a17SVictor Perevertkin     PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription,
6548a978a17SVictor Perevertkin     _Inout_
6558a978a17SVictor Perevertkin     PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
6568a978a17SVictor Perevertkin     );
6578a978a17SVictor Perevertkin 
6588a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
6598a978a17SVictor Perevertkin WDFAPI
6608a978a17SVictor Perevertkin VOID
6611f377076SVictor Perevertkin STDCALL
6628a978a17SVictor Perevertkin WDFEXPORT(WdfChildListBeginScan)(
6638a978a17SVictor Perevertkin     _In_
6648a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
6658a978a17SVictor Perevertkin     _In_
6668a978a17SVictor Perevertkin     WDFCHILDLIST ChildList
6678a978a17SVictor Perevertkin     );
6688a978a17SVictor Perevertkin 
6698a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
6708a978a17SVictor Perevertkin WDFAPI
6718a978a17SVictor Perevertkin VOID
6721f377076SVictor Perevertkin STDCALL
6738a978a17SVictor Perevertkin WDFEXPORT(WdfChildListEndScan)(
6748a978a17SVictor Perevertkin     _In_
6758a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
6768a978a17SVictor Perevertkin     _In_
6778a978a17SVictor Perevertkin     WDFCHILDLIST ChildList
6788a978a17SVictor Perevertkin     );
6798a978a17SVictor Perevertkin 
6808a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
6818a978a17SVictor Perevertkin WDFAPI
6828a978a17SVictor Perevertkin VOID
6831f377076SVictor Perevertkin STDCALL
6848a978a17SVictor Perevertkin WDFEXPORT(WdfChildListBeginIteration)(
6858a978a17SVictor Perevertkin     _In_
6868a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
6878a978a17SVictor Perevertkin     _In_
6888a978a17SVictor Perevertkin     WDFCHILDLIST ChildList,
6898a978a17SVictor Perevertkin     _In_
6908a978a17SVictor Perevertkin     PWDF_CHILD_LIST_ITERATOR Iterator
6918a978a17SVictor Perevertkin     );
6928a978a17SVictor Perevertkin 
6938a978a17SVictor Perevertkin _Must_inspect_result_
6948a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
6958a978a17SVictor Perevertkin WDFAPI
6968a978a17SVictor Perevertkin NTSTATUS
6971f377076SVictor Perevertkin STDCALL
6988a978a17SVictor Perevertkin WDFEXPORT(WdfChildListRetrieveNextDevice)(
6998a978a17SVictor Perevertkin     _In_
7008a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
7018a978a17SVictor Perevertkin     _In_
7028a978a17SVictor Perevertkin     WDFCHILDLIST ChildList,
7038a978a17SVictor Perevertkin     _In_
7048a978a17SVictor Perevertkin     PWDF_CHILD_LIST_ITERATOR Iterator,
7058a978a17SVictor Perevertkin     _Out_
7068a978a17SVictor Perevertkin     WDFDEVICE* Device,
7078a978a17SVictor Perevertkin     _Inout_opt_
7088a978a17SVictor Perevertkin     PWDF_CHILD_RETRIEVE_INFO Info
7098a978a17SVictor Perevertkin     );
7108a978a17SVictor Perevertkin 
7118a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
7128a978a17SVictor Perevertkin WDFAPI
7138a978a17SVictor Perevertkin VOID
7141f377076SVictor Perevertkin STDCALL
7158a978a17SVictor Perevertkin WDFEXPORT(WdfChildListEndIteration)(
7168a978a17SVictor Perevertkin     _In_
7178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
7188a978a17SVictor Perevertkin     _In_
7198a978a17SVictor Perevertkin     WDFCHILDLIST ChildList,
7208a978a17SVictor Perevertkin     _In_
7218a978a17SVictor Perevertkin     PWDF_CHILD_LIST_ITERATOR Iterator
7228a978a17SVictor Perevertkin     );
7238a978a17SVictor Perevertkin 
7248a978a17SVictor Perevertkin _Must_inspect_result_
7258a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
7268a978a17SVictor Perevertkin WDFAPI
7278a978a17SVictor Perevertkin NTSTATUS
7281f377076SVictor Perevertkin STDCALL
7298a978a17SVictor Perevertkin WDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent)(
7308a978a17SVictor Perevertkin     _In_
7318a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
7328a978a17SVictor Perevertkin     _In_
7338a978a17SVictor Perevertkin     WDFCHILDLIST ChildList,
7348a978a17SVictor Perevertkin     _In_
7358a978a17SVictor Perevertkin     PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription,
7368a978a17SVictor Perevertkin     _In_opt_
7378a978a17SVictor Perevertkin     PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
7388a978a17SVictor Perevertkin     );
7398a978a17SVictor Perevertkin 
7408a978a17SVictor Perevertkin _Must_inspect_result_
7418a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
7428a978a17SVictor Perevertkin WDFAPI
7438a978a17SVictor Perevertkin NTSTATUS
7441f377076SVictor Perevertkin STDCALL
7458a978a17SVictor Perevertkin WDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing)(
7468a978a17SVictor Perevertkin     _In_
7478a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
7488a978a17SVictor Perevertkin     _In_
7498a978a17SVictor Perevertkin     WDFCHILDLIST ChildList,
7508a978a17SVictor Perevertkin     _In_
7518a978a17SVictor Perevertkin     PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
7528a978a17SVictor Perevertkin     );
7538a978a17SVictor Perevertkin 
7548a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
7558a978a17SVictor Perevertkin WDFAPI
7568a978a17SVictor Perevertkin VOID
7571f377076SVictor Perevertkin STDCALL
7588a978a17SVictor Perevertkin WDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent)(
7598a978a17SVictor Perevertkin     _In_
7608a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
7618a978a17SVictor Perevertkin     _In_
7628a978a17SVictor Perevertkin     WDFCHILDLIST ChildList
7638a978a17SVictor Perevertkin     );
7648a978a17SVictor Perevertkin 
7658a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
7668a978a17SVictor Perevertkin WDFAPI
7678a978a17SVictor Perevertkin BOOLEAN
7681f377076SVictor Perevertkin STDCALL
7698a978a17SVictor Perevertkin WDFEXPORT(WdfChildListRequestChildEject)(
7708a978a17SVictor Perevertkin     _In_
7718a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
7728a978a17SVictor Perevertkin     _In_
7738a978a17SVictor Perevertkin     WDFCHILDLIST ChildList,
7748a978a17SVictor Perevertkin     _In_
7758a978a17SVictor Perevertkin     PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
7768a978a17SVictor Perevertkin     );
7778a978a17SVictor Perevertkin 
7788a978a17SVictor Perevertkin _Must_inspect_result_
7798a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
7808a978a17SVictor Perevertkin WDFAPI
7818a978a17SVictor Perevertkin NTSTATUS
7821f377076SVictor Perevertkin STDCALL
7838a978a17SVictor Perevertkin WDFEXPORT(WdfCollectionCreate)(
7848a978a17SVictor Perevertkin     _In_
7858a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
7868a978a17SVictor Perevertkin     _In_opt_
7878a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES CollectionAttributes,
7888a978a17SVictor Perevertkin     _Out_
7898a978a17SVictor Perevertkin     WDFCOLLECTION* Collection
7908a978a17SVictor Perevertkin     );
7918a978a17SVictor Perevertkin 
7928a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
7938a978a17SVictor Perevertkin WDFAPI
7948a978a17SVictor Perevertkin ULONG
7951f377076SVictor Perevertkin STDCALL
7968a978a17SVictor Perevertkin WDFEXPORT(WdfCollectionGetCount)(
7978a978a17SVictor Perevertkin     _In_
7988a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
7998a978a17SVictor Perevertkin     _In_
8008a978a17SVictor Perevertkin     WDFCOLLECTION Collection
8018a978a17SVictor Perevertkin     );
8028a978a17SVictor Perevertkin 
8038a978a17SVictor Perevertkin _Must_inspect_result_
8048a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
8058a978a17SVictor Perevertkin WDFAPI
8068a978a17SVictor Perevertkin NTSTATUS
8071f377076SVictor Perevertkin STDCALL
8088a978a17SVictor Perevertkin WDFEXPORT(WdfCollectionAdd)(
8098a978a17SVictor Perevertkin     _In_
8108a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
8118a978a17SVictor Perevertkin     _In_
8128a978a17SVictor Perevertkin     WDFCOLLECTION Collection,
8138a978a17SVictor Perevertkin     _In_
8148a978a17SVictor Perevertkin     WDFOBJECT Object
8158a978a17SVictor Perevertkin     );
8168a978a17SVictor Perevertkin 
8178a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
8188a978a17SVictor Perevertkin WDFAPI
8198a978a17SVictor Perevertkin VOID
8201f377076SVictor Perevertkin STDCALL
8218a978a17SVictor Perevertkin WDFEXPORT(WdfCollectionRemove)(
8228a978a17SVictor Perevertkin     _In_
8238a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
8248a978a17SVictor Perevertkin     _In_
8258a978a17SVictor Perevertkin     WDFCOLLECTION Collection,
8268a978a17SVictor Perevertkin     _In_
8278a978a17SVictor Perevertkin     WDFOBJECT Item
8288a978a17SVictor Perevertkin     );
8298a978a17SVictor Perevertkin 
8308a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
8318a978a17SVictor Perevertkin WDFAPI
8328a978a17SVictor Perevertkin VOID
8331f377076SVictor Perevertkin STDCALL
8348a978a17SVictor Perevertkin WDFEXPORT(WdfCollectionRemoveItem)(
8358a978a17SVictor Perevertkin     _In_
8368a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
8378a978a17SVictor Perevertkin     _In_
8388a978a17SVictor Perevertkin     WDFCOLLECTION Collection,
8398a978a17SVictor Perevertkin     _In_
8408a978a17SVictor Perevertkin     ULONG Index
8418a978a17SVictor Perevertkin     );
8428a978a17SVictor Perevertkin 
8438a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
8448a978a17SVictor Perevertkin WDFAPI
8458a978a17SVictor Perevertkin WDFOBJECT
8461f377076SVictor Perevertkin STDCALL
8478a978a17SVictor Perevertkin WDFEXPORT(WdfCollectionGetItem)(
8488a978a17SVictor Perevertkin     _In_
8498a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
8508a978a17SVictor Perevertkin     _In_
8518a978a17SVictor Perevertkin     WDFCOLLECTION Collection,
8528a978a17SVictor Perevertkin     _In_
8538a978a17SVictor Perevertkin     ULONG Index
8548a978a17SVictor Perevertkin     );
8558a978a17SVictor Perevertkin 
8568a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
8578a978a17SVictor Perevertkin WDFAPI
8588a978a17SVictor Perevertkin WDFOBJECT
8591f377076SVictor Perevertkin STDCALL
8608a978a17SVictor Perevertkin WDFEXPORT(WdfCollectionGetFirstItem)(
8618a978a17SVictor Perevertkin     _In_
8628a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
8638a978a17SVictor Perevertkin     _In_
8648a978a17SVictor Perevertkin     WDFCOLLECTION Collection
8658a978a17SVictor Perevertkin     );
8668a978a17SVictor Perevertkin 
8678a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
8688a978a17SVictor Perevertkin WDFAPI
8698a978a17SVictor Perevertkin WDFOBJECT
8701f377076SVictor Perevertkin STDCALL
8718a978a17SVictor Perevertkin WDFEXPORT(WdfCollectionGetLastItem)(
8728a978a17SVictor Perevertkin     _In_
8738a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
8748a978a17SVictor Perevertkin     _In_
8758a978a17SVictor Perevertkin     WDFCOLLECTION Collection
8768a978a17SVictor Perevertkin     );
8778a978a17SVictor Perevertkin 
8788a978a17SVictor Perevertkin _Must_inspect_result_
8798a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
8808a978a17SVictor Perevertkin WDFAPI
8818a978a17SVictor Perevertkin NTSTATUS
8821f377076SVictor Perevertkin STDCALL
8838a978a17SVictor Perevertkin WDFEXPORT(WdfCommonBufferCreate)(
8848a978a17SVictor Perevertkin     _In_
8858a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
8868a978a17SVictor Perevertkin     _In_
8878a978a17SVictor Perevertkin     WDFDMAENABLER DmaEnabler,
8888a978a17SVictor Perevertkin     _In_
8898a978a17SVictor Perevertkin     _When_(Length == 0, __drv_reportError(Length cannot be zero))
8908a978a17SVictor Perevertkin     size_t Length,
8918a978a17SVictor Perevertkin     _In_opt_
8928a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
8938a978a17SVictor Perevertkin     _Out_
8948a978a17SVictor Perevertkin     WDFCOMMONBUFFER* CommonBuffer
8958a978a17SVictor Perevertkin     );
8968a978a17SVictor Perevertkin 
8978a978a17SVictor Perevertkin _Must_inspect_result_
8988a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
8998a978a17SVictor Perevertkin WDFAPI
9008a978a17SVictor Perevertkin NTSTATUS
9011f377076SVictor Perevertkin STDCALL
9028a978a17SVictor Perevertkin WDFEXPORT(WdfCommonBufferCreateWithConfig)(
9038a978a17SVictor Perevertkin     _In_
9048a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
9058a978a17SVictor Perevertkin     _In_
9068a978a17SVictor Perevertkin     WDFDMAENABLER DmaEnabler,
9078a978a17SVictor Perevertkin     _In_
9088a978a17SVictor Perevertkin     _When_(Length == 0, __drv_reportError(Length cannot be zero))
9098a978a17SVictor Perevertkin     size_t Length,
9108a978a17SVictor Perevertkin     _In_
9118a978a17SVictor Perevertkin     PWDF_COMMON_BUFFER_CONFIG Config,
9128a978a17SVictor Perevertkin     _In_opt_
9138a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
9148a978a17SVictor Perevertkin     _Out_
9158a978a17SVictor Perevertkin     WDFCOMMONBUFFER* CommonBuffer
9168a978a17SVictor Perevertkin     );
9178a978a17SVictor Perevertkin 
9188a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
9198a978a17SVictor Perevertkin WDFAPI
9208a978a17SVictor Perevertkin PVOID
9211f377076SVictor Perevertkin STDCALL
9228a978a17SVictor Perevertkin WDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress)(
9238a978a17SVictor Perevertkin     _In_
9248a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
9258a978a17SVictor Perevertkin     _In_
9268a978a17SVictor Perevertkin     WDFCOMMONBUFFER CommonBuffer
9278a978a17SVictor Perevertkin     );
9288a978a17SVictor Perevertkin 
9298a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
9308a978a17SVictor Perevertkin WDFAPI
9318a978a17SVictor Perevertkin PHYSICAL_ADDRESS
9321f377076SVictor Perevertkin STDCALL
9338a978a17SVictor Perevertkin WDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress)(
9348a978a17SVictor Perevertkin     _In_
9358a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
9368a978a17SVictor Perevertkin     _In_
9378a978a17SVictor Perevertkin     WDFCOMMONBUFFER CommonBuffer
9388a978a17SVictor Perevertkin     );
9398a978a17SVictor Perevertkin 
9408a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
9418a978a17SVictor Perevertkin WDFAPI
9428a978a17SVictor Perevertkin size_t
9431f377076SVictor Perevertkin STDCALL
9448a978a17SVictor Perevertkin WDFEXPORT(WdfCommonBufferGetLength)(
9458a978a17SVictor Perevertkin     _In_
9468a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
9478a978a17SVictor Perevertkin     _In_
9488a978a17SVictor Perevertkin     WDFCOMMONBUFFER CommonBuffer
9498a978a17SVictor Perevertkin     );
9508a978a17SVictor Perevertkin 
9518a978a17SVictor Perevertkin _Must_inspect_result_
9528a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
9538a978a17SVictor Perevertkin WDFAPI
9548a978a17SVictor Perevertkin PWDFDEVICE_INIT
9551f377076SVictor Perevertkin STDCALL
9568a978a17SVictor Perevertkin WDFEXPORT(WdfControlDeviceInitAllocate)(
9578a978a17SVictor Perevertkin     _In_
9588a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
9598a978a17SVictor Perevertkin     _In_
9608a978a17SVictor Perevertkin     WDFDRIVER Driver,
9618a978a17SVictor Perevertkin     _In_
9628a978a17SVictor Perevertkin     CONST UNICODE_STRING* SDDLString
9638a978a17SVictor Perevertkin     );
9648a978a17SVictor Perevertkin 
9658a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
9668a978a17SVictor Perevertkin WDFAPI
9678a978a17SVictor Perevertkin VOID
9681f377076SVictor Perevertkin STDCALL
9698a978a17SVictor Perevertkin WDFEXPORT(WdfControlDeviceInitSetShutdownNotification)(
9708a978a17SVictor Perevertkin     _In_
9718a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
9728a978a17SVictor Perevertkin     _In_
9738a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
9748a978a17SVictor Perevertkin     _In_
9758a978a17SVictor Perevertkin     PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification,
9768a978a17SVictor Perevertkin     _In_
9778a978a17SVictor Perevertkin     UCHAR Flags
9788a978a17SVictor Perevertkin     );
9798a978a17SVictor Perevertkin 
9808a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
9818a978a17SVictor Perevertkin WDFAPI
9828a978a17SVictor Perevertkin VOID
9831f377076SVictor Perevertkin STDCALL
9848a978a17SVictor Perevertkin WDFEXPORT(WdfControlFinishInitializing)(
9858a978a17SVictor Perevertkin     _In_
9868a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
9878a978a17SVictor Perevertkin     _In_
9888a978a17SVictor Perevertkin     WDFDEVICE Device
9898a978a17SVictor Perevertkin     );
9908a978a17SVictor Perevertkin 
9918a978a17SVictor Perevertkin _Must_inspect_result_
9928a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
9938a978a17SVictor Perevertkin WDFAPI
9948a978a17SVictor Perevertkin PWDFCXDEVICE_INIT
9951f377076SVictor Perevertkin STDCALL
9968a978a17SVictor Perevertkin WDFEXPORT(WdfCxDeviceInitAllocate)(
9978a978a17SVictor Perevertkin     _In_
9988a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
9998a978a17SVictor Perevertkin     _In_
10008a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit
10018a978a17SVictor Perevertkin     );
10028a978a17SVictor Perevertkin 
10038a978a17SVictor Perevertkin _Must_inspect_result_
10048a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
10058a978a17SVictor Perevertkin WDFAPI
10068a978a17SVictor Perevertkin NTSTATUS
10071f377076SVictor Perevertkin STDCALL
10088a978a17SVictor Perevertkin WDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback)(
10098a978a17SVictor Perevertkin     _In_
10108a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
10118a978a17SVictor Perevertkin     _In_
10128a978a17SVictor Perevertkin     PWDFCXDEVICE_INIT CxDeviceInit,
10138a978a17SVictor Perevertkin     _In_
10148a978a17SVictor Perevertkin     PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS EvtCxDeviceWdmIrpPreprocess,
10158a978a17SVictor Perevertkin     _In_
10168a978a17SVictor Perevertkin     UCHAR MajorFunction,
10178a978a17SVictor Perevertkin     _When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions))
10188a978a17SVictor Perevertkin     _When_(NumMinorFunctions == 0, _In_opt_)
10198a978a17SVictor Perevertkin     PUCHAR MinorFunctions,
10208a978a17SVictor Perevertkin     _In_
10218a978a17SVictor Perevertkin     ULONG NumMinorFunctions
10228a978a17SVictor Perevertkin     );
10238a978a17SVictor Perevertkin 
10248a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
10258a978a17SVictor Perevertkin WDFAPI
10268a978a17SVictor Perevertkin VOID
10271f377076SVictor Perevertkin STDCALL
10288a978a17SVictor Perevertkin WDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback)(
10298a978a17SVictor Perevertkin     _In_
10308a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
10318a978a17SVictor Perevertkin     _In_
10328a978a17SVictor Perevertkin     PWDFCXDEVICE_INIT CxDeviceInit,
10338a978a17SVictor Perevertkin     _In_
10348a978a17SVictor Perevertkin     PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
10358a978a17SVictor Perevertkin     );
10368a978a17SVictor Perevertkin 
10378a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
10388a978a17SVictor Perevertkin WDFAPI
10398a978a17SVictor Perevertkin VOID
10401f377076SVictor Perevertkin STDCALL
10418a978a17SVictor Perevertkin WDFEXPORT(WdfCxDeviceInitSetRequestAttributes)(
10428a978a17SVictor Perevertkin     _In_
10438a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
10448a978a17SVictor Perevertkin     _In_
10458a978a17SVictor Perevertkin     PWDFCXDEVICE_INIT CxDeviceInit,
10468a978a17SVictor Perevertkin     _In_
10478a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES RequestAttributes
10488a978a17SVictor Perevertkin     );
10498a978a17SVictor Perevertkin 
10508a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
10518a978a17SVictor Perevertkin WDFAPI
10528a978a17SVictor Perevertkin VOID
10531f377076SVictor Perevertkin STDCALL
10548a978a17SVictor Perevertkin WDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)(
10558a978a17SVictor Perevertkin     _In_
10568a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
10578a978a17SVictor Perevertkin     _In_
10588a978a17SVictor Perevertkin     PWDFCXDEVICE_INIT CxDeviceInit,
10598a978a17SVictor Perevertkin     _In_
10608a978a17SVictor Perevertkin     PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig,
10618a978a17SVictor Perevertkin     _In_opt_
10628a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
10638a978a17SVictor Perevertkin     );
10648a978a17SVictor Perevertkin 
10658a978a17SVictor Perevertkin WDFAPI
10668a978a17SVictor Perevertkin VOID
10671f377076SVictor Perevertkin STDCALL
10688a978a17SVictor Perevertkin WDFEXPORT(WdfCxVerifierKeBugCheck)(
10698a978a17SVictor Perevertkin     _In_
10708a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
10718a978a17SVictor Perevertkin     _In_opt_
10728a978a17SVictor Perevertkin     WDFOBJECT Object,
10738a978a17SVictor Perevertkin     _In_
10748a978a17SVictor Perevertkin     ULONG BugCheckCode,
10758a978a17SVictor Perevertkin     _In_
10768a978a17SVictor Perevertkin     ULONG_PTR BugCheckParameter1,
10778a978a17SVictor Perevertkin     _In_
10788a978a17SVictor Perevertkin     ULONG_PTR BugCheckParameter2,
10798a978a17SVictor Perevertkin     _In_
10808a978a17SVictor Perevertkin     ULONG_PTR BugCheckParameter3,
10818a978a17SVictor Perevertkin     _In_
10828a978a17SVictor Perevertkin     ULONG_PTR BugCheckParameter4
10838a978a17SVictor Perevertkin     );
10848a978a17SVictor Perevertkin 
10858a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
10868a978a17SVictor Perevertkin WDFAPI
10878a978a17SVictor Perevertkin VOID
10881f377076SVictor Perevertkin STDCALL
10898a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetDeviceState)(
10908a978a17SVictor Perevertkin     _In_
10918a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
10928a978a17SVictor Perevertkin     _In_
10938a978a17SVictor Perevertkin     WDFDEVICE Device,
10948a978a17SVictor Perevertkin     _Out_
10958a978a17SVictor Perevertkin     PWDF_DEVICE_STATE DeviceState
10968a978a17SVictor Perevertkin     );
10978a978a17SVictor Perevertkin 
10988a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
10998a978a17SVictor Perevertkin WDFAPI
11008a978a17SVictor Perevertkin VOID
11011f377076SVictor Perevertkin STDCALL
11028a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetDeviceState)(
11038a978a17SVictor Perevertkin     _In_
11048a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
11058a978a17SVictor Perevertkin     _In_
11068a978a17SVictor Perevertkin     WDFDEVICE Device,
11078a978a17SVictor Perevertkin     _In_
11088a978a17SVictor Perevertkin     PWDF_DEVICE_STATE DeviceState
11098a978a17SVictor Perevertkin     );
11108a978a17SVictor Perevertkin 
11118a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
11128a978a17SVictor Perevertkin WDFAPI
11138a978a17SVictor Perevertkin WDFDEVICE
11141f377076SVictor Perevertkin STDCALL
11158a978a17SVictor Perevertkin WDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle)(
11168a978a17SVictor Perevertkin     _In_
11178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
11188a978a17SVictor Perevertkin     _In_
11198a978a17SVictor Perevertkin     PDEVICE_OBJECT DeviceObject
11208a978a17SVictor Perevertkin     );
11218a978a17SVictor Perevertkin 
11228a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
11238a978a17SVictor Perevertkin WDFAPI
11248a978a17SVictor Perevertkin PDEVICE_OBJECT
11251f377076SVictor Perevertkin STDCALL
11268a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceWdmGetDeviceObject)(
11278a978a17SVictor Perevertkin     _In_
11288a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
11298a978a17SVictor Perevertkin     _In_
11308a978a17SVictor Perevertkin     WDFDEVICE Device
11318a978a17SVictor Perevertkin     );
11328a978a17SVictor Perevertkin 
11338a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
11348a978a17SVictor Perevertkin WDFAPI
11358a978a17SVictor Perevertkin PDEVICE_OBJECT
11361f377076SVictor Perevertkin STDCALL
11378a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceWdmGetAttachedDevice)(
11388a978a17SVictor Perevertkin     _In_
11398a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
11408a978a17SVictor Perevertkin     _In_
11418a978a17SVictor Perevertkin     WDFDEVICE Device
11428a978a17SVictor Perevertkin     );
11438a978a17SVictor Perevertkin 
11448a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
11458a978a17SVictor Perevertkin WDFAPI
11468a978a17SVictor Perevertkin PDEVICE_OBJECT
11471f377076SVictor Perevertkin STDCALL
11488a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceWdmGetPhysicalDevice)(
11498a978a17SVictor Perevertkin     _In_
11508a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
11518a978a17SVictor Perevertkin     _In_
11528a978a17SVictor Perevertkin     WDFDEVICE Device
11538a978a17SVictor Perevertkin     );
11548a978a17SVictor Perevertkin 
11558a978a17SVictor Perevertkin _Must_inspect_result_
11568a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
11578a978a17SVictor Perevertkin WDFAPI
11588a978a17SVictor Perevertkin NTSTATUS
11591f377076SVictor Perevertkin STDCALL
11608a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp)(
11618a978a17SVictor Perevertkin     _In_
11628a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
11638a978a17SVictor Perevertkin     _In_
11648a978a17SVictor Perevertkin     WDFDEVICE Device,
11658a978a17SVictor Perevertkin     _In_
11668a978a17SVictor Perevertkin     PIRP Irp
11678a978a17SVictor Perevertkin     );
11688a978a17SVictor Perevertkin 
11698a978a17SVictor Perevertkin _Must_inspect_result_
11708a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
11718a978a17SVictor Perevertkin WDFAPI
11728a978a17SVictor Perevertkin NTSTATUS
11731f377076SVictor Perevertkin STDCALL
11748a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceWdmDispatchIrp)(
11758a978a17SVictor Perevertkin     _In_
11768a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
11778a978a17SVictor Perevertkin     _In_
11788a978a17SVictor Perevertkin     WDFDEVICE Device,
11798a978a17SVictor Perevertkin     _In_
11808a978a17SVictor Perevertkin     PIRP Irp,
11818a978a17SVictor Perevertkin     _In_
11828a978a17SVictor Perevertkin     WDFCONTEXT DispatchContext
11838a978a17SVictor Perevertkin     );
11848a978a17SVictor Perevertkin 
11858a978a17SVictor Perevertkin _Must_inspect_result_
11868a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
11878a978a17SVictor Perevertkin WDFAPI
11888a978a17SVictor Perevertkin NTSTATUS
11891f377076SVictor Perevertkin STDCALL
11908a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue)(
11918a978a17SVictor Perevertkin     _In_
11928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
11938a978a17SVictor Perevertkin     _In_
11948a978a17SVictor Perevertkin     WDFDEVICE Device,
11958a978a17SVictor Perevertkin     _In_
11968a978a17SVictor Perevertkin     PIRP Irp,
11978a978a17SVictor Perevertkin     _In_
11988a978a17SVictor Perevertkin     WDFQUEUE Queue,
11998a978a17SVictor Perevertkin     _In_
12008a978a17SVictor Perevertkin     ULONG Flags
12018a978a17SVictor Perevertkin     );
12028a978a17SVictor Perevertkin 
12038a978a17SVictor Perevertkin _Must_inspect_result_
12048a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
12058a978a17SVictor Perevertkin WDFAPI
12068a978a17SVictor Perevertkin NTSTATUS
12071f377076SVictor Perevertkin STDCALL
12088a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceAddDependentUsageDeviceObject)(
12098a978a17SVictor Perevertkin     _In_
12108a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
12118a978a17SVictor Perevertkin     _In_
12128a978a17SVictor Perevertkin     WDFDEVICE Device,
12138a978a17SVictor Perevertkin     _In_
12148a978a17SVictor Perevertkin     PDEVICE_OBJECT DependentDevice
12158a978a17SVictor Perevertkin     );
12168a978a17SVictor Perevertkin 
12178a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
12188a978a17SVictor Perevertkin WDFAPI
12198a978a17SVictor Perevertkin VOID
12201f377076SVictor Perevertkin STDCALL
12218a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject)(
12228a978a17SVictor Perevertkin     _In_
12238a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
12248a978a17SVictor Perevertkin     _In_
12258a978a17SVictor Perevertkin     WDFDEVICE Device,
12268a978a17SVictor Perevertkin     _In_
12278a978a17SVictor Perevertkin     PDEVICE_OBJECT DependentDevice
12288a978a17SVictor Perevertkin     );
12298a978a17SVictor Perevertkin 
12308a978a17SVictor Perevertkin _Must_inspect_result_
12318a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
12328a978a17SVictor Perevertkin WDFAPI
12338a978a17SVictor Perevertkin NTSTATUS
12341f377076SVictor Perevertkin STDCALL
12358a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice)(
12368a978a17SVictor Perevertkin     _In_
12378a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
12388a978a17SVictor Perevertkin     _In_
12398a978a17SVictor Perevertkin     WDFDEVICE Device,
12408a978a17SVictor Perevertkin     _In_
12418a978a17SVictor Perevertkin     PDEVICE_OBJECT PhysicalDevice
12428a978a17SVictor Perevertkin     );
12438a978a17SVictor Perevertkin 
12448a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
12458a978a17SVictor Perevertkin WDFAPI
12468a978a17SVictor Perevertkin VOID
12471f377076SVictor Perevertkin STDCALL
12488a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice)(
12498a978a17SVictor Perevertkin     _In_
12508a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
12518a978a17SVictor Perevertkin     _In_
12528a978a17SVictor Perevertkin     WDFDEVICE Device,
12538a978a17SVictor Perevertkin     _In_
12548a978a17SVictor Perevertkin     PDEVICE_OBJECT PhysicalDevice
12558a978a17SVictor Perevertkin     );
12568a978a17SVictor Perevertkin 
12578a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
12588a978a17SVictor Perevertkin WDFAPI
12598a978a17SVictor Perevertkin VOID
12601f377076SVictor Perevertkin STDCALL
12618a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceClearRemovalRelationsDevices)(
12628a978a17SVictor Perevertkin     _In_
12638a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
12648a978a17SVictor Perevertkin     _In_
12658a978a17SVictor Perevertkin     WDFDEVICE Device
12668a978a17SVictor Perevertkin     );
12678a978a17SVictor Perevertkin 
12688a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
12698a978a17SVictor Perevertkin WDFAPI
12708a978a17SVictor Perevertkin WDFDRIVER
12711f377076SVictor Perevertkin STDCALL
12728a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetDriver)(
12738a978a17SVictor Perevertkin     _In_
12748a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
12758a978a17SVictor Perevertkin     _In_
12768a978a17SVictor Perevertkin     WDFDEVICE Device
12778a978a17SVictor Perevertkin     );
12788a978a17SVictor Perevertkin 
12798a978a17SVictor Perevertkin _Must_inspect_result_
12808a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
12818a978a17SVictor Perevertkin WDFAPI
12828a978a17SVictor Perevertkin NTSTATUS
12831f377076SVictor Perevertkin STDCALL
12848a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceRetrieveDeviceName)(
12858a978a17SVictor Perevertkin     _In_
12868a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
12878a978a17SVictor Perevertkin     _In_
12888a978a17SVictor Perevertkin     WDFDEVICE Device,
12898a978a17SVictor Perevertkin     _In_
12908a978a17SVictor Perevertkin     WDFSTRING String
12918a978a17SVictor Perevertkin     );
12928a978a17SVictor Perevertkin 
12938a978a17SVictor Perevertkin _Must_inspect_result_
12948a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
12958a978a17SVictor Perevertkin WDFAPI
12968a978a17SVictor Perevertkin NTSTATUS
12971f377076SVictor Perevertkin STDCALL
12988a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceAssignMofResourceName)(
12998a978a17SVictor Perevertkin     _In_
13008a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
13018a978a17SVictor Perevertkin     _In_
13028a978a17SVictor Perevertkin     WDFDEVICE Device,
13038a978a17SVictor Perevertkin     _In_
13048a978a17SVictor Perevertkin     PCUNICODE_STRING MofResourceName
13058a978a17SVictor Perevertkin     );
13068a978a17SVictor Perevertkin 
13078a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
13088a978a17SVictor Perevertkin WDFAPI
13098a978a17SVictor Perevertkin WDFIOTARGET
13101f377076SVictor Perevertkin STDCALL
13118a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetIoTarget)(
13128a978a17SVictor Perevertkin     _In_
13138a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
13148a978a17SVictor Perevertkin     _In_
13158a978a17SVictor Perevertkin     WDFDEVICE Device
13168a978a17SVictor Perevertkin     );
13178a978a17SVictor Perevertkin 
13188a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
13198a978a17SVictor Perevertkin WDFAPI
13208a978a17SVictor Perevertkin WDF_DEVICE_PNP_STATE
13211f377076SVictor Perevertkin STDCALL
13228a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetDevicePnpState)(
13238a978a17SVictor Perevertkin     _In_
13248a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
13258a978a17SVictor Perevertkin     _In_
13268a978a17SVictor Perevertkin     WDFDEVICE Device
13278a978a17SVictor Perevertkin     );
13288a978a17SVictor Perevertkin 
13298a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
13308a978a17SVictor Perevertkin WDFAPI
13318a978a17SVictor Perevertkin WDF_DEVICE_POWER_STATE
13321f377076SVictor Perevertkin STDCALL
13338a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetDevicePowerState)(
13348a978a17SVictor Perevertkin     _In_
13358a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
13368a978a17SVictor Perevertkin     _In_
13378a978a17SVictor Perevertkin     WDFDEVICE Device
13388a978a17SVictor Perevertkin     );
13398a978a17SVictor Perevertkin 
13408a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
13418a978a17SVictor Perevertkin WDFAPI
13428a978a17SVictor Perevertkin WDF_DEVICE_POWER_POLICY_STATE
13431f377076SVictor Perevertkin STDCALL
13448a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetDevicePowerPolicyState)(
13458a978a17SVictor Perevertkin     _In_
13468a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
13478a978a17SVictor Perevertkin     _In_
13488a978a17SVictor Perevertkin     WDFDEVICE Device
13498a978a17SVictor Perevertkin     );
13508a978a17SVictor Perevertkin 
13518a978a17SVictor Perevertkin _Must_inspect_result_
13528a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
13538a978a17SVictor Perevertkin WDFAPI
13548a978a17SVictor Perevertkin NTSTATUS
13551f377076SVictor Perevertkin STDCALL
13568a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceAssignS0IdleSettings)(
13578a978a17SVictor Perevertkin     _In_
13588a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
13598a978a17SVictor Perevertkin     _In_
13608a978a17SVictor Perevertkin     WDFDEVICE Device,
13618a978a17SVictor Perevertkin     _In_
13628a978a17SVictor Perevertkin     PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
13638a978a17SVictor Perevertkin     );
13648a978a17SVictor Perevertkin 
13658a978a17SVictor Perevertkin _Must_inspect_result_
13668a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
13678a978a17SVictor Perevertkin WDFAPI
13688a978a17SVictor Perevertkin NTSTATUS
13691f377076SVictor Perevertkin STDCALL
13708a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceAssignSxWakeSettings)(
13718a978a17SVictor Perevertkin     _In_
13728a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
13738a978a17SVictor Perevertkin     _In_
13748a978a17SVictor Perevertkin     WDFDEVICE Device,
13758a978a17SVictor Perevertkin     _In_
13768a978a17SVictor Perevertkin     PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings
13778a978a17SVictor Perevertkin     );
13788a978a17SVictor Perevertkin 
13798a978a17SVictor Perevertkin _Must_inspect_result_
13808a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
13818a978a17SVictor Perevertkin WDFAPI
13828a978a17SVictor Perevertkin NTSTATUS
13831f377076SVictor Perevertkin STDCALL
13848a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceOpenRegistryKey)(
13858a978a17SVictor Perevertkin     _In_
13868a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
13878a978a17SVictor Perevertkin     _In_
13888a978a17SVictor Perevertkin     WDFDEVICE Device,
13898a978a17SVictor Perevertkin     _In_
13908a978a17SVictor Perevertkin     ULONG DeviceInstanceKeyType,
13918a978a17SVictor Perevertkin     _In_
13928a978a17SVictor Perevertkin     ACCESS_MASK DesiredAccess,
13938a978a17SVictor Perevertkin     _In_opt_
13948a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES KeyAttributes,
13958a978a17SVictor Perevertkin     _Out_
13968a978a17SVictor Perevertkin     WDFKEY* Key
13978a978a17SVictor Perevertkin     );
13988a978a17SVictor Perevertkin 
13998a978a17SVictor Perevertkin _Must_inspect_result_
14008a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
14018a978a17SVictor Perevertkin WDFAPI
14028a978a17SVictor Perevertkin NTSTATUS
14031f377076SVictor Perevertkin STDCALL
14048a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceOpenDevicemapKey)(
14058a978a17SVictor Perevertkin     _In_
14068a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
14078a978a17SVictor Perevertkin     _In_
14088a978a17SVictor Perevertkin     WDFDEVICE Device,
14098a978a17SVictor Perevertkin     _In_
14108a978a17SVictor Perevertkin     PCUNICODE_STRING KeyName,
14118a978a17SVictor Perevertkin     _In_
14128a978a17SVictor Perevertkin     ACCESS_MASK DesiredAccess,
14138a978a17SVictor Perevertkin     _In_opt_
14148a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES KeyAttributes,
14158a978a17SVictor Perevertkin     _Out_
14168a978a17SVictor Perevertkin     WDFKEY* Key
14178a978a17SVictor Perevertkin     );
14188a978a17SVictor Perevertkin 
14198a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
14208a978a17SVictor Perevertkin WDFAPI
14218a978a17SVictor Perevertkin VOID
14221f377076SVictor Perevertkin STDCALL
14238a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetSpecialFileSupport)(
14248a978a17SVictor Perevertkin     _In_
14258a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
14268a978a17SVictor Perevertkin     _In_
14278a978a17SVictor Perevertkin     WDFDEVICE Device,
14288a978a17SVictor Perevertkin     _In_
14298a978a17SVictor Perevertkin     WDF_SPECIAL_FILE_TYPE FileType,
14308a978a17SVictor Perevertkin     _In_
14318a978a17SVictor Perevertkin     BOOLEAN FileTypeIsSupported
14328a978a17SVictor Perevertkin     );
14338a978a17SVictor Perevertkin 
14348a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
14358a978a17SVictor Perevertkin WDFAPI
14368a978a17SVictor Perevertkin VOID
14371f377076SVictor Perevertkin STDCALL
14388a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetCharacteristics)(
14398a978a17SVictor Perevertkin     _In_
14408a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
14418a978a17SVictor Perevertkin     _In_
14428a978a17SVictor Perevertkin     WDFDEVICE Device,
14438a978a17SVictor Perevertkin     _In_
14448a978a17SVictor Perevertkin     ULONG DeviceCharacteristics
14458a978a17SVictor Perevertkin     );
14468a978a17SVictor Perevertkin 
14478a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
14488a978a17SVictor Perevertkin WDFAPI
14498a978a17SVictor Perevertkin ULONG
14501f377076SVictor Perevertkin STDCALL
14518a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetCharacteristics)(
14528a978a17SVictor Perevertkin     _In_
14538a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
14548a978a17SVictor Perevertkin     _In_
14558a978a17SVictor Perevertkin     WDFDEVICE Device
14568a978a17SVictor Perevertkin     );
14578a978a17SVictor Perevertkin 
14588a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
14598a978a17SVictor Perevertkin WDFAPI
14608a978a17SVictor Perevertkin ULONG
14611f377076SVictor Perevertkin STDCALL
14628a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetAlignmentRequirement)(
14638a978a17SVictor Perevertkin     _In_
14648a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
14658a978a17SVictor Perevertkin     _In_
14668a978a17SVictor Perevertkin     WDFDEVICE Device
14678a978a17SVictor Perevertkin     );
14688a978a17SVictor Perevertkin 
14698a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
14708a978a17SVictor Perevertkin WDFAPI
14718a978a17SVictor Perevertkin VOID
14721f377076SVictor Perevertkin STDCALL
14738a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetAlignmentRequirement)(
14748a978a17SVictor Perevertkin     _In_
14758a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
14768a978a17SVictor Perevertkin     _In_
14778a978a17SVictor Perevertkin     WDFDEVICE Device,
14788a978a17SVictor Perevertkin     _In_
14798a978a17SVictor Perevertkin     ULONG AlignmentRequirement
14808a978a17SVictor Perevertkin     );
14818a978a17SVictor Perevertkin 
14828a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
14838a978a17SVictor Perevertkin WDFAPI
14848a978a17SVictor Perevertkin VOID
14851f377076SVictor Perevertkin STDCALL
14868a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitFree)(
14878a978a17SVictor Perevertkin     _In_
14888a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
14898a978a17SVictor Perevertkin     _In_
14908a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit
14918a978a17SVictor Perevertkin     );
14928a978a17SVictor Perevertkin 
14938a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
14948a978a17SVictor Perevertkin WDFAPI
14958a978a17SVictor Perevertkin VOID
14961f377076SVictor Perevertkin STDCALL
14978a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)(
14988a978a17SVictor Perevertkin     _In_
14998a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
15008a978a17SVictor Perevertkin     _In_
15018a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
15028a978a17SVictor Perevertkin     _In_
15038a978a17SVictor Perevertkin     PWDF_PNPPOWER_EVENT_CALLBACKS PnpPowerEventCallbacks
15048a978a17SVictor Perevertkin     );
15058a978a17SVictor Perevertkin 
15068a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
15078a978a17SVictor Perevertkin WDFAPI
15088a978a17SVictor Perevertkin VOID
15091f377076SVictor Perevertkin STDCALL
15108a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)(
15118a978a17SVictor Perevertkin     _In_
15128a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
15138a978a17SVictor Perevertkin     _In_
15148a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
15158a978a17SVictor Perevertkin     _In_
15168a978a17SVictor Perevertkin     PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks
15178a978a17SVictor Perevertkin     );
15188a978a17SVictor Perevertkin 
15198a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
15208a978a17SVictor Perevertkin WDFAPI
15218a978a17SVictor Perevertkin VOID
15221f377076SVictor Perevertkin STDCALL
15238a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)(
15248a978a17SVictor Perevertkin     _In_
15258a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
15268a978a17SVictor Perevertkin     _In_
15278a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
15288a978a17SVictor Perevertkin     _In_
15298a978a17SVictor Perevertkin     BOOLEAN IsPowerPolicyOwner
15308a978a17SVictor Perevertkin     );
15318a978a17SVictor Perevertkin 
15328a978a17SVictor Perevertkin _Must_inspect_result_
15338a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
15348a978a17SVictor Perevertkin WDFAPI
15358a978a17SVictor Perevertkin NTSTATUS
15361f377076SVictor Perevertkin STDCALL
15378a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback)(
15388a978a17SVictor Perevertkin     _In_
15398a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
15408a978a17SVictor Perevertkin     _In_
15418a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
15428a978a17SVictor Perevertkin     _In_
15438a978a17SVictor Perevertkin     WDF_DEVICE_PNP_STATE PnpState,
15448a978a17SVictor Perevertkin     _In_
15458a978a17SVictor Perevertkin     PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange,
15468a978a17SVictor Perevertkin     _In_
15478a978a17SVictor Perevertkin     ULONG CallbackTypes
15488a978a17SVictor Perevertkin     );
15498a978a17SVictor Perevertkin 
15508a978a17SVictor Perevertkin _Must_inspect_result_
15518a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
15528a978a17SVictor Perevertkin WDFAPI
15538a978a17SVictor Perevertkin NTSTATUS
15541f377076SVictor Perevertkin STDCALL
15558a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback)(
15568a978a17SVictor Perevertkin     _In_
15578a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
15588a978a17SVictor Perevertkin     _In_
15598a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
15608a978a17SVictor Perevertkin     _In_
15618a978a17SVictor Perevertkin     WDF_DEVICE_POWER_STATE PowerState,
15628a978a17SVictor Perevertkin     _In_
15638a978a17SVictor Perevertkin     PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange,
15648a978a17SVictor Perevertkin     _In_
15658a978a17SVictor Perevertkin     ULONG CallbackTypes
15668a978a17SVictor Perevertkin     );
15678a978a17SVictor Perevertkin 
15688a978a17SVictor Perevertkin _Must_inspect_result_
15698a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
15708a978a17SVictor Perevertkin WDFAPI
15718a978a17SVictor Perevertkin NTSTATUS
15721f377076SVictor Perevertkin STDCALL
15738a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback)(
15748a978a17SVictor Perevertkin     _In_
15758a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
15768a978a17SVictor Perevertkin     _In_
15778a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
15788a978a17SVictor Perevertkin     _In_
15798a978a17SVictor Perevertkin     WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState,
15808a978a17SVictor Perevertkin     _In_
15818a978a17SVictor Perevertkin     PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION EvtDevicePowerPolicyStateChange,
15828a978a17SVictor Perevertkin     _In_
15838a978a17SVictor Perevertkin     ULONG CallbackTypes
15848a978a17SVictor Perevertkin     );
15858a978a17SVictor Perevertkin 
15868a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
15878a978a17SVictor Perevertkin WDFAPI
15888a978a17SVictor Perevertkin VOID
15891f377076SVictor Perevertkin STDCALL
15908a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetExclusive)(
15918a978a17SVictor Perevertkin     _In_
15928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
15938a978a17SVictor Perevertkin     _In_
15948a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
15958a978a17SVictor Perevertkin     _In_
15968a978a17SVictor Perevertkin     BOOLEAN IsExclusive
15978a978a17SVictor Perevertkin     );
15988a978a17SVictor Perevertkin 
15998a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
16008a978a17SVictor Perevertkin WDFAPI
16018a978a17SVictor Perevertkin VOID
16021f377076SVictor Perevertkin STDCALL
16038a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetIoType)(
16048a978a17SVictor Perevertkin     _In_
16058a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
16068a978a17SVictor Perevertkin     _In_
16078a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
16088a978a17SVictor Perevertkin     _In_
16098a978a17SVictor Perevertkin     WDF_DEVICE_IO_TYPE IoType
16108a978a17SVictor Perevertkin     );
16118a978a17SVictor Perevertkin 
16128a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
16138a978a17SVictor Perevertkin WDFAPI
16148a978a17SVictor Perevertkin VOID
16151f377076SVictor Perevertkin STDCALL
16168a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetPowerNotPageable)(
16178a978a17SVictor Perevertkin     _In_
16188a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
16198a978a17SVictor Perevertkin     _In_
16208a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit
16218a978a17SVictor Perevertkin     );
16228a978a17SVictor Perevertkin 
16238a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
16248a978a17SVictor Perevertkin WDFAPI
16258a978a17SVictor Perevertkin VOID
16261f377076SVictor Perevertkin STDCALL
16278a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetPowerPageable)(
16288a978a17SVictor Perevertkin     _In_
16298a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
16308a978a17SVictor Perevertkin     _In_
16318a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit
16328a978a17SVictor Perevertkin     );
16338a978a17SVictor Perevertkin 
16348a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
16358a978a17SVictor Perevertkin WDFAPI
16368a978a17SVictor Perevertkin VOID
16371f377076SVictor Perevertkin STDCALL
16388a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetPowerInrush)(
16398a978a17SVictor Perevertkin     _In_
16408a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
16418a978a17SVictor Perevertkin     _In_
16428a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit
16438a978a17SVictor Perevertkin     );
16448a978a17SVictor Perevertkin 
16458a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
16468a978a17SVictor Perevertkin WDFAPI
16478a978a17SVictor Perevertkin VOID
16481f377076SVictor Perevertkin STDCALL
16498a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetDeviceType)(
16508a978a17SVictor Perevertkin     _In_
16518a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
16528a978a17SVictor Perevertkin     _In_
16538a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
16548a978a17SVictor Perevertkin     _In_
16558a978a17SVictor Perevertkin     DEVICE_TYPE DeviceType
16568a978a17SVictor Perevertkin     );
16578a978a17SVictor Perevertkin 
16588a978a17SVictor Perevertkin _Must_inspect_result_
16598a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
16608a978a17SVictor Perevertkin WDFAPI
16618a978a17SVictor Perevertkin NTSTATUS
16621f377076SVictor Perevertkin STDCALL
16638a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitAssignName)(
16648a978a17SVictor Perevertkin     _In_
16658a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
16668a978a17SVictor Perevertkin     _In_
16678a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
16688a978a17SVictor Perevertkin     _In_opt_
16698a978a17SVictor Perevertkin     PCUNICODE_STRING DeviceName
16708a978a17SVictor Perevertkin     );
16718a978a17SVictor Perevertkin 
16728a978a17SVictor Perevertkin _Must_inspect_result_
16738a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
16748a978a17SVictor Perevertkin WDFAPI
16758a978a17SVictor Perevertkin NTSTATUS
16761f377076SVictor Perevertkin STDCALL
16778a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitAssignSDDLString)(
16788a978a17SVictor Perevertkin     _In_
16798a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
16808a978a17SVictor Perevertkin     _In_
16818a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
16828a978a17SVictor Perevertkin     _In_opt_
16838a978a17SVictor Perevertkin     PCUNICODE_STRING SDDLString
16848a978a17SVictor Perevertkin     );
16858a978a17SVictor Perevertkin 
16868a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
16878a978a17SVictor Perevertkin WDFAPI
16888a978a17SVictor Perevertkin VOID
16891f377076SVictor Perevertkin STDCALL
16908a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetDeviceClass)(
16918a978a17SVictor Perevertkin     _In_
16928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
16938a978a17SVictor Perevertkin     _In_
16948a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
16958a978a17SVictor Perevertkin     _In_
16968a978a17SVictor Perevertkin     CONST GUID* DeviceClassGuid
16978a978a17SVictor Perevertkin     );
16988a978a17SVictor Perevertkin 
16998a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
17008a978a17SVictor Perevertkin WDFAPI
17018a978a17SVictor Perevertkin VOID
17021f377076SVictor Perevertkin STDCALL
17038a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetCharacteristics)(
17048a978a17SVictor Perevertkin     _In_
17058a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
17068a978a17SVictor Perevertkin     _In_
17078a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
17088a978a17SVictor Perevertkin     _In_
17098a978a17SVictor Perevertkin     ULONG DeviceCharacteristics,
17108a978a17SVictor Perevertkin     _In_
17118a978a17SVictor Perevertkin     BOOLEAN OrInValues
17128a978a17SVictor Perevertkin     );
17138a978a17SVictor Perevertkin 
17148a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
17158a978a17SVictor Perevertkin WDFAPI
17168a978a17SVictor Perevertkin VOID
17171f377076SVictor Perevertkin STDCALL
17188a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetFileObjectConfig)(
17198a978a17SVictor Perevertkin     _In_
17208a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
17218a978a17SVictor Perevertkin     _In_
17228a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
17238a978a17SVictor Perevertkin     _In_
17248a978a17SVictor Perevertkin     PWDF_FILEOBJECT_CONFIG FileObjectConfig,
17258a978a17SVictor Perevertkin     _In_opt_
17268a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
17278a978a17SVictor Perevertkin     );
17288a978a17SVictor Perevertkin 
17298a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
17308a978a17SVictor Perevertkin WDFAPI
17318a978a17SVictor Perevertkin VOID
17321f377076SVictor Perevertkin STDCALL
17338a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetRequestAttributes)(
17348a978a17SVictor Perevertkin     _In_
17358a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
17368a978a17SVictor Perevertkin     _In_
17378a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
17388a978a17SVictor Perevertkin     _In_
17398a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES RequestAttributes
17408a978a17SVictor Perevertkin     );
17418a978a17SVictor Perevertkin 
17428a978a17SVictor Perevertkin _Must_inspect_result_
17438a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
17448a978a17SVictor Perevertkin WDFAPI
17458a978a17SVictor Perevertkin NTSTATUS
17461f377076SVictor Perevertkin STDCALL
17478a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback)(
17488a978a17SVictor Perevertkin     _In_
17498a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
17508a978a17SVictor Perevertkin     _In_
17518a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
17528a978a17SVictor Perevertkin     _In_
17538a978a17SVictor Perevertkin     PFN_WDFDEVICE_WDM_IRP_PREPROCESS EvtDeviceWdmIrpPreprocess,
17548a978a17SVictor Perevertkin     _In_
17558a978a17SVictor Perevertkin     UCHAR MajorFunction,
17568a978a17SVictor Perevertkin     _When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions))
17578a978a17SVictor Perevertkin     _When_(NumMinorFunctions == 0, _In_opt_)
17588a978a17SVictor Perevertkin     PUCHAR MinorFunctions,
17598a978a17SVictor Perevertkin     _In_
17608a978a17SVictor Perevertkin     ULONG NumMinorFunctions
17618a978a17SVictor Perevertkin     );
17628a978a17SVictor Perevertkin 
17638a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
17648a978a17SVictor Perevertkin WDFAPI
17658a978a17SVictor Perevertkin VOID
17661f377076SVictor Perevertkin STDCALL
17678a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback)(
17688a978a17SVictor Perevertkin     _In_
17698a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
17708a978a17SVictor Perevertkin     _In_
17718a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
17728a978a17SVictor Perevertkin     _In_
17738a978a17SVictor Perevertkin     PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
17748a978a17SVictor Perevertkin     );
17758a978a17SVictor Perevertkin 
17768a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
17778a978a17SVictor Perevertkin WDFAPI
17788a978a17SVictor Perevertkin VOID
17791f377076SVictor Perevertkin STDCALL
17808a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetRemoveLockOptions)(
17818a978a17SVictor Perevertkin     _In_
17828a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
17838a978a17SVictor Perevertkin     _In_
17848a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
17858a978a17SVictor Perevertkin     _In_
17868a978a17SVictor Perevertkin     PWDF_REMOVE_LOCK_OPTIONS Options
17878a978a17SVictor Perevertkin     );
17888a978a17SVictor Perevertkin 
17898a978a17SVictor Perevertkin _Must_inspect_result_
17908a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
17918a978a17SVictor Perevertkin WDFAPI
17928a978a17SVictor Perevertkin NTSTATUS
17931f377076SVictor Perevertkin STDCALL
17948a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceCreate)(
17958a978a17SVictor Perevertkin     _In_
17968a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
17978a978a17SVictor Perevertkin     _Inout_
17988a978a17SVictor Perevertkin     PWDFDEVICE_INIT* DeviceInit,
17998a978a17SVictor Perevertkin     _In_opt_
18008a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES DeviceAttributes,
18018a978a17SVictor Perevertkin     _Out_
18028a978a17SVictor Perevertkin     WDFDEVICE* Device
18038a978a17SVictor Perevertkin     );
18048a978a17SVictor Perevertkin 
18058a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
18068a978a17SVictor Perevertkin WDFAPI
18078a978a17SVictor Perevertkin VOID
18081f377076SVictor Perevertkin STDCALL
18098a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetStaticStopRemove)(
18108a978a17SVictor Perevertkin     _In_
18118a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
18128a978a17SVictor Perevertkin     _In_
18138a978a17SVictor Perevertkin     WDFDEVICE Device,
18148a978a17SVictor Perevertkin     _In_
18158a978a17SVictor Perevertkin     BOOLEAN Stoppable
18168a978a17SVictor Perevertkin     );
18178a978a17SVictor Perevertkin 
18188a978a17SVictor Perevertkin _Must_inspect_result_
18198a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
18208a978a17SVictor Perevertkin WDFAPI
18218a978a17SVictor Perevertkin NTSTATUS
18221f377076SVictor Perevertkin STDCALL
18238a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceCreateDeviceInterface)(
18248a978a17SVictor Perevertkin     _In_
18258a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
18268a978a17SVictor Perevertkin     _In_
18278a978a17SVictor Perevertkin     WDFDEVICE Device,
18288a978a17SVictor Perevertkin     _In_
18298a978a17SVictor Perevertkin     CONST GUID* InterfaceClassGUID,
18308a978a17SVictor Perevertkin     _In_opt_
18318a978a17SVictor Perevertkin     PCUNICODE_STRING ReferenceString
18328a978a17SVictor Perevertkin     );
18338a978a17SVictor Perevertkin 
18348a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
18358a978a17SVictor Perevertkin WDFAPI
18368a978a17SVictor Perevertkin VOID
18371f377076SVictor Perevertkin STDCALL
18388a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetDeviceInterfaceState)(
18398a978a17SVictor Perevertkin     _In_
18408a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
18418a978a17SVictor Perevertkin     _In_
18428a978a17SVictor Perevertkin     WDFDEVICE Device,
18438a978a17SVictor Perevertkin     _In_
18448a978a17SVictor Perevertkin     CONST GUID* InterfaceClassGUID,
18458a978a17SVictor Perevertkin     _In_opt_
18468a978a17SVictor Perevertkin     PCUNICODE_STRING ReferenceString,
18478a978a17SVictor Perevertkin     _In_
18488a978a17SVictor Perevertkin     BOOLEAN IsInterfaceEnabled
18498a978a17SVictor Perevertkin     );
18508a978a17SVictor Perevertkin 
18518a978a17SVictor Perevertkin _Must_inspect_result_
18528a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
18538a978a17SVictor Perevertkin WDFAPI
18548a978a17SVictor Perevertkin NTSTATUS
18551f377076SVictor Perevertkin STDCALL
18568a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)(
18578a978a17SVictor Perevertkin     _In_
18588a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
18598a978a17SVictor Perevertkin     _In_
18608a978a17SVictor Perevertkin     WDFDEVICE Device,
18618a978a17SVictor Perevertkin     _In_
18628a978a17SVictor Perevertkin     CONST GUID* InterfaceClassGUID,
18638a978a17SVictor Perevertkin     _In_opt_
18648a978a17SVictor Perevertkin     PCUNICODE_STRING ReferenceString,
18658a978a17SVictor Perevertkin     _In_
18668a978a17SVictor Perevertkin     WDFSTRING String
18678a978a17SVictor Perevertkin     );
18688a978a17SVictor Perevertkin 
18698a978a17SVictor Perevertkin _Must_inspect_result_
18708a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
18718a978a17SVictor Perevertkin WDFAPI
18728a978a17SVictor Perevertkin NTSTATUS
18731f377076SVictor Perevertkin STDCALL
18748a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceCreateSymbolicLink)(
18758a978a17SVictor Perevertkin     _In_
18768a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
18778a978a17SVictor Perevertkin     _In_
18788a978a17SVictor Perevertkin     WDFDEVICE Device,
18798a978a17SVictor Perevertkin     _In_
18808a978a17SVictor Perevertkin     PCUNICODE_STRING SymbolicLinkName
18818a978a17SVictor Perevertkin     );
18828a978a17SVictor Perevertkin 
18838a978a17SVictor Perevertkin _Must_inspect_result_
18848a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
18858a978a17SVictor Perevertkin WDFAPI
18868a978a17SVictor Perevertkin NTSTATUS
18871f377076SVictor Perevertkin STDCALL
18888a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceQueryProperty)(
18898a978a17SVictor Perevertkin     _In_
18908a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
18918a978a17SVictor Perevertkin     _In_
18928a978a17SVictor Perevertkin     WDFDEVICE Device,
18938a978a17SVictor Perevertkin     _In_
18948a978a17SVictor Perevertkin     DEVICE_REGISTRY_PROPERTY DeviceProperty,
18958a978a17SVictor Perevertkin     _In_
18968a978a17SVictor Perevertkin     ULONG BufferLength,
18978a978a17SVictor Perevertkin     _Out_writes_bytes_all_(BufferLength)
18988a978a17SVictor Perevertkin     PVOID PropertyBuffer,
18998a978a17SVictor Perevertkin     _Out_
19008a978a17SVictor Perevertkin     PULONG ResultLength
19018a978a17SVictor Perevertkin     );
19028a978a17SVictor Perevertkin 
19038a978a17SVictor Perevertkin _Must_inspect_result_
19048a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
19058a978a17SVictor Perevertkin WDFAPI
19068a978a17SVictor Perevertkin NTSTATUS
19071f377076SVictor Perevertkin STDCALL
19088a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceAllocAndQueryProperty)(
19098a978a17SVictor Perevertkin     _In_
19108a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
19118a978a17SVictor Perevertkin     _In_
19128a978a17SVictor Perevertkin     WDFDEVICE Device,
19138a978a17SVictor Perevertkin     _In_
19148a978a17SVictor Perevertkin     DEVICE_REGISTRY_PROPERTY DeviceProperty,
19158a978a17SVictor Perevertkin     _In_
19168a978a17SVictor Perevertkin     _Strict_type_match_
19178a978a17SVictor Perevertkin     POOL_TYPE PoolType,
19188a978a17SVictor Perevertkin     _In_opt_
19198a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
19208a978a17SVictor Perevertkin     _Out_
19218a978a17SVictor Perevertkin     WDFMEMORY* PropertyMemory
19228a978a17SVictor Perevertkin     );
19238a978a17SVictor Perevertkin 
19248a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
19258a978a17SVictor Perevertkin WDFAPI
19268a978a17SVictor Perevertkin VOID
19271f377076SVictor Perevertkin STDCALL
19288a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetPnpCapabilities)(
19298a978a17SVictor Perevertkin     _In_
19308a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
19318a978a17SVictor Perevertkin     _In_
19328a978a17SVictor Perevertkin     WDFDEVICE Device,
19338a978a17SVictor Perevertkin     _In_
19348a978a17SVictor Perevertkin     PWDF_DEVICE_PNP_CAPABILITIES PnpCapabilities
19358a978a17SVictor Perevertkin     );
19368a978a17SVictor Perevertkin 
19378a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
19388a978a17SVictor Perevertkin WDFAPI
19398a978a17SVictor Perevertkin VOID
19401f377076SVictor Perevertkin STDCALL
19418a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetPowerCapabilities)(
19428a978a17SVictor Perevertkin     _In_
19438a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
19448a978a17SVictor Perevertkin     _In_
19458a978a17SVictor Perevertkin     WDFDEVICE Device,
19468a978a17SVictor Perevertkin     _In_
19478a978a17SVictor Perevertkin     PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
19488a978a17SVictor Perevertkin     );
19498a978a17SVictor Perevertkin 
19508a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
19518a978a17SVictor Perevertkin WDFAPI
19528a978a17SVictor Perevertkin VOID
19531f377076SVictor Perevertkin STDCALL
19548a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetBusInformationForChildren)(
19558a978a17SVictor Perevertkin     _In_
19568a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
19578a978a17SVictor Perevertkin     _In_
19588a978a17SVictor Perevertkin     WDFDEVICE Device,
19598a978a17SVictor Perevertkin     _In_
19608a978a17SVictor Perevertkin     PPNP_BUS_INFORMATION BusInformation
19618a978a17SVictor Perevertkin     );
19628a978a17SVictor Perevertkin 
19638a978a17SVictor Perevertkin _Must_inspect_result_
19648a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
19658a978a17SVictor Perevertkin WDFAPI
19668a978a17SVictor Perevertkin NTSTATUS
19671f377076SVictor Perevertkin STDCALL
19688a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceIndicateWakeStatus)(
19698a978a17SVictor Perevertkin     _In_
19708a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
19718a978a17SVictor Perevertkin     _In_
19728a978a17SVictor Perevertkin     WDFDEVICE Device,
19738a978a17SVictor Perevertkin     _In_
19748a978a17SVictor Perevertkin     NTSTATUS WaitWakeStatus
19758a978a17SVictor Perevertkin     );
19768a978a17SVictor Perevertkin 
19778a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
19788a978a17SVictor Perevertkin WDFAPI
19798a978a17SVictor Perevertkin VOID
19801f377076SVictor Perevertkin STDCALL
19818a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceSetFailed)(
19828a978a17SVictor Perevertkin     _In_
19838a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
19848a978a17SVictor Perevertkin     _In_
19858a978a17SVictor Perevertkin     WDFDEVICE Device,
19868a978a17SVictor Perevertkin     _In_
19878a978a17SVictor Perevertkin     WDF_DEVICE_FAILED_ACTION FailedAction
19888a978a17SVictor Perevertkin     );
19898a978a17SVictor Perevertkin 
19908a978a17SVictor Perevertkin _Must_inspect_result_
19918a978a17SVictor Perevertkin _When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL))
19928a978a17SVictor Perevertkin _When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL))
19938a978a17SVictor Perevertkin WDFAPI
19948a978a17SVictor Perevertkin NTSTATUS
19951f377076SVictor Perevertkin STDCALL
19968a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceStopIdleNoTrack)(
19978a978a17SVictor Perevertkin     _In_
19988a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
19998a978a17SVictor Perevertkin     _In_
20008a978a17SVictor Perevertkin     WDFDEVICE Device,
20018a978a17SVictor Perevertkin     _In_
20028a978a17SVictor Perevertkin     BOOLEAN WaitForD0
20038a978a17SVictor Perevertkin     );
20048a978a17SVictor Perevertkin 
20058a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
20068a978a17SVictor Perevertkin WDFAPI
20078a978a17SVictor Perevertkin VOID
20081f377076SVictor Perevertkin STDCALL
20098a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceResumeIdleNoTrack)(
20108a978a17SVictor Perevertkin     _In_
20118a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
20128a978a17SVictor Perevertkin     _In_
20138a978a17SVictor Perevertkin     WDFDEVICE Device
20148a978a17SVictor Perevertkin     );
20158a978a17SVictor Perevertkin 
20168a978a17SVictor Perevertkin _Must_inspect_result_
20178a978a17SVictor Perevertkin _When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL))
20188a978a17SVictor Perevertkin _When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL))
20198a978a17SVictor Perevertkin WDFAPI
20208a978a17SVictor Perevertkin NTSTATUS
20211f377076SVictor Perevertkin STDCALL
20228a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceStopIdleActual)(
20238a978a17SVictor Perevertkin     _In_
20248a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
20258a978a17SVictor Perevertkin     _In_
20268a978a17SVictor Perevertkin     WDFDEVICE Device,
20278a978a17SVictor Perevertkin     _In_
20288a978a17SVictor Perevertkin     BOOLEAN WaitForD0,
20298a978a17SVictor Perevertkin     _In_opt_
20308a978a17SVictor Perevertkin     PVOID Tag,
20318a978a17SVictor Perevertkin     _In_
20328a978a17SVictor Perevertkin     LONG Line,
20338a978a17SVictor Perevertkin     _In_z_
20348a978a17SVictor Perevertkin     PCHAR File
20358a978a17SVictor Perevertkin     );
20368a978a17SVictor Perevertkin 
20378a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
20388a978a17SVictor Perevertkin WDFAPI
20398a978a17SVictor Perevertkin VOID
20401f377076SVictor Perevertkin STDCALL
20418a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceResumeIdleActual)(
20428a978a17SVictor Perevertkin     _In_
20438a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
20448a978a17SVictor Perevertkin     _In_
20458a978a17SVictor Perevertkin     WDFDEVICE Device,
20468a978a17SVictor Perevertkin     _In_opt_
20478a978a17SVictor Perevertkin     PVOID Tag,
20488a978a17SVictor Perevertkin     _In_
20498a978a17SVictor Perevertkin     LONG Line,
20508a978a17SVictor Perevertkin     _In_z_
20518a978a17SVictor Perevertkin     PCHAR File
20528a978a17SVictor Perevertkin     );
20538a978a17SVictor Perevertkin 
20548a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
20558a978a17SVictor Perevertkin WDFAPI
20568a978a17SVictor Perevertkin WDFFILEOBJECT
20571f377076SVictor Perevertkin STDCALL
20588a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetFileObject)(
20598a978a17SVictor Perevertkin     _In_
20608a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
20618a978a17SVictor Perevertkin     _In_
20628a978a17SVictor Perevertkin     WDFDEVICE Device,
20638a978a17SVictor Perevertkin     _In_
20648a978a17SVictor Perevertkin     PFILE_OBJECT FileObject
20658a978a17SVictor Perevertkin     );
20668a978a17SVictor Perevertkin 
20678a978a17SVictor Perevertkin _Must_inspect_result_
20688a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
20698a978a17SVictor Perevertkin WDFAPI
20708a978a17SVictor Perevertkin NTSTATUS
20711f377076SVictor Perevertkin STDCALL
20728a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceEnqueueRequest)(
20738a978a17SVictor Perevertkin     _In_
20748a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
20758a978a17SVictor Perevertkin     _In_
20768a978a17SVictor Perevertkin     WDFDEVICE Device,
20778a978a17SVictor Perevertkin     _In_
20788a978a17SVictor Perevertkin     WDFREQUEST Request
20798a978a17SVictor Perevertkin     );
20808a978a17SVictor Perevertkin 
20818a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
20828a978a17SVictor Perevertkin WDFAPI
20838a978a17SVictor Perevertkin WDFQUEUE
20841f377076SVictor Perevertkin STDCALL
20858a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetDefaultQueue)(
20868a978a17SVictor Perevertkin     _In_
20878a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
20888a978a17SVictor Perevertkin     _In_
20898a978a17SVictor Perevertkin     WDFDEVICE Device
20908a978a17SVictor Perevertkin     );
20918a978a17SVictor Perevertkin 
20928a978a17SVictor Perevertkin _Must_inspect_result_
20938a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
20948a978a17SVictor Perevertkin WDFAPI
20958a978a17SVictor Perevertkin NTSTATUS
20961f377076SVictor Perevertkin STDCALL
20978a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceConfigureRequestDispatching)(
20988a978a17SVictor Perevertkin     _In_
20998a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
21008a978a17SVictor Perevertkin     _In_
21018a978a17SVictor Perevertkin     WDFDEVICE Device,
21028a978a17SVictor Perevertkin     _In_
21038a978a17SVictor Perevertkin     WDFQUEUE Queue,
21048a978a17SVictor Perevertkin     _In_
21058a978a17SVictor Perevertkin     _Strict_type_match_
21068a978a17SVictor Perevertkin     WDF_REQUEST_TYPE RequestType
21078a978a17SVictor Perevertkin     );
21088a978a17SVictor Perevertkin 
21098a978a17SVictor Perevertkin _Must_inspect_result_
21108a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
21118a978a17SVictor Perevertkin WDFAPI
21128a978a17SVictor Perevertkin NTSTATUS
21131f377076SVictor Perevertkin STDCALL
21148a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)(
21158a978a17SVictor Perevertkin     _In_
21168a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
21178a978a17SVictor Perevertkin     _In_
21188a978a17SVictor Perevertkin     WDFDEVICE Device,
21198a978a17SVictor Perevertkin     _In_opt_
21208a978a17SVictor Perevertkin     WDFDRIVER Driver,
21218a978a17SVictor Perevertkin     _In_
21228a978a17SVictor Perevertkin     UCHAR MajorFunction,
21238a978a17SVictor Perevertkin     _In_
21248a978a17SVictor Perevertkin     PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDisptach,
21258a978a17SVictor Perevertkin     _In_opt_
21268a978a17SVictor Perevertkin     WDFCONTEXT DriverContext
21278a978a17SVictor Perevertkin     );
21288a978a17SVictor Perevertkin 
21298a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
21308a978a17SVictor Perevertkin WDFAPI
21318a978a17SVictor Perevertkin POWER_ACTION
21321f377076SVictor Perevertkin STDCALL
21338a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetSystemPowerAction)(
21348a978a17SVictor Perevertkin     _In_
21358a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
21368a978a17SVictor Perevertkin     _In_
21378a978a17SVictor Perevertkin     WDFDEVICE Device
21388a978a17SVictor Perevertkin     );
21398a978a17SVictor Perevertkin 
21408a978a17SVictor Perevertkin _Must_inspect_result_
21418a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
21428a978a17SVictor Perevertkin WDFAPI
21438a978a17SVictor Perevertkin NTSTATUS
21441f377076SVictor Perevertkin STDCALL
21458a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings)(
21468a978a17SVictor Perevertkin     _In_
21478a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
21488a978a17SVictor Perevertkin     _In_
21498a978a17SVictor Perevertkin     WDFDEVICE Device,
21508a978a17SVictor Perevertkin     _In_
21518a978a17SVictor Perevertkin     PWDF_POWER_FRAMEWORK_SETTINGS PowerFrameworkSettings
21528a978a17SVictor Perevertkin     );
21538a978a17SVictor Perevertkin 
21548a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
21558a978a17SVictor Perevertkin WDFAPI
21568a978a17SVictor Perevertkin VOID
21571f377076SVictor Perevertkin STDCALL
21588a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)(
21598a978a17SVictor Perevertkin     _In_
21608a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
21618a978a17SVictor Perevertkin     _In_
21628a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
21638a978a17SVictor Perevertkin     _In_
21648a978a17SVictor Perevertkin     WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure
21658a978a17SVictor Perevertkin     );
21668a978a17SVictor Perevertkin 
21678a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
21688a978a17SVictor Perevertkin WDFAPI
21698a978a17SVictor Perevertkin VOID
21701f377076SVictor Perevertkin STDCALL
21718a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitSetIoTypeEx)(
21728a978a17SVictor Perevertkin     _In_
21738a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
21748a978a17SVictor Perevertkin     _In_
21758a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
21768a978a17SVictor Perevertkin     _In_
21778a978a17SVictor Perevertkin     PWDF_IO_TYPE_CONFIG IoTypeConfig
21788a978a17SVictor Perevertkin     );
21798a978a17SVictor Perevertkin 
21808a978a17SVictor Perevertkin _Must_inspect_result_
21818a978a17SVictor Perevertkin _IRQL_requires_max_(APC_LEVEL)
21828a978a17SVictor Perevertkin WDFAPI
21838a978a17SVictor Perevertkin NTSTATUS
21841f377076SVictor Perevertkin STDCALL
21858a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceQueryPropertyEx)(
21868a978a17SVictor Perevertkin     _In_
21878a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
21888a978a17SVictor Perevertkin     _In_
21898a978a17SVictor Perevertkin     WDFDEVICE Device,
21908a978a17SVictor Perevertkin     _In_
21918a978a17SVictor Perevertkin     PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
21928a978a17SVictor Perevertkin     _In_
21938a978a17SVictor Perevertkin     ULONG BufferLength,
21948a978a17SVictor Perevertkin     _Out_
21958a978a17SVictor Perevertkin     PVOID PropertyBuffer,
21968a978a17SVictor Perevertkin     _Out_
21978a978a17SVictor Perevertkin     PULONG RequiredSize,
21988a978a17SVictor Perevertkin     _Out_
21998a978a17SVictor Perevertkin     PDEVPROPTYPE Type
22008a978a17SVictor Perevertkin     );
22018a978a17SVictor Perevertkin 
22028a978a17SVictor Perevertkin _Must_inspect_result_
22038a978a17SVictor Perevertkin _IRQL_requires_max_(APC_LEVEL)
22048a978a17SVictor Perevertkin WDFAPI
22058a978a17SVictor Perevertkin NTSTATUS
22061f377076SVictor Perevertkin STDCALL
22078a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceAllocAndQueryPropertyEx)(
22088a978a17SVictor Perevertkin     _In_
22098a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
22108a978a17SVictor Perevertkin     _In_
22118a978a17SVictor Perevertkin     WDFDEVICE Device,
22128a978a17SVictor Perevertkin     _In_
22138a978a17SVictor Perevertkin     PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
22148a978a17SVictor Perevertkin     _In_
22158a978a17SVictor Perevertkin     _Strict_type_match_
22168a978a17SVictor Perevertkin     POOL_TYPE PoolType,
22178a978a17SVictor Perevertkin     _In_opt_
22188a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
22198a978a17SVictor Perevertkin     _Out_
22208a978a17SVictor Perevertkin     WDFMEMORY* PropertyMemory,
22218a978a17SVictor Perevertkin     _Out_
22228a978a17SVictor Perevertkin     PDEVPROPTYPE Type
22238a978a17SVictor Perevertkin     );
22248a978a17SVictor Perevertkin 
22258a978a17SVictor Perevertkin _Must_inspect_result_
22268a978a17SVictor Perevertkin _IRQL_requires_max_(APC_LEVEL)
22278a978a17SVictor Perevertkin WDFAPI
22288a978a17SVictor Perevertkin NTSTATUS
22291f377076SVictor Perevertkin STDCALL
22308a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceAssignProperty)(
22318a978a17SVictor Perevertkin     _In_
22328a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
22338a978a17SVictor Perevertkin     _In_
22348a978a17SVictor Perevertkin     WDFDEVICE Device,
22358a978a17SVictor Perevertkin     _In_
22368a978a17SVictor Perevertkin     PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
22378a978a17SVictor Perevertkin     _In_
22388a978a17SVictor Perevertkin     DEVPROPTYPE Type,
22398a978a17SVictor Perevertkin     _In_
22408a978a17SVictor Perevertkin     ULONG Size,
22418a978a17SVictor Perevertkin     _In_opt_
22428a978a17SVictor Perevertkin     PVOID Data
22438a978a17SVictor Perevertkin     );
22448a978a17SVictor Perevertkin 
22458a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
22468a978a17SVictor Perevertkin WDFAPI
22478a978a17SVictor Perevertkin WDFIOTARGET
22481f377076SVictor Perevertkin STDCALL
22498a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceGetSelfIoTarget)(
22508a978a17SVictor Perevertkin     _In_
22518a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
22528a978a17SVictor Perevertkin     _In_
22538a978a17SVictor Perevertkin     WDFDEVICE Device
22548a978a17SVictor Perevertkin     );
22558a978a17SVictor Perevertkin 
22568a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
22578a978a17SVictor Perevertkin WDFAPI
22588a978a17SVictor Perevertkin VOID
22591f377076SVictor Perevertkin STDCALL
22608a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceInitAllowSelfIoTarget)(
22618a978a17SVictor Perevertkin     _In_
22628a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
22638a978a17SVictor Perevertkin     _In_
22648a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit
22658a978a17SVictor Perevertkin     );
22668a978a17SVictor Perevertkin 
22678a978a17SVictor Perevertkin _Must_inspect_result_
22688a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
22698a978a17SVictor Perevertkin WDFAPI
22708a978a17SVictor Perevertkin NTSTATUS
22711f377076SVictor Perevertkin STDCALL
22728a978a17SVictor Perevertkin WDFEXPORT(WdfDmaEnablerCreate)(
22738a978a17SVictor Perevertkin     _In_
22748a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
22758a978a17SVictor Perevertkin     _In_
22768a978a17SVictor Perevertkin     WDFDEVICE Device,
22778a978a17SVictor Perevertkin     _In_
22788a978a17SVictor Perevertkin     PWDF_DMA_ENABLER_CONFIG Config,
22798a978a17SVictor Perevertkin     _In_opt_
22808a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
22818a978a17SVictor Perevertkin     _Out_
22828a978a17SVictor Perevertkin     WDFDMAENABLER* DmaEnablerHandle
22838a978a17SVictor Perevertkin     );
22848a978a17SVictor Perevertkin 
22858a978a17SVictor Perevertkin _Must_inspect_result_
22868a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
22878a978a17SVictor Perevertkin WDFAPI
22888a978a17SVictor Perevertkin NTSTATUS
22891f377076SVictor Perevertkin STDCALL
22908a978a17SVictor Perevertkin WDFEXPORT(WdfDmaEnablerConfigureSystemProfile)(
22918a978a17SVictor Perevertkin     _In_
22928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
22938a978a17SVictor Perevertkin     _In_
22948a978a17SVictor Perevertkin     WDFDMAENABLER DmaEnabler,
22958a978a17SVictor Perevertkin     _In_
22968a978a17SVictor Perevertkin     PWDF_DMA_SYSTEM_PROFILE_CONFIG ProfileConfig,
22978a978a17SVictor Perevertkin     _In_
22988a978a17SVictor Perevertkin     WDF_DMA_DIRECTION ConfigDirection
22998a978a17SVictor Perevertkin     );
23008a978a17SVictor Perevertkin 
23018a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
23028a978a17SVictor Perevertkin WDFAPI
23038a978a17SVictor Perevertkin size_t
23041f377076SVictor Perevertkin STDCALL
23058a978a17SVictor Perevertkin WDFEXPORT(WdfDmaEnablerGetMaximumLength)(
23068a978a17SVictor Perevertkin     _In_
23078a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
23088a978a17SVictor Perevertkin     _In_
23098a978a17SVictor Perevertkin     WDFDMAENABLER DmaEnabler
23108a978a17SVictor Perevertkin     );
23118a978a17SVictor Perevertkin 
23128a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
23138a978a17SVictor Perevertkin WDFAPI
23148a978a17SVictor Perevertkin size_t
23151f377076SVictor Perevertkin STDCALL
23168a978a17SVictor Perevertkin WDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements)(
23178a978a17SVictor Perevertkin     _In_
23188a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
23198a978a17SVictor Perevertkin     _In_
23208a978a17SVictor Perevertkin     WDFDMAENABLER DmaEnabler
23218a978a17SVictor Perevertkin     );
23228a978a17SVictor Perevertkin 
23238a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
23248a978a17SVictor Perevertkin WDFAPI
23258a978a17SVictor Perevertkin VOID
23261f377076SVictor Perevertkin STDCALL
23278a978a17SVictor Perevertkin WDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements)(
23288a978a17SVictor Perevertkin     _In_
23298a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
23308a978a17SVictor Perevertkin     _In_
23318a978a17SVictor Perevertkin     WDFDMAENABLER DmaEnabler,
23328a978a17SVictor Perevertkin     _In_
23338a978a17SVictor Perevertkin     _When_(MaximumFragments == 0, __drv_reportError(MaximumFragments cannot be zero))
23348a978a17SVictor Perevertkin     size_t MaximumFragments
23358a978a17SVictor Perevertkin     );
23368a978a17SVictor Perevertkin 
23378a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
23388a978a17SVictor Perevertkin WDFAPI
23398a978a17SVictor Perevertkin size_t
23401f377076SVictor Perevertkin STDCALL
23418a978a17SVictor Perevertkin WDFEXPORT(WdfDmaEnablerGetFragmentLength)(
23428a978a17SVictor Perevertkin     _In_
23438a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
23448a978a17SVictor Perevertkin     _In_
23458a978a17SVictor Perevertkin     WDFDMAENABLER DmaEnabler,
23468a978a17SVictor Perevertkin     _In_
23478a978a17SVictor Perevertkin     WDF_DMA_DIRECTION DmaDirection
23488a978a17SVictor Perevertkin     );
23498a978a17SVictor Perevertkin 
23508a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
23518a978a17SVictor Perevertkin WDFAPI
23528a978a17SVictor Perevertkin PDMA_ADAPTER
23531f377076SVictor Perevertkin STDCALL
23548a978a17SVictor Perevertkin WDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter)(
23558a978a17SVictor Perevertkin     _In_
23568a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
23578a978a17SVictor Perevertkin     _In_
23588a978a17SVictor Perevertkin     WDFDMAENABLER DmaEnabler,
23598a978a17SVictor Perevertkin     _In_
23608a978a17SVictor Perevertkin     WDF_DMA_DIRECTION DmaDirection
23618a978a17SVictor Perevertkin     );
23628a978a17SVictor Perevertkin 
23638a978a17SVictor Perevertkin _Must_inspect_result_
23648a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
23658a978a17SVictor Perevertkin WDFAPI
23668a978a17SVictor Perevertkin NTSTATUS
23671f377076SVictor Perevertkin STDCALL
23688a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionCreate)(
23698a978a17SVictor Perevertkin     _In_
23708a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
23718a978a17SVictor Perevertkin     _In_
23728a978a17SVictor Perevertkin     WDFDMAENABLER DmaEnabler,
23738a978a17SVictor Perevertkin     _In_opt_
23748a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
23758a978a17SVictor Perevertkin     _Out_
23768a978a17SVictor Perevertkin     WDFDMATRANSACTION* DmaTransaction
23778a978a17SVictor Perevertkin     );
23788a978a17SVictor Perevertkin 
23798a978a17SVictor Perevertkin _Must_inspect_result_
23808a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
23818a978a17SVictor Perevertkin WDFAPI
23828a978a17SVictor Perevertkin NTSTATUS
23831f377076SVictor Perevertkin STDCALL
23848a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionInitialize)(
23858a978a17SVictor Perevertkin     _In_
23868a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
23878a978a17SVictor Perevertkin     _In_
23888a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
23898a978a17SVictor Perevertkin     _In_
23908a978a17SVictor Perevertkin     PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
23918a978a17SVictor Perevertkin     _In_
23928a978a17SVictor Perevertkin     WDF_DMA_DIRECTION DmaDirection,
23938a978a17SVictor Perevertkin     _In_
23948a978a17SVictor Perevertkin     PMDL Mdl,
23958a978a17SVictor Perevertkin     _In_
23968a978a17SVictor Perevertkin     PVOID VirtualAddress,
23978a978a17SVictor Perevertkin     _In_
23988a978a17SVictor Perevertkin     _When_(Length == 0, __drv_reportError(Length cannot be zero))
23998a978a17SVictor Perevertkin     size_t Length
24008a978a17SVictor Perevertkin     );
24018a978a17SVictor Perevertkin 
24028a978a17SVictor Perevertkin _Must_inspect_result_
24038a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
24048a978a17SVictor Perevertkin WDFAPI
24058a978a17SVictor Perevertkin NTSTATUS
24061f377076SVictor Perevertkin STDCALL
24078a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionInitializeUsingOffset)(
24088a978a17SVictor Perevertkin     _In_
24098a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
24108a978a17SVictor Perevertkin     _In_
24118a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
24128a978a17SVictor Perevertkin     _In_
24138a978a17SVictor Perevertkin     PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
24148a978a17SVictor Perevertkin     _In_
24158a978a17SVictor Perevertkin     WDF_DMA_DIRECTION DmaDirection,
24168a978a17SVictor Perevertkin     _In_
24178a978a17SVictor Perevertkin     PMDL Mdl,
24188a978a17SVictor Perevertkin     _In_
24198a978a17SVictor Perevertkin     size_t Offset,
24208a978a17SVictor Perevertkin     _In_
24218a978a17SVictor Perevertkin     _When_(Length == 0, __drv_reportError(Length cannot be zero))
24228a978a17SVictor Perevertkin     size_t Length
24238a978a17SVictor Perevertkin     );
24248a978a17SVictor Perevertkin 
24258a978a17SVictor Perevertkin _Must_inspect_result_
24268a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
24278a978a17SVictor Perevertkin WDFAPI
24288a978a17SVictor Perevertkin NTSTATUS
24291f377076SVictor Perevertkin STDCALL
24308a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionInitializeUsingRequest)(
24318a978a17SVictor Perevertkin     _In_
24328a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
24338a978a17SVictor Perevertkin     _In_
24348a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
24358a978a17SVictor Perevertkin     _In_
24368a978a17SVictor Perevertkin     WDFREQUEST Request,
24378a978a17SVictor Perevertkin     _In_
24388a978a17SVictor Perevertkin     PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
24398a978a17SVictor Perevertkin     _In_
24408a978a17SVictor Perevertkin     WDF_DMA_DIRECTION DmaDirection
24418a978a17SVictor Perevertkin     );
24428a978a17SVictor Perevertkin 
24438a978a17SVictor Perevertkin _Must_inspect_result_
24448a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
24458a978a17SVictor Perevertkin WDFAPI
24468a978a17SVictor Perevertkin NTSTATUS
24471f377076SVictor Perevertkin STDCALL
24488a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionExecute)(
24498a978a17SVictor Perevertkin     _In_
24508a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
24518a978a17SVictor Perevertkin     _In_
24528a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
24538a978a17SVictor Perevertkin     _In_opt_
24548a978a17SVictor Perevertkin     WDFCONTEXT Context
24558a978a17SVictor Perevertkin     );
24568a978a17SVictor Perevertkin 
24578a978a17SVictor Perevertkin _Success_(TRUE)
24588a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
24598a978a17SVictor Perevertkin WDFAPI
24608a978a17SVictor Perevertkin NTSTATUS
24611f377076SVictor Perevertkin STDCALL
24628a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionRelease)(
24638a978a17SVictor Perevertkin     _In_
24648a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
24658a978a17SVictor Perevertkin     _In_
24668a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction
24678a978a17SVictor Perevertkin     );
24688a978a17SVictor Perevertkin 
24698a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
24708a978a17SVictor Perevertkin WDFAPI
24718a978a17SVictor Perevertkin BOOLEAN
24721f377076SVictor Perevertkin STDCALL
24738a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionDmaCompleted)(
24748a978a17SVictor Perevertkin     _In_
24758a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
24768a978a17SVictor Perevertkin     _In_
24778a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
24788a978a17SVictor Perevertkin     _Out_
24798a978a17SVictor Perevertkin     NTSTATUS* Status
24808a978a17SVictor Perevertkin     );
24818a978a17SVictor Perevertkin 
24828a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
24838a978a17SVictor Perevertkin WDFAPI
24848a978a17SVictor Perevertkin BOOLEAN
24851f377076SVictor Perevertkin STDCALL
24868a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionDmaCompletedWithLength)(
24878a978a17SVictor Perevertkin     _In_
24888a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
24898a978a17SVictor Perevertkin     _In_
24908a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
24918a978a17SVictor Perevertkin     _In_
24928a978a17SVictor Perevertkin     size_t TransferredLength,
24938a978a17SVictor Perevertkin     _Out_
24948a978a17SVictor Perevertkin     NTSTATUS* Status
24958a978a17SVictor Perevertkin     );
24968a978a17SVictor Perevertkin 
24978a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
24988a978a17SVictor Perevertkin WDFAPI
24998a978a17SVictor Perevertkin BOOLEAN
25001f377076SVictor Perevertkin STDCALL
25018a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionDmaCompletedFinal)(
25028a978a17SVictor Perevertkin     _In_
25038a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
25048a978a17SVictor Perevertkin     _In_
25058a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
25068a978a17SVictor Perevertkin     _In_
25078a978a17SVictor Perevertkin     size_t FinalTransferredLength,
25088a978a17SVictor Perevertkin     _Out_
25098a978a17SVictor Perevertkin     NTSTATUS* Status
25108a978a17SVictor Perevertkin     );
25118a978a17SVictor Perevertkin 
25128a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
25138a978a17SVictor Perevertkin WDFAPI
25148a978a17SVictor Perevertkin size_t
25151f377076SVictor Perevertkin STDCALL
25168a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionGetBytesTransferred)(
25178a978a17SVictor Perevertkin     _In_
25188a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
25198a978a17SVictor Perevertkin     _In_
25208a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction
25218a978a17SVictor Perevertkin     );
25228a978a17SVictor Perevertkin 
25238a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
25248a978a17SVictor Perevertkin WDFAPI
25258a978a17SVictor Perevertkin VOID
25261f377076SVictor Perevertkin STDCALL
25278a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionSetMaximumLength)(
25288a978a17SVictor Perevertkin     _In_
25298a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
25308a978a17SVictor Perevertkin     _In_
25318a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
25328a978a17SVictor Perevertkin     _In_
25338a978a17SVictor Perevertkin     size_t MaximumLength
25348a978a17SVictor Perevertkin     );
25358a978a17SVictor Perevertkin 
25368a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
25378a978a17SVictor Perevertkin WDFAPI
25388a978a17SVictor Perevertkin WDFREQUEST
25391f377076SVictor Perevertkin STDCALL
25408a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionGetRequest)(
25418a978a17SVictor Perevertkin     _In_
25428a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
25438a978a17SVictor Perevertkin     _In_
25448a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction
25458a978a17SVictor Perevertkin     );
25468a978a17SVictor Perevertkin 
25478a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
25488a978a17SVictor Perevertkin WDFAPI
25498a978a17SVictor Perevertkin size_t
25501f377076SVictor Perevertkin STDCALL
25518a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength)(
25528a978a17SVictor Perevertkin     _In_
25538a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
25548a978a17SVictor Perevertkin     _In_
25558a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction
25568a978a17SVictor Perevertkin     );
25578a978a17SVictor Perevertkin 
25588a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
25598a978a17SVictor Perevertkin WDFAPI
25608a978a17SVictor Perevertkin WDFDEVICE
25611f377076SVictor Perevertkin STDCALL
25628a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionGetDevice)(
25638a978a17SVictor Perevertkin     _In_
25648a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
25658a978a17SVictor Perevertkin     _In_
25668a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction
25678a978a17SVictor Perevertkin     );
25688a978a17SVictor Perevertkin 
25698a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
25708a978a17SVictor Perevertkin WDFAPI
25718a978a17SVictor Perevertkin VOID
25721f377076SVictor Perevertkin STDCALL
25738a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionGetTransferInfo)(
25748a978a17SVictor Perevertkin     _In_
25758a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
25768a978a17SVictor Perevertkin     _In_
25778a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
25788a978a17SVictor Perevertkin     _Out_opt_
25798a978a17SVictor Perevertkin     ULONG* MapRegisterCount,
25808a978a17SVictor Perevertkin     _Out_opt_
25818a978a17SVictor Perevertkin     ULONG* ScatterGatherElementCount
25828a978a17SVictor Perevertkin     );
25838a978a17SVictor Perevertkin 
25848a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
25858a978a17SVictor Perevertkin WDFAPI
25868a978a17SVictor Perevertkin VOID
25871f377076SVictor Perevertkin STDCALL
25888a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback)(
25898a978a17SVictor Perevertkin     _In_
25908a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
25918a978a17SVictor Perevertkin     _In_
25928a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
25938a978a17SVictor Perevertkin     _In_opt_
25948a978a17SVictor Perevertkin     PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL ConfigureRoutine,
25958a978a17SVictor Perevertkin     _In_opt_
25968a978a17SVictor Perevertkin     PVOID ConfigureContext
25978a978a17SVictor Perevertkin     );
25988a978a17SVictor Perevertkin 
25998a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
26008a978a17SVictor Perevertkin WDFAPI
26018a978a17SVictor Perevertkin VOID
26021f377076SVictor Perevertkin STDCALL
26038a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback)(
26048a978a17SVictor Perevertkin     _In_
26058a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
26068a978a17SVictor Perevertkin     _In_
26078a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
26088a978a17SVictor Perevertkin     _In_opt_
26098a978a17SVictor Perevertkin     PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
26108a978a17SVictor Perevertkin     _In_opt_
26118a978a17SVictor Perevertkin     PVOID DmaCompletionContext
26128a978a17SVictor Perevertkin     );
26138a978a17SVictor Perevertkin 
26148a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
26158a978a17SVictor Perevertkin WDFAPI
26168a978a17SVictor Perevertkin VOID
26171f377076SVictor Perevertkin STDCALL
26188a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionSetImmediateExecution)(
26198a978a17SVictor Perevertkin     _In_
26208a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
26218a978a17SVictor Perevertkin     _In_
26228a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
26238a978a17SVictor Perevertkin     _In_
26248a978a17SVictor Perevertkin     BOOLEAN UseImmediateExecution
26258a978a17SVictor Perevertkin     );
26268a978a17SVictor Perevertkin 
26278a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
26288a978a17SVictor Perevertkin WDFAPI
26298a978a17SVictor Perevertkin NTSTATUS
26301f377076SVictor Perevertkin STDCALL
26318a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionAllocateResources)(
26328a978a17SVictor Perevertkin     _In_
26338a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
26348a978a17SVictor Perevertkin     _In_
26358a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
26368a978a17SVictor Perevertkin     _In_
26378a978a17SVictor Perevertkin     WDF_DMA_DIRECTION DmaDirection,
26388a978a17SVictor Perevertkin     _In_
26398a978a17SVictor Perevertkin     ULONG RequiredMapRegisters,
26408a978a17SVictor Perevertkin     _In_
26418a978a17SVictor Perevertkin     PFN_WDF_RESERVE_DMA EvtReserveDmaFunction,
26428a978a17SVictor Perevertkin     _In_
26438a978a17SVictor Perevertkin     PVOID EvtReserveDmaContext
26448a978a17SVictor Perevertkin     );
26458a978a17SVictor Perevertkin 
26468a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
26478a978a17SVictor Perevertkin WDFAPI
26488a978a17SVictor Perevertkin VOID
26491f377076SVictor Perevertkin STDCALL
26508a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset)(
26518a978a17SVictor Perevertkin     _In_
26528a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
26538a978a17SVictor Perevertkin     _In_
26548a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction,
26558a978a17SVictor Perevertkin     _In_
26568a978a17SVictor Perevertkin     ULONG Offset
26578a978a17SVictor Perevertkin     );
26588a978a17SVictor Perevertkin 
26598a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
26608a978a17SVictor Perevertkin WDFAPI
26618a978a17SVictor Perevertkin VOID
26621f377076SVictor Perevertkin STDCALL
26638a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionFreeResources)(
26648a978a17SVictor Perevertkin     _In_
26658a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
26668a978a17SVictor Perevertkin     _In_
26678a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction
26688a978a17SVictor Perevertkin     );
26698a978a17SVictor Perevertkin 
26708a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
26718a978a17SVictor Perevertkin WDFAPI
26728a978a17SVictor Perevertkin BOOLEAN
26731f377076SVictor Perevertkin STDCALL
26748a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionCancel)(
26758a978a17SVictor Perevertkin     _In_
26768a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
26778a978a17SVictor Perevertkin     _In_
26788a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction
26798a978a17SVictor Perevertkin     );
26808a978a17SVictor Perevertkin 
26818a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
26828a978a17SVictor Perevertkin WDFAPI
26838a978a17SVictor Perevertkin PVOID
26841f377076SVictor Perevertkin STDCALL
26858a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionWdmGetTransferContext)(
26868a978a17SVictor Perevertkin     _In_
26878a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
26888a978a17SVictor Perevertkin     _In_
26898a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction
26908a978a17SVictor Perevertkin     );
26918a978a17SVictor Perevertkin 
26928a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
26938a978a17SVictor Perevertkin WDFAPI
26948a978a17SVictor Perevertkin VOID
26951f377076SVictor Perevertkin STDCALL
26968a978a17SVictor Perevertkin WDFEXPORT(WdfDmaTransactionStopSystemTransfer)(
26978a978a17SVictor Perevertkin     _In_
26988a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
26998a978a17SVictor Perevertkin     _In_
27008a978a17SVictor Perevertkin     WDFDMATRANSACTION DmaTransaction
27018a978a17SVictor Perevertkin     );
27028a978a17SVictor Perevertkin 
27038a978a17SVictor Perevertkin _Must_inspect_result_
27048a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
27058a978a17SVictor Perevertkin WDFAPI
27068a978a17SVictor Perevertkin NTSTATUS
27071f377076SVictor Perevertkin STDCALL
27088a978a17SVictor Perevertkin WDFEXPORT(WdfDpcCreate)(
27098a978a17SVictor Perevertkin     _In_
27108a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
27118a978a17SVictor Perevertkin     _In_
27128a978a17SVictor Perevertkin     PWDF_DPC_CONFIG Config,
27138a978a17SVictor Perevertkin     _In_
27148a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
27158a978a17SVictor Perevertkin     _Out_
27168a978a17SVictor Perevertkin     WDFDPC* Dpc
27178a978a17SVictor Perevertkin     );
27188a978a17SVictor Perevertkin 
27198a978a17SVictor Perevertkin _IRQL_requires_max_(HIGH_LEVEL)
27208a978a17SVictor Perevertkin WDFAPI
27218a978a17SVictor Perevertkin BOOLEAN
27221f377076SVictor Perevertkin STDCALL
27238a978a17SVictor Perevertkin WDFEXPORT(WdfDpcEnqueue)(
27248a978a17SVictor Perevertkin     _In_
27258a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
27268a978a17SVictor Perevertkin     _In_
27278a978a17SVictor Perevertkin     WDFDPC Dpc
27288a978a17SVictor Perevertkin     );
27298a978a17SVictor Perevertkin 
27308a978a17SVictor Perevertkin _When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL))
27318a978a17SVictor Perevertkin _When_(Wait == __false, _IRQL_requires_max_(HIGH_LEVEL))
27328a978a17SVictor Perevertkin WDFAPI
27338a978a17SVictor Perevertkin BOOLEAN
27341f377076SVictor Perevertkin STDCALL
27358a978a17SVictor Perevertkin WDFEXPORT(WdfDpcCancel)(
27368a978a17SVictor Perevertkin     _In_
27378a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
27388a978a17SVictor Perevertkin     _In_
27398a978a17SVictor Perevertkin     WDFDPC Dpc,
27408a978a17SVictor Perevertkin     _In_
27418a978a17SVictor Perevertkin     BOOLEAN Wait
27428a978a17SVictor Perevertkin     );
27438a978a17SVictor Perevertkin 
27448a978a17SVictor Perevertkin _IRQL_requires_max_(HIGH_LEVEL)
27458a978a17SVictor Perevertkin WDFAPI
27468a978a17SVictor Perevertkin WDFOBJECT
27471f377076SVictor Perevertkin STDCALL
27488a978a17SVictor Perevertkin WDFEXPORT(WdfDpcGetParentObject)(
27498a978a17SVictor Perevertkin     _In_
27508a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
27518a978a17SVictor Perevertkin     _In_
27528a978a17SVictor Perevertkin     WDFDPC Dpc
27538a978a17SVictor Perevertkin     );
27548a978a17SVictor Perevertkin 
27558a978a17SVictor Perevertkin _IRQL_requires_max_(HIGH_LEVEL)
27568a978a17SVictor Perevertkin WDFAPI
27578a978a17SVictor Perevertkin PKDPC
27581f377076SVictor Perevertkin STDCALL
27598a978a17SVictor Perevertkin WDFEXPORT(WdfDpcWdmGetDpc)(
27608a978a17SVictor Perevertkin     _In_
27618a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
27628a978a17SVictor Perevertkin     _In_
27638a978a17SVictor Perevertkin     WDFDPC Dpc
27648a978a17SVictor Perevertkin     );
27658a978a17SVictor Perevertkin 
27668a978a17SVictor Perevertkin _Must_inspect_result_
27678a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
27688a978a17SVictor Perevertkin WDFAPI
27698a978a17SVictor Perevertkin NTSTATUS
27701f377076SVictor Perevertkin STDCALL
27718a978a17SVictor Perevertkin WDFEXPORT(WdfDriverCreate)(
27728a978a17SVictor Perevertkin     _In_
27738a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
27748a978a17SVictor Perevertkin     _In_
27758a978a17SVictor Perevertkin     PDRIVER_OBJECT DriverObject,
27768a978a17SVictor Perevertkin     _In_
27778a978a17SVictor Perevertkin     PCUNICODE_STRING RegistryPath,
27788a978a17SVictor Perevertkin     _In_opt_
27798a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES DriverAttributes,
27808a978a17SVictor Perevertkin     _In_
27818a978a17SVictor Perevertkin     PWDF_DRIVER_CONFIG DriverConfig,
27828a978a17SVictor Perevertkin     _Out_opt_
27838a978a17SVictor Perevertkin     WDFDRIVER* Driver
27848a978a17SVictor Perevertkin     );
27858a978a17SVictor Perevertkin 
27868a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
27878a978a17SVictor Perevertkin WDFAPI
27888a978a17SVictor Perevertkin PWSTR
27891f377076SVictor Perevertkin STDCALL
27908a978a17SVictor Perevertkin WDFEXPORT(WdfDriverGetRegistryPath)(
27918a978a17SVictor Perevertkin     _In_
27928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
27938a978a17SVictor Perevertkin     _In_
27948a978a17SVictor Perevertkin     WDFDRIVER Driver
27958a978a17SVictor Perevertkin     );
27968a978a17SVictor Perevertkin 
27978a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
27988a978a17SVictor Perevertkin WDFAPI
27998a978a17SVictor Perevertkin PDRIVER_OBJECT
28001f377076SVictor Perevertkin STDCALL
28018a978a17SVictor Perevertkin WDFEXPORT(WdfDriverWdmGetDriverObject)(
28028a978a17SVictor Perevertkin     _In_
28038a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
28048a978a17SVictor Perevertkin     _In_
28058a978a17SVictor Perevertkin     WDFDRIVER Driver
28068a978a17SVictor Perevertkin     );
28078a978a17SVictor Perevertkin 
28088a978a17SVictor Perevertkin _Must_inspect_result_
28098a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
28108a978a17SVictor Perevertkin WDFAPI
28118a978a17SVictor Perevertkin NTSTATUS
28121f377076SVictor Perevertkin STDCALL
28138a978a17SVictor Perevertkin WDFEXPORT(WdfDriverOpenParametersRegistryKey)(
28148a978a17SVictor Perevertkin     _In_
28158a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
28168a978a17SVictor Perevertkin     _In_
28178a978a17SVictor Perevertkin     WDFDRIVER Driver,
28188a978a17SVictor Perevertkin     _In_
28198a978a17SVictor Perevertkin     ACCESS_MASK DesiredAccess,
28208a978a17SVictor Perevertkin     _In_opt_
28218a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES KeyAttributes,
28228a978a17SVictor Perevertkin     _Out_
28238a978a17SVictor Perevertkin     WDFKEY* Key
28248a978a17SVictor Perevertkin     );
28258a978a17SVictor Perevertkin 
28268a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
28278a978a17SVictor Perevertkin WDFAPI
28288a978a17SVictor Perevertkin WDFDRIVER
28291f377076SVictor Perevertkin STDCALL
28308a978a17SVictor Perevertkin WDFEXPORT(WdfWdmDriverGetWdfDriverHandle)(
28318a978a17SVictor Perevertkin     _In_
28328a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
28338a978a17SVictor Perevertkin     _In_
28348a978a17SVictor Perevertkin     PDRIVER_OBJECT DriverObject
28358a978a17SVictor Perevertkin     );
28368a978a17SVictor Perevertkin 
28378a978a17SVictor Perevertkin _Must_inspect_result_
28388a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
28398a978a17SVictor Perevertkin WDFAPI
28408a978a17SVictor Perevertkin NTSTATUS
28411f377076SVictor Perevertkin STDCALL
28428a978a17SVictor Perevertkin WDFEXPORT(WdfDriverRegisterTraceInfo)(
28438a978a17SVictor Perevertkin     _In_
28448a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
28458a978a17SVictor Perevertkin     _In_
28468a978a17SVictor Perevertkin     PDRIVER_OBJECT DriverObject,
28478a978a17SVictor Perevertkin     _In_
28488a978a17SVictor Perevertkin     PFN_WDF_TRACE_CALLBACK EvtTraceCallback,
28498a978a17SVictor Perevertkin     _In_
28508a978a17SVictor Perevertkin     PVOID ControlBlock
28518a978a17SVictor Perevertkin     );
28528a978a17SVictor Perevertkin 
28538a978a17SVictor Perevertkin _Must_inspect_result_
28548a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
28558a978a17SVictor Perevertkin WDFAPI
28568a978a17SVictor Perevertkin NTSTATUS
28571f377076SVictor Perevertkin STDCALL
28588a978a17SVictor Perevertkin WDFEXPORT(WdfDriverRetrieveVersionString)(
28598a978a17SVictor Perevertkin     _In_
28608a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
28618a978a17SVictor Perevertkin     _In_
28628a978a17SVictor Perevertkin     WDFDRIVER Driver,
28638a978a17SVictor Perevertkin     _In_
28648a978a17SVictor Perevertkin     WDFSTRING String
28658a978a17SVictor Perevertkin     );
28668a978a17SVictor Perevertkin 
28678a978a17SVictor Perevertkin _Must_inspect_result_
28688a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
28698a978a17SVictor Perevertkin WDFAPI
28708a978a17SVictor Perevertkin BOOLEAN
28711f377076SVictor Perevertkin STDCALL
28728a978a17SVictor Perevertkin WDFEXPORT(WdfDriverIsVersionAvailable)(
28738a978a17SVictor Perevertkin     _In_
28748a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
28758a978a17SVictor Perevertkin     _In_
28768a978a17SVictor Perevertkin     WDFDRIVER Driver,
28778a978a17SVictor Perevertkin     _In_
28788a978a17SVictor Perevertkin     PWDF_DRIVER_VERSION_AVAILABLE_PARAMS VersionAvailableParams
28798a978a17SVictor Perevertkin     );
28808a978a17SVictor Perevertkin 
28818a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
28828a978a17SVictor Perevertkin WDFAPI
28838a978a17SVictor Perevertkin PDEVICE_OBJECT
28841f377076SVictor Perevertkin STDCALL
28858a978a17SVictor Perevertkin WDFEXPORT(WdfFdoInitWdmGetPhysicalDevice)(
28868a978a17SVictor Perevertkin     _In_
28878a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
28888a978a17SVictor Perevertkin     _In_
28898a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit
28908a978a17SVictor Perevertkin     );
28918a978a17SVictor Perevertkin 
28928a978a17SVictor Perevertkin _Must_inspect_result_
28938a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
28948a978a17SVictor Perevertkin WDFAPI
28958a978a17SVictor Perevertkin NTSTATUS
28961f377076SVictor Perevertkin STDCALL
28978a978a17SVictor Perevertkin WDFEXPORT(WdfFdoInitOpenRegistryKey)(
28988a978a17SVictor Perevertkin     _In_
28998a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
29008a978a17SVictor Perevertkin     _In_
29018a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
29028a978a17SVictor Perevertkin     _In_
29038a978a17SVictor Perevertkin     ULONG DeviceInstanceKeyType,
29048a978a17SVictor Perevertkin     _In_
29058a978a17SVictor Perevertkin     ACCESS_MASK DesiredAccess,
29068a978a17SVictor Perevertkin     _In_opt_
29078a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES KeyAttributes,
29088a978a17SVictor Perevertkin     _Out_
29098a978a17SVictor Perevertkin     WDFKEY* Key
29108a978a17SVictor Perevertkin     );
29118a978a17SVictor Perevertkin 
29128a978a17SVictor Perevertkin _Must_inspect_result_
29138a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
29148a978a17SVictor Perevertkin WDFAPI
29158a978a17SVictor Perevertkin NTSTATUS
29161f377076SVictor Perevertkin STDCALL
29178a978a17SVictor Perevertkin WDFEXPORT(WdfFdoInitQueryProperty)(
29188a978a17SVictor Perevertkin     _In_
29198a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
29208a978a17SVictor Perevertkin     _In_
29218a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
29228a978a17SVictor Perevertkin     _In_
29238a978a17SVictor Perevertkin     DEVICE_REGISTRY_PROPERTY DeviceProperty,
29248a978a17SVictor Perevertkin     _In_
29258a978a17SVictor Perevertkin     ULONG BufferLength,
29268a978a17SVictor Perevertkin     _Out_writes_bytes_all_opt_(BufferLength)
29278a978a17SVictor Perevertkin     PVOID PropertyBuffer,
29288a978a17SVictor Perevertkin     _Out_
29298a978a17SVictor Perevertkin     PULONG ResultLength
29308a978a17SVictor Perevertkin     );
29318a978a17SVictor Perevertkin 
29328a978a17SVictor Perevertkin _Must_inspect_result_
29338a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
29348a978a17SVictor Perevertkin WDFAPI
29358a978a17SVictor Perevertkin NTSTATUS
29361f377076SVictor Perevertkin STDCALL
29378a978a17SVictor Perevertkin WDFEXPORT(WdfFdoInitAllocAndQueryProperty)(
29388a978a17SVictor Perevertkin     _In_
29398a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
29408a978a17SVictor Perevertkin     _In_
29418a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
29428a978a17SVictor Perevertkin     _In_
29438a978a17SVictor Perevertkin     DEVICE_REGISTRY_PROPERTY DeviceProperty,
29448a978a17SVictor Perevertkin     _In_
29458a978a17SVictor Perevertkin     _Strict_type_match_
29468a978a17SVictor Perevertkin     POOL_TYPE PoolType,
29478a978a17SVictor Perevertkin     _In_opt_
29488a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
29498a978a17SVictor Perevertkin     _Out_
29508a978a17SVictor Perevertkin     WDFMEMORY* PropertyMemory
29518a978a17SVictor Perevertkin     );
29528a978a17SVictor Perevertkin 
29538a978a17SVictor Perevertkin _Must_inspect_result_
29548a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
29558a978a17SVictor Perevertkin WDFAPI
29568a978a17SVictor Perevertkin NTSTATUS
29571f377076SVictor Perevertkin STDCALL
29588a978a17SVictor Perevertkin WDFEXPORT(WdfFdoInitQueryPropertyEx)(
29598a978a17SVictor Perevertkin     _In_
29608a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
29618a978a17SVictor Perevertkin     _In_
29628a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
29638a978a17SVictor Perevertkin     _In_
29648a978a17SVictor Perevertkin     PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
29658a978a17SVictor Perevertkin     _In_
29668a978a17SVictor Perevertkin     ULONG BufferLength,
29678a978a17SVictor Perevertkin     _Out_
29688a978a17SVictor Perevertkin     PVOID PropertyBuffer,
29698a978a17SVictor Perevertkin     _Out_
29708a978a17SVictor Perevertkin     PULONG ResultLength,
29718a978a17SVictor Perevertkin     _Out_
29728a978a17SVictor Perevertkin     PDEVPROPTYPE Type
29738a978a17SVictor Perevertkin     );
29748a978a17SVictor Perevertkin 
29758a978a17SVictor Perevertkin _Must_inspect_result_
29768a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
29778a978a17SVictor Perevertkin WDFAPI
29788a978a17SVictor Perevertkin NTSTATUS
29791f377076SVictor Perevertkin STDCALL
29808a978a17SVictor Perevertkin WDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)(
29818a978a17SVictor Perevertkin     _In_
29828a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
29838a978a17SVictor Perevertkin     _In_
29848a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
29858a978a17SVictor Perevertkin     _In_
29868a978a17SVictor Perevertkin     PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
29878a978a17SVictor Perevertkin     _In_
29888a978a17SVictor Perevertkin     _Strict_type_match_
29898a978a17SVictor Perevertkin     POOL_TYPE PoolType,
29908a978a17SVictor Perevertkin     _In_opt_
29918a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
29928a978a17SVictor Perevertkin     _Out_
29938a978a17SVictor Perevertkin     WDFMEMORY* PropertyMemory,
29948a978a17SVictor Perevertkin     _Out_
29958a978a17SVictor Perevertkin     PDEVPROPTYPE Type
29968a978a17SVictor Perevertkin     );
29978a978a17SVictor Perevertkin 
29988a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
29998a978a17SVictor Perevertkin WDFAPI
30008a978a17SVictor Perevertkin VOID
30011f377076SVictor Perevertkin STDCALL
30028a978a17SVictor Perevertkin WDFEXPORT(WdfFdoInitSetEventCallbacks)(
30038a978a17SVictor Perevertkin     _In_
30048a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
30058a978a17SVictor Perevertkin     _In_
30068a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
30078a978a17SVictor Perevertkin     _In_
30088a978a17SVictor Perevertkin     PWDF_FDO_EVENT_CALLBACKS FdoEventCallbacks
30098a978a17SVictor Perevertkin     );
30108a978a17SVictor Perevertkin 
30118a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
30128a978a17SVictor Perevertkin WDFAPI
30138a978a17SVictor Perevertkin VOID
30141f377076SVictor Perevertkin STDCALL
30158a978a17SVictor Perevertkin WDFEXPORT(WdfFdoInitSetFilter)(
30168a978a17SVictor Perevertkin     _In_
30178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
30188a978a17SVictor Perevertkin     _In_
30198a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit
30208a978a17SVictor Perevertkin     );
30218a978a17SVictor Perevertkin 
30228a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
30238a978a17SVictor Perevertkin WDFAPI
30248a978a17SVictor Perevertkin VOID
30251f377076SVictor Perevertkin STDCALL
30268a978a17SVictor Perevertkin WDFEXPORT(WdfFdoInitSetDefaultChildListConfig)(
30278a978a17SVictor Perevertkin     _In_
30288a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
30298a978a17SVictor Perevertkin     _Inout_
30308a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
30318a978a17SVictor Perevertkin     _In_
30328a978a17SVictor Perevertkin     PWDF_CHILD_LIST_CONFIG Config,
30338a978a17SVictor Perevertkin     _In_opt_
30348a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES DefaultChildListAttributes
30358a978a17SVictor Perevertkin     );
30368a978a17SVictor Perevertkin 
30378a978a17SVictor Perevertkin _Must_inspect_result_
30388a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
30398a978a17SVictor Perevertkin WDFAPI
30408a978a17SVictor Perevertkin NTSTATUS
30411f377076SVictor Perevertkin STDCALL
30428a978a17SVictor Perevertkin WDFEXPORT(WdfFdoQueryForInterface)(
30438a978a17SVictor Perevertkin     _In_
30448a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
30458a978a17SVictor Perevertkin     _In_
30468a978a17SVictor Perevertkin     WDFDEVICE Fdo,
30478a978a17SVictor Perevertkin     _In_
30488a978a17SVictor Perevertkin     LPCGUID InterfaceType,
30498a978a17SVictor Perevertkin     _Out_
30508a978a17SVictor Perevertkin     PINTERFACE Interface,
30518a978a17SVictor Perevertkin     _In_
30528a978a17SVictor Perevertkin     USHORT Size,
30538a978a17SVictor Perevertkin     _In_
30548a978a17SVictor Perevertkin     USHORT Version,
30558a978a17SVictor Perevertkin     _In_opt_
30568a978a17SVictor Perevertkin     PVOID InterfaceSpecificData
30578a978a17SVictor Perevertkin     );
30588a978a17SVictor Perevertkin 
30598a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
30608a978a17SVictor Perevertkin WDFAPI
30618a978a17SVictor Perevertkin WDFCHILDLIST
30621f377076SVictor Perevertkin STDCALL
30638a978a17SVictor Perevertkin WDFEXPORT(WdfFdoGetDefaultChildList)(
30648a978a17SVictor Perevertkin     _In_
30658a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
30668a978a17SVictor Perevertkin     _In_
30678a978a17SVictor Perevertkin     WDFDEVICE Fdo
30688a978a17SVictor Perevertkin     );
30698a978a17SVictor Perevertkin 
30708a978a17SVictor Perevertkin _Must_inspect_result_
30718a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
30728a978a17SVictor Perevertkin WDFAPI
30738a978a17SVictor Perevertkin NTSTATUS
30741f377076SVictor Perevertkin STDCALL
30758a978a17SVictor Perevertkin WDFEXPORT(WdfFdoAddStaticChild)(
30768a978a17SVictor Perevertkin     _In_
30778a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
30788a978a17SVictor Perevertkin     _In_
30798a978a17SVictor Perevertkin     WDFDEVICE Fdo,
30808a978a17SVictor Perevertkin     _In_
30818a978a17SVictor Perevertkin     WDFDEVICE Child
30828a978a17SVictor Perevertkin     );
30838a978a17SVictor Perevertkin 
30848a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
30858a978a17SVictor Perevertkin WDFAPI
30868a978a17SVictor Perevertkin VOID
30871f377076SVictor Perevertkin STDCALL
30888a978a17SVictor Perevertkin WDFEXPORT(WdfFdoLockStaticChildListForIteration)(
30898a978a17SVictor Perevertkin     _In_
30908a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
30918a978a17SVictor Perevertkin     _In_
30928a978a17SVictor Perevertkin     WDFDEVICE Fdo
30938a978a17SVictor Perevertkin     );
30948a978a17SVictor Perevertkin 
30958a978a17SVictor Perevertkin _Must_inspect_result_
30968a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
30978a978a17SVictor Perevertkin WDFAPI
30988a978a17SVictor Perevertkin WDFDEVICE
30991f377076SVictor Perevertkin STDCALL
31008a978a17SVictor Perevertkin WDFEXPORT(WdfFdoRetrieveNextStaticChild)(
31018a978a17SVictor Perevertkin     _In_
31028a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
31038a978a17SVictor Perevertkin     _In_
31048a978a17SVictor Perevertkin     WDFDEVICE Fdo,
31058a978a17SVictor Perevertkin     _In_opt_
31068a978a17SVictor Perevertkin     WDFDEVICE PreviousChild,
31078a978a17SVictor Perevertkin     _In_
31088a978a17SVictor Perevertkin     ULONG Flags
31098a978a17SVictor Perevertkin     );
31108a978a17SVictor Perevertkin 
31118a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
31128a978a17SVictor Perevertkin WDFAPI
31138a978a17SVictor Perevertkin VOID
31141f377076SVictor Perevertkin STDCALL
31158a978a17SVictor Perevertkin WDFEXPORT(WdfFdoUnlockStaticChildListFromIteration)(
31168a978a17SVictor Perevertkin     _In_
31178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
31188a978a17SVictor Perevertkin     _In_
31198a978a17SVictor Perevertkin     WDFDEVICE Fdo
31208a978a17SVictor Perevertkin     );
31218a978a17SVictor Perevertkin 
31228a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
31238a978a17SVictor Perevertkin WDFAPI
31248a978a17SVictor Perevertkin PUNICODE_STRING
31251f377076SVictor Perevertkin STDCALL
31268a978a17SVictor Perevertkin WDFEXPORT(WdfFileObjectGetFileName)(
31278a978a17SVictor Perevertkin     _In_
31288a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
31298a978a17SVictor Perevertkin     _In_
31308a978a17SVictor Perevertkin     WDFFILEOBJECT FileObject
31318a978a17SVictor Perevertkin     );
31328a978a17SVictor Perevertkin 
31338a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
31348a978a17SVictor Perevertkin WDFAPI
31358a978a17SVictor Perevertkin ULONG
31361f377076SVictor Perevertkin STDCALL
31378a978a17SVictor Perevertkin WDFEXPORT(WdfFileObjectGetFlags)(
31388a978a17SVictor Perevertkin     _In_
31398a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
31408a978a17SVictor Perevertkin     _In_
31418a978a17SVictor Perevertkin     WDFFILEOBJECT FileObject
31428a978a17SVictor Perevertkin     );
31438a978a17SVictor Perevertkin 
31448a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
31458a978a17SVictor Perevertkin WDFAPI
31468a978a17SVictor Perevertkin WDFDEVICE
31471f377076SVictor Perevertkin STDCALL
31488a978a17SVictor Perevertkin WDFEXPORT(WdfFileObjectGetDevice)(
31498a978a17SVictor Perevertkin     _In_
31508a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
31518a978a17SVictor Perevertkin     _In_
31528a978a17SVictor Perevertkin     WDFFILEOBJECT FileObject
31538a978a17SVictor Perevertkin     );
31548a978a17SVictor Perevertkin 
31558a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
31568a978a17SVictor Perevertkin WDFAPI
31578a978a17SVictor Perevertkin PFILE_OBJECT
31581f377076SVictor Perevertkin STDCALL
31598a978a17SVictor Perevertkin WDFEXPORT(WdfFileObjectWdmGetFileObject)(
31608a978a17SVictor Perevertkin     _In_
31618a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
31628a978a17SVictor Perevertkin     _In_
31638a978a17SVictor Perevertkin     WDFFILEOBJECT FileObject
31648a978a17SVictor Perevertkin     );
31658a978a17SVictor Perevertkin 
31668a978a17SVictor Perevertkin _Must_inspect_result_
31678a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
31688a978a17SVictor Perevertkin WDFAPI
31698a978a17SVictor Perevertkin NTSTATUS
31701f377076SVictor Perevertkin STDCALL
31718a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptCreate)(
31728a978a17SVictor Perevertkin     _In_
31738a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
31748a978a17SVictor Perevertkin     _In_
31758a978a17SVictor Perevertkin     WDFDEVICE Device,
31768a978a17SVictor Perevertkin     _In_
31778a978a17SVictor Perevertkin     PWDF_INTERRUPT_CONFIG Configuration,
31788a978a17SVictor Perevertkin     _In_opt_
31798a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
31808a978a17SVictor Perevertkin     _Out_
31818a978a17SVictor Perevertkin     WDFINTERRUPT* Interrupt
31828a978a17SVictor Perevertkin     );
31838a978a17SVictor Perevertkin 
31848a978a17SVictor Perevertkin WDFAPI
31858a978a17SVictor Perevertkin BOOLEAN
31861f377076SVictor Perevertkin STDCALL
31878a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptQueueDpcForIsr)(
31888a978a17SVictor Perevertkin     _In_
31898a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
31908a978a17SVictor Perevertkin     _In_
31918a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
31928a978a17SVictor Perevertkin     );
31938a978a17SVictor Perevertkin 
31948a978a17SVictor Perevertkin WDFAPI
31958a978a17SVictor Perevertkin BOOLEAN
31961f377076SVictor Perevertkin STDCALL
31978a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptQueueWorkItemForIsr)(
31988a978a17SVictor Perevertkin     _In_
31998a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
32008a978a17SVictor Perevertkin     _In_
32018a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
32028a978a17SVictor Perevertkin     );
32038a978a17SVictor Perevertkin 
32048a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
32058a978a17SVictor Perevertkin WDFAPI
32068a978a17SVictor Perevertkin BOOLEAN
32071f377076SVictor Perevertkin STDCALL
32088a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptSynchronize)(
32098a978a17SVictor Perevertkin     _In_
32108a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
32118a978a17SVictor Perevertkin     _In_
32128a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt,
32138a978a17SVictor Perevertkin     _In_
32148a978a17SVictor Perevertkin     PFN_WDF_INTERRUPT_SYNCHRONIZE Callback,
32158a978a17SVictor Perevertkin     _In_
32168a978a17SVictor Perevertkin     WDFCONTEXT Context
32178a978a17SVictor Perevertkin     );
32188a978a17SVictor Perevertkin 
32198a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL + 1)
32208a978a17SVictor Perevertkin WDFAPI
32218a978a17SVictor Perevertkin VOID
32221f377076SVictor Perevertkin STDCALL
32238a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptAcquireLock)(
32248a978a17SVictor Perevertkin     _In_
32258a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
32268a978a17SVictor Perevertkin     _In_
32278a978a17SVictor Perevertkin     _Requires_lock_not_held_(_Curr_)
32288a978a17SVictor Perevertkin     _Acquires_lock_(_Curr_)
32298a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
32308a978a17SVictor Perevertkin     );
32318a978a17SVictor Perevertkin 
32328a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL + 1)
32338a978a17SVictor Perevertkin WDFAPI
32348a978a17SVictor Perevertkin VOID
32351f377076SVictor Perevertkin STDCALL
32368a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptReleaseLock)(
32378a978a17SVictor Perevertkin     _In_
32388a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
32398a978a17SVictor Perevertkin     _In_
32408a978a17SVictor Perevertkin     _Requires_lock_held_(_Curr_)
32418a978a17SVictor Perevertkin     _Releases_lock_(_Curr_)
32428a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
32438a978a17SVictor Perevertkin     );
32448a978a17SVictor Perevertkin 
32458a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
32468a978a17SVictor Perevertkin WDFAPI
32478a978a17SVictor Perevertkin VOID
32481f377076SVictor Perevertkin STDCALL
32498a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptEnable)(
32508a978a17SVictor Perevertkin     _In_
32518a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
32528a978a17SVictor Perevertkin     _In_
32538a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
32548a978a17SVictor Perevertkin     );
32558a978a17SVictor Perevertkin 
32568a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
32578a978a17SVictor Perevertkin WDFAPI
32588a978a17SVictor Perevertkin VOID
32591f377076SVictor Perevertkin STDCALL
32608a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptDisable)(
32618a978a17SVictor Perevertkin     _In_
32628a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
32638a978a17SVictor Perevertkin     _In_
32648a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
32658a978a17SVictor Perevertkin     );
32668a978a17SVictor Perevertkin 
32678a978a17SVictor Perevertkin _Must_inspect_result_
32688a978a17SVictor Perevertkin WDFAPI
32698a978a17SVictor Perevertkin PKINTERRUPT
32701f377076SVictor Perevertkin STDCALL
32718a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptWdmGetInterrupt)(
32728a978a17SVictor Perevertkin     _In_
32738a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
32748a978a17SVictor Perevertkin     _In_
32758a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
32768a978a17SVictor Perevertkin     );
32778a978a17SVictor Perevertkin 
32788a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
32798a978a17SVictor Perevertkin WDFAPI
32808a978a17SVictor Perevertkin VOID
32811f377076SVictor Perevertkin STDCALL
32828a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptGetInfo)(
32838a978a17SVictor Perevertkin     _In_
32848a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
32858a978a17SVictor Perevertkin     _In_
32868a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt,
32878a978a17SVictor Perevertkin     _Out_
32888a978a17SVictor Perevertkin     PWDF_INTERRUPT_INFO Info
32898a978a17SVictor Perevertkin     );
32908a978a17SVictor Perevertkin 
32918a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
32928a978a17SVictor Perevertkin WDFAPI
32938a978a17SVictor Perevertkin VOID
32941f377076SVictor Perevertkin STDCALL
32958a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptSetPolicy)(
32968a978a17SVictor Perevertkin     _In_
32978a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
32988a978a17SVictor Perevertkin     _In_
32998a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt,
33008a978a17SVictor Perevertkin     _In_
33018a978a17SVictor Perevertkin     WDF_INTERRUPT_POLICY Policy,
33028a978a17SVictor Perevertkin     _In_
33038a978a17SVictor Perevertkin     WDF_INTERRUPT_PRIORITY Priority,
33048a978a17SVictor Perevertkin     _In_
33058a978a17SVictor Perevertkin     KAFFINITY TargetProcessorSet
33068a978a17SVictor Perevertkin     );
33078a978a17SVictor Perevertkin 
33088a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
33098a978a17SVictor Perevertkin WDFAPI
33108a978a17SVictor Perevertkin VOID
33111f377076SVictor Perevertkin STDCALL
33128a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptSetExtendedPolicy)(
33138a978a17SVictor Perevertkin     _In_
33148a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
33158a978a17SVictor Perevertkin     _In_
33168a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt,
33178a978a17SVictor Perevertkin     _In_
33188a978a17SVictor Perevertkin     PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
33198a978a17SVictor Perevertkin     );
33208a978a17SVictor Perevertkin 
33218a978a17SVictor Perevertkin WDFAPI
33228a978a17SVictor Perevertkin WDFDEVICE
33231f377076SVictor Perevertkin STDCALL
33248a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptGetDevice)(
33258a978a17SVictor Perevertkin     _In_
33268a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
33278a978a17SVictor Perevertkin     _In_
33288a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
33298a978a17SVictor Perevertkin     );
33308a978a17SVictor Perevertkin 
33318a978a17SVictor Perevertkin _Must_inspect_result_
33328a978a17SVictor Perevertkin _Post_satisfies_(return == 1 || return == 0)
33338a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
33348a978a17SVictor Perevertkin WDFAPI
33358a978a17SVictor Perevertkin BOOLEAN
33361f377076SVictor Perevertkin STDCALL
33378a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptTryToAcquireLock)(
33388a978a17SVictor Perevertkin     _In_
33398a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
33408a978a17SVictor Perevertkin     _In_
33418a978a17SVictor Perevertkin     _Requires_lock_not_held_(_Curr_)
33428a978a17SVictor Perevertkin     _When_(return!=0, _Acquires_lock_(_Curr_))
33438a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
33448a978a17SVictor Perevertkin     );
33458a978a17SVictor Perevertkin 
33468a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
33478a978a17SVictor Perevertkin WDFAPI
33488a978a17SVictor Perevertkin VOID
33491f377076SVictor Perevertkin STDCALL
33508a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptReportActive)(
33518a978a17SVictor Perevertkin     _In_
33528a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
33538a978a17SVictor Perevertkin     _In_
33548a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
33558a978a17SVictor Perevertkin     );
33568a978a17SVictor Perevertkin 
33578a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
33588a978a17SVictor Perevertkin WDFAPI
33598a978a17SVictor Perevertkin VOID
33601f377076SVictor Perevertkin STDCALL
33618a978a17SVictor Perevertkin WDFEXPORT(WdfInterruptReportInactive)(
33628a978a17SVictor Perevertkin     _In_
33638a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
33648a978a17SVictor Perevertkin     _In_
33658a978a17SVictor Perevertkin     WDFINTERRUPT Interrupt
33668a978a17SVictor Perevertkin     );
33678a978a17SVictor Perevertkin 
33688a978a17SVictor Perevertkin _Must_inspect_result_
33698a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
33708a978a17SVictor Perevertkin WDFAPI
33718a978a17SVictor Perevertkin NTSTATUS
33721f377076SVictor Perevertkin STDCALL
33738a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueCreate)(
33748a978a17SVictor Perevertkin     _In_
33758a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
33768a978a17SVictor Perevertkin     _In_
33778a978a17SVictor Perevertkin     WDFDEVICE Device,
33788a978a17SVictor Perevertkin     _In_
33798a978a17SVictor Perevertkin     PWDF_IO_QUEUE_CONFIG Config,
33808a978a17SVictor Perevertkin     _In_opt_
33818a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES QueueAttributes,
33828a978a17SVictor Perevertkin     _Out_opt_
33838a978a17SVictor Perevertkin     WDFQUEUE* Queue
33848a978a17SVictor Perevertkin     );
33858a978a17SVictor Perevertkin 
33868a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
33878a978a17SVictor Perevertkin WDFAPI
33888a978a17SVictor Perevertkin WDF_IO_QUEUE_STATE
33891f377076SVictor Perevertkin STDCALL
33908a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueGetState)(
33918a978a17SVictor Perevertkin     _In_
33928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
33938a978a17SVictor Perevertkin     _In_
33948a978a17SVictor Perevertkin     WDFQUEUE Queue,
33958a978a17SVictor Perevertkin     _Out_opt_
33968a978a17SVictor Perevertkin     PULONG QueueRequests,
33978a978a17SVictor Perevertkin     _Out_opt_
33988a978a17SVictor Perevertkin     PULONG DriverRequests
33998a978a17SVictor Perevertkin     );
34008a978a17SVictor Perevertkin 
34018a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
34028a978a17SVictor Perevertkin WDFAPI
34038a978a17SVictor Perevertkin VOID
34041f377076SVictor Perevertkin STDCALL
34058a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueStart)(
34068a978a17SVictor Perevertkin     _In_
34078a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
34088a978a17SVictor Perevertkin     _In_
34098a978a17SVictor Perevertkin     WDFQUEUE Queue
34108a978a17SVictor Perevertkin     );
34118a978a17SVictor Perevertkin 
34128a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
34138a978a17SVictor Perevertkin WDFAPI
34148a978a17SVictor Perevertkin VOID
34151f377076SVictor Perevertkin STDCALL
34168a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueStop)(
34178a978a17SVictor Perevertkin     _In_
34188a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
34198a978a17SVictor Perevertkin     _In_
34208a978a17SVictor Perevertkin     WDFQUEUE Queue,
34218a978a17SVictor Perevertkin     _When_(Context != 0, _In_)
34228a978a17SVictor Perevertkin     _When_(Context == 0, _In_opt_)
34238a978a17SVictor Perevertkin     PFN_WDF_IO_QUEUE_STATE StopComplete,
34248a978a17SVictor Perevertkin     _When_(StopComplete != 0, _In_)
34258a978a17SVictor Perevertkin     _When_(StopComplete == 0, _In_opt_)
34268a978a17SVictor Perevertkin     WDFCONTEXT Context
34278a978a17SVictor Perevertkin     );
34288a978a17SVictor Perevertkin 
34298a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
34308a978a17SVictor Perevertkin WDFAPI
34318a978a17SVictor Perevertkin VOID
34321f377076SVictor Perevertkin STDCALL
34338a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueStopSynchronously)(
34348a978a17SVictor Perevertkin     _In_
34358a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
34368a978a17SVictor Perevertkin     _In_
34378a978a17SVictor Perevertkin     WDFQUEUE Queue
34388a978a17SVictor Perevertkin     );
34398a978a17SVictor Perevertkin 
34408a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
34418a978a17SVictor Perevertkin WDFAPI
34428a978a17SVictor Perevertkin WDFDEVICE
34431f377076SVictor Perevertkin STDCALL
34448a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueGetDevice)(
34458a978a17SVictor Perevertkin     _In_
34468a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
34478a978a17SVictor Perevertkin     _In_
34488a978a17SVictor Perevertkin     WDFQUEUE Queue
34498a978a17SVictor Perevertkin     );
34508a978a17SVictor Perevertkin 
34518a978a17SVictor Perevertkin _Must_inspect_result_
34528a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
34538a978a17SVictor Perevertkin WDFAPI
34548a978a17SVictor Perevertkin NTSTATUS
34551f377076SVictor Perevertkin STDCALL
34568a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueRetrieveNextRequest)(
34578a978a17SVictor Perevertkin     _In_
34588a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
34598a978a17SVictor Perevertkin     _In_
34608a978a17SVictor Perevertkin     WDFQUEUE Queue,
34618a978a17SVictor Perevertkin     _Out_
34628a978a17SVictor Perevertkin     WDFREQUEST* OutRequest
34638a978a17SVictor Perevertkin     );
34648a978a17SVictor Perevertkin 
34658a978a17SVictor Perevertkin _Must_inspect_result_
34668a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
34678a978a17SVictor Perevertkin WDFAPI
34688a978a17SVictor Perevertkin NTSTATUS
34691f377076SVictor Perevertkin STDCALL
34708a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueRetrieveRequestByFileObject)(
34718a978a17SVictor Perevertkin     _In_
34728a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
34738a978a17SVictor Perevertkin     _In_
34748a978a17SVictor Perevertkin     WDFQUEUE Queue,
34758a978a17SVictor Perevertkin     _In_
34768a978a17SVictor Perevertkin     WDFFILEOBJECT FileObject,
34778a978a17SVictor Perevertkin     _Out_
34788a978a17SVictor Perevertkin     WDFREQUEST* OutRequest
34798a978a17SVictor Perevertkin     );
34808a978a17SVictor Perevertkin 
34818a978a17SVictor Perevertkin _Must_inspect_result_
34828a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
34838a978a17SVictor Perevertkin WDFAPI
34848a978a17SVictor Perevertkin NTSTATUS
34851f377076SVictor Perevertkin STDCALL
34868a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueFindRequest)(
34878a978a17SVictor Perevertkin     _In_
34888a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
34898a978a17SVictor Perevertkin     _In_
34908a978a17SVictor Perevertkin     WDFQUEUE Queue,
34918a978a17SVictor Perevertkin     _In_opt_
34928a978a17SVictor Perevertkin     WDFREQUEST FoundRequest,
34938a978a17SVictor Perevertkin     _In_opt_
34948a978a17SVictor Perevertkin     WDFFILEOBJECT FileObject,
34958a978a17SVictor Perevertkin     _Inout_opt_
34968a978a17SVictor Perevertkin     PWDF_REQUEST_PARAMETERS Parameters,
34978a978a17SVictor Perevertkin     _Out_
34988a978a17SVictor Perevertkin     WDFREQUEST* OutRequest
34998a978a17SVictor Perevertkin     );
35008a978a17SVictor Perevertkin 
35018a978a17SVictor Perevertkin _Must_inspect_result_
35028a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
35038a978a17SVictor Perevertkin WDFAPI
35048a978a17SVictor Perevertkin NTSTATUS
35051f377076SVictor Perevertkin STDCALL
35068a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueRetrieveFoundRequest)(
35078a978a17SVictor Perevertkin     _In_
35088a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
35098a978a17SVictor Perevertkin     _In_
35108a978a17SVictor Perevertkin     WDFQUEUE Queue,
35118a978a17SVictor Perevertkin     _In_
35128a978a17SVictor Perevertkin     WDFREQUEST FoundRequest,
35138a978a17SVictor Perevertkin     _Out_
35148a978a17SVictor Perevertkin     WDFREQUEST* OutRequest
35158a978a17SVictor Perevertkin     );
35168a978a17SVictor Perevertkin 
35178a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
35188a978a17SVictor Perevertkin WDFAPI
35198a978a17SVictor Perevertkin VOID
35201f377076SVictor Perevertkin STDCALL
35218a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueDrainSynchronously)(
35228a978a17SVictor Perevertkin     _In_
35238a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
35248a978a17SVictor Perevertkin     _In_
35258a978a17SVictor Perevertkin     WDFQUEUE Queue
35268a978a17SVictor Perevertkin     );
35278a978a17SVictor Perevertkin 
35288a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
35298a978a17SVictor Perevertkin WDFAPI
35308a978a17SVictor Perevertkin VOID
35311f377076SVictor Perevertkin STDCALL
35328a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueDrain)(
35338a978a17SVictor Perevertkin     _In_
35348a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
35358a978a17SVictor Perevertkin     _In_
35368a978a17SVictor Perevertkin     WDFQUEUE Queue,
35378a978a17SVictor Perevertkin     _When_(Context != 0, _In_)
35388a978a17SVictor Perevertkin     _When_(Context == 0, _In_opt_)
35398a978a17SVictor Perevertkin     PFN_WDF_IO_QUEUE_STATE DrainComplete,
35408a978a17SVictor Perevertkin     _When_(DrainComplete != 0, _In_)
35418a978a17SVictor Perevertkin     _When_(DrainComplete == 0, _In_opt_)
35428a978a17SVictor Perevertkin     WDFCONTEXT Context
35438a978a17SVictor Perevertkin     );
35448a978a17SVictor Perevertkin 
35458a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
35468a978a17SVictor Perevertkin WDFAPI
35478a978a17SVictor Perevertkin VOID
35481f377076SVictor Perevertkin STDCALL
35498a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueuePurgeSynchronously)(
35508a978a17SVictor Perevertkin     _In_
35518a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
35528a978a17SVictor Perevertkin     _In_
35538a978a17SVictor Perevertkin     WDFQUEUE Queue
35548a978a17SVictor Perevertkin     );
35558a978a17SVictor Perevertkin 
35568a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
35578a978a17SVictor Perevertkin WDFAPI
35588a978a17SVictor Perevertkin VOID
35591f377076SVictor Perevertkin STDCALL
35608a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueuePurge)(
35618a978a17SVictor Perevertkin     _In_
35628a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
35638a978a17SVictor Perevertkin     _In_
35648a978a17SVictor Perevertkin     WDFQUEUE Queue,
35658a978a17SVictor Perevertkin     _When_(Context != 0, _In_)
35668a978a17SVictor Perevertkin     _When_(Context == 0, _In_opt_)
35678a978a17SVictor Perevertkin     PFN_WDF_IO_QUEUE_STATE PurgeComplete,
35688a978a17SVictor Perevertkin     _When_(PurgeComplete != 0, _In_)
35698a978a17SVictor Perevertkin     _When_(PurgeComplete == 0, _In_opt_)
35708a978a17SVictor Perevertkin     WDFCONTEXT Context
35718a978a17SVictor Perevertkin     );
35728a978a17SVictor Perevertkin 
35738a978a17SVictor Perevertkin _Must_inspect_result_
35748a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
35758a978a17SVictor Perevertkin WDFAPI
35768a978a17SVictor Perevertkin NTSTATUS
35771f377076SVictor Perevertkin STDCALL
35788a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueReadyNotify)(
35798a978a17SVictor Perevertkin     _In_
35808a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
35818a978a17SVictor Perevertkin     _In_
35828a978a17SVictor Perevertkin     WDFQUEUE Queue,
35838a978a17SVictor Perevertkin     _In_opt_
35848a978a17SVictor Perevertkin     PFN_WDF_IO_QUEUE_STATE QueueReady,
35858a978a17SVictor Perevertkin     _In_opt_
35868a978a17SVictor Perevertkin     WDFCONTEXT Context
35878a978a17SVictor Perevertkin     );
35888a978a17SVictor Perevertkin 
35898a978a17SVictor Perevertkin _Must_inspect_result_
35908a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
35918a978a17SVictor Perevertkin WDFAPI
35928a978a17SVictor Perevertkin NTSTATUS
35931f377076SVictor Perevertkin STDCALL
35948a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueAssignForwardProgressPolicy)(
35958a978a17SVictor Perevertkin     _In_
35968a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
35978a978a17SVictor Perevertkin     _In_
35988a978a17SVictor Perevertkin     WDFQUEUE Queue,
35998a978a17SVictor Perevertkin     _In_
36008a978a17SVictor Perevertkin     PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY ForwardProgressPolicy
36018a978a17SVictor Perevertkin     );
36028a978a17SVictor Perevertkin 
36038a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
36048a978a17SVictor Perevertkin WDFAPI
36058a978a17SVictor Perevertkin VOID
36061f377076SVictor Perevertkin STDCALL
36078a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueStopAndPurge)(
36088a978a17SVictor Perevertkin     _In_
36098a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
36108a978a17SVictor Perevertkin     _In_
36118a978a17SVictor Perevertkin     WDFQUEUE Queue,
36128a978a17SVictor Perevertkin     _When_(Context != 0, _In_)
36138a978a17SVictor Perevertkin     _When_(Context == 0, _In_opt_)
36148a978a17SVictor Perevertkin     PFN_WDF_IO_QUEUE_STATE StopAndPurgeComplete,
36158a978a17SVictor Perevertkin     _When_(StopAndPurgeComplete != 0, _In_)
36168a978a17SVictor Perevertkin     _When_(StopAndPurgeComplete == 0, _In_opt_)
36178a978a17SVictor Perevertkin     WDFCONTEXT Context
36188a978a17SVictor Perevertkin     );
36198a978a17SVictor Perevertkin 
36208a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
36218a978a17SVictor Perevertkin WDFAPI
36228a978a17SVictor Perevertkin VOID
36231f377076SVictor Perevertkin STDCALL
36248a978a17SVictor Perevertkin WDFEXPORT(WdfIoQueueStopAndPurgeSynchronously)(
36258a978a17SVictor Perevertkin     _In_
36268a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
36278a978a17SVictor Perevertkin     _In_
36288a978a17SVictor Perevertkin     WDFQUEUE Queue
36298a978a17SVictor Perevertkin     );
36308a978a17SVictor Perevertkin 
36318a978a17SVictor Perevertkin _Must_inspect_result_
36328a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
36338a978a17SVictor Perevertkin WDFAPI
36348a978a17SVictor Perevertkin NTSTATUS
36351f377076SVictor Perevertkin STDCALL
36368a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetCreate)(
36378a978a17SVictor Perevertkin     _In_
36388a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
36398a978a17SVictor Perevertkin     _In_
36408a978a17SVictor Perevertkin     WDFDEVICE Device,
36418a978a17SVictor Perevertkin     _In_opt_
36428a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES IoTargetAttributes,
36438a978a17SVictor Perevertkin     _Out_
36448a978a17SVictor Perevertkin     WDFIOTARGET* IoTarget
36458a978a17SVictor Perevertkin     );
36468a978a17SVictor Perevertkin 
36478a978a17SVictor Perevertkin _Must_inspect_result_
36488a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
36498a978a17SVictor Perevertkin WDFAPI
36508a978a17SVictor Perevertkin NTSTATUS
36511f377076SVictor Perevertkin STDCALL
36528a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetOpen)(
36538a978a17SVictor Perevertkin     _In_
36548a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
36558a978a17SVictor Perevertkin     _In_
36568a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
36578a978a17SVictor Perevertkin     _In_
36588a978a17SVictor Perevertkin     PWDF_IO_TARGET_OPEN_PARAMS OpenParams
36598a978a17SVictor Perevertkin     );
36608a978a17SVictor Perevertkin 
36618a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
36628a978a17SVictor Perevertkin WDFAPI
36638a978a17SVictor Perevertkin VOID
36641f377076SVictor Perevertkin STDCALL
36658a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetCloseForQueryRemove)(
36668a978a17SVictor Perevertkin     _In_
36678a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
36688a978a17SVictor Perevertkin     _In_
36698a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
36708a978a17SVictor Perevertkin     );
36718a978a17SVictor Perevertkin 
36728a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
36738a978a17SVictor Perevertkin WDFAPI
36748a978a17SVictor Perevertkin VOID
36751f377076SVictor Perevertkin STDCALL
36768a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetClose)(
36778a978a17SVictor Perevertkin     _In_
36788a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
36798a978a17SVictor Perevertkin     _In_
36808a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
36818a978a17SVictor Perevertkin     );
36828a978a17SVictor Perevertkin 
36838a978a17SVictor Perevertkin _Must_inspect_result_
36848a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
36858a978a17SVictor Perevertkin WDFAPI
36868a978a17SVictor Perevertkin NTSTATUS
36871f377076SVictor Perevertkin STDCALL
36888a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetStart)(
36898a978a17SVictor Perevertkin     _In_
36908a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
36918a978a17SVictor Perevertkin     _In_
36928a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
36938a978a17SVictor Perevertkin     );
36948a978a17SVictor Perevertkin 
36958a978a17SVictor Perevertkin _When_(Action == 3, _IRQL_requires_max_(DISPATCH_LEVEL))
36968a978a17SVictor Perevertkin _When_(Action == 0 || Action == 1 || Action == 2, _IRQL_requires_max_(PASSIVE_LEVEL))
36978a978a17SVictor Perevertkin WDFAPI
36988a978a17SVictor Perevertkin VOID
36991f377076SVictor Perevertkin STDCALL
37008a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetStop)(
37018a978a17SVictor Perevertkin     _In_
37028a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
37038a978a17SVictor Perevertkin     _In_
37048a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
37058a978a17SVictor Perevertkin     _In_
37068a978a17SVictor Perevertkin     _Strict_type_match_
37078a978a17SVictor Perevertkin     WDF_IO_TARGET_SENT_IO_ACTION Action
37088a978a17SVictor Perevertkin     );
37098a978a17SVictor Perevertkin 
37108a978a17SVictor Perevertkin _When_(Action == 2, _IRQL_requires_max_(DISPATCH_LEVEL))
37118a978a17SVictor Perevertkin _When_(Action == 0 || Action == 1, _IRQL_requires_max_(PASSIVE_LEVEL))
37128a978a17SVictor Perevertkin WDFAPI
37138a978a17SVictor Perevertkin VOID
37141f377076SVictor Perevertkin STDCALL
37158a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetPurge)(
37168a978a17SVictor Perevertkin     _In_
37178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
37188a978a17SVictor Perevertkin     _In_
37198a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
37208a978a17SVictor Perevertkin     _In_
37218a978a17SVictor Perevertkin     _Strict_type_match_
37228a978a17SVictor Perevertkin     WDF_IO_TARGET_PURGE_IO_ACTION Action
37238a978a17SVictor Perevertkin     );
37248a978a17SVictor Perevertkin 
37258a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
37268a978a17SVictor Perevertkin WDFAPI
37278a978a17SVictor Perevertkin WDF_IO_TARGET_STATE
37281f377076SVictor Perevertkin STDCALL
37298a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetGetState)(
37308a978a17SVictor Perevertkin     _In_
37318a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
37328a978a17SVictor Perevertkin     _In_
37338a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
37348a978a17SVictor Perevertkin     );
37358a978a17SVictor Perevertkin 
37368a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
37378a978a17SVictor Perevertkin WDFAPI
37388a978a17SVictor Perevertkin WDFDEVICE
37391f377076SVictor Perevertkin STDCALL
37408a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetGetDevice)(
37418a978a17SVictor Perevertkin     _In_
37428a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
37438a978a17SVictor Perevertkin     _In_
37448a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
37458a978a17SVictor Perevertkin     );
37468a978a17SVictor Perevertkin 
37478a978a17SVictor Perevertkin _Must_inspect_result_
37488a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
37498a978a17SVictor Perevertkin WDFAPI
37508a978a17SVictor Perevertkin NTSTATUS
37511f377076SVictor Perevertkin STDCALL
37528a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetQueryTargetProperty)(
37538a978a17SVictor Perevertkin     _In_
37548a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
37558a978a17SVictor Perevertkin     _In_
37568a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
37578a978a17SVictor Perevertkin     _In_
37588a978a17SVictor Perevertkin     DEVICE_REGISTRY_PROPERTY DeviceProperty,
37598a978a17SVictor Perevertkin     _In_
37608a978a17SVictor Perevertkin     ULONG BufferLength,
37618a978a17SVictor Perevertkin     _When_(BufferLength != 0, _Out_writes_bytes_to_opt_(BufferLength, *ResultLength))
37628a978a17SVictor Perevertkin     _When_(BufferLength == 0, _Out_opt_)
37638a978a17SVictor Perevertkin     PVOID PropertyBuffer,
37648a978a17SVictor Perevertkin     _Deref_out_range_(<=,BufferLength)
37658a978a17SVictor Perevertkin     PULONG ResultLength
37668a978a17SVictor Perevertkin     );
37678a978a17SVictor Perevertkin 
37688a978a17SVictor Perevertkin _Must_inspect_result_
37698a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
37708a978a17SVictor Perevertkin WDFAPI
37718a978a17SVictor Perevertkin NTSTATUS
37721f377076SVictor Perevertkin STDCALL
37738a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty)(
37748a978a17SVictor Perevertkin     _In_
37758a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
37768a978a17SVictor Perevertkin     _In_
37778a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
37788a978a17SVictor Perevertkin     _In_
37798a978a17SVictor Perevertkin     DEVICE_REGISTRY_PROPERTY DeviceProperty,
37808a978a17SVictor Perevertkin     _In_
37818a978a17SVictor Perevertkin     _Strict_type_match_
37828a978a17SVictor Perevertkin     POOL_TYPE PoolType,
37838a978a17SVictor Perevertkin     _In_opt_
37848a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
37858a978a17SVictor Perevertkin     _Out_
37868a978a17SVictor Perevertkin     WDFMEMORY* PropertyMemory
37878a978a17SVictor Perevertkin     );
37888a978a17SVictor Perevertkin 
37898a978a17SVictor Perevertkin _Must_inspect_result_
37908a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
37918a978a17SVictor Perevertkin WDFAPI
37928a978a17SVictor Perevertkin NTSTATUS
37931f377076SVictor Perevertkin STDCALL
37948a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetQueryForInterface)(
37958a978a17SVictor Perevertkin     _In_
37968a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
37978a978a17SVictor Perevertkin     _In_
37988a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
37998a978a17SVictor Perevertkin     _In_
38008a978a17SVictor Perevertkin     LPCGUID InterfaceType,
38018a978a17SVictor Perevertkin     _Out_
38028a978a17SVictor Perevertkin     PINTERFACE Interface,
38038a978a17SVictor Perevertkin     _In_
38048a978a17SVictor Perevertkin     USHORT Size,
38058a978a17SVictor Perevertkin     _In_
38068a978a17SVictor Perevertkin     USHORT Version,
38078a978a17SVictor Perevertkin     _In_opt_
38088a978a17SVictor Perevertkin     PVOID InterfaceSpecificData
38098a978a17SVictor Perevertkin     );
38108a978a17SVictor Perevertkin 
38118a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
38128a978a17SVictor Perevertkin WDFAPI
38138a978a17SVictor Perevertkin PDEVICE_OBJECT
38141f377076SVictor Perevertkin STDCALL
38158a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject)(
38168a978a17SVictor Perevertkin     _In_
38178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
38188a978a17SVictor Perevertkin     _In_
38198a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
38208a978a17SVictor Perevertkin     );
38218a978a17SVictor Perevertkin 
38228a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
38238a978a17SVictor Perevertkin WDFAPI
38248a978a17SVictor Perevertkin PDEVICE_OBJECT
38251f377076SVictor Perevertkin STDCALL
38268a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice)(
38278a978a17SVictor Perevertkin     _In_
38288a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
38298a978a17SVictor Perevertkin     _In_
38308a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
38318a978a17SVictor Perevertkin     );
38328a978a17SVictor Perevertkin 
38338a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
38348a978a17SVictor Perevertkin WDFAPI
38358a978a17SVictor Perevertkin PFILE_OBJECT
38361f377076SVictor Perevertkin STDCALL
38378a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetWdmGetTargetFileObject)(
38388a978a17SVictor Perevertkin     _In_
38398a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
38408a978a17SVictor Perevertkin     _In_
38418a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
38428a978a17SVictor Perevertkin     );
38438a978a17SVictor Perevertkin 
38448a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
38458a978a17SVictor Perevertkin WDFAPI
38468a978a17SVictor Perevertkin HANDLE
38471f377076SVictor Perevertkin STDCALL
38488a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetWdmGetTargetFileHandle)(
38498a978a17SVictor Perevertkin     _In_
38508a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
38518a978a17SVictor Perevertkin     _In_
38528a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
38538a978a17SVictor Perevertkin     );
38548a978a17SVictor Perevertkin 
38558a978a17SVictor Perevertkin _Must_inspect_result_
38568a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
38578a978a17SVictor Perevertkin WDFAPI
38588a978a17SVictor Perevertkin NTSTATUS
38591f377076SVictor Perevertkin STDCALL
38608a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetSendReadSynchronously)(
38618a978a17SVictor Perevertkin     _In_
38628a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
38638a978a17SVictor Perevertkin     _In_
38648a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
38658a978a17SVictor Perevertkin     _In_opt_
38668a978a17SVictor Perevertkin     WDFREQUEST Request,
38678a978a17SVictor Perevertkin     _In_opt_
38688a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR OutputBuffer,
38698a978a17SVictor Perevertkin     _In_opt_
38708a978a17SVictor Perevertkin     PLONGLONG DeviceOffset,
38718a978a17SVictor Perevertkin     _In_opt_
38728a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
38738a978a17SVictor Perevertkin     _Out_opt_
38748a978a17SVictor Perevertkin     PULONG_PTR BytesRead
38758a978a17SVictor Perevertkin     );
38768a978a17SVictor Perevertkin 
38778a978a17SVictor Perevertkin _Must_inspect_result_
38788a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
38798a978a17SVictor Perevertkin WDFAPI
38808a978a17SVictor Perevertkin NTSTATUS
38811f377076SVictor Perevertkin STDCALL
38828a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetFormatRequestForRead)(
38838a978a17SVictor Perevertkin     _In_
38848a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
38858a978a17SVictor Perevertkin     _In_
38868a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
38878a978a17SVictor Perevertkin     _In_
38888a978a17SVictor Perevertkin     WDFREQUEST Request,
38898a978a17SVictor Perevertkin     _In_opt_
38908a978a17SVictor Perevertkin     WDFMEMORY OutputBuffer,
38918a978a17SVictor Perevertkin     _In_opt_
38928a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET OutputBufferOffset,
38938a978a17SVictor Perevertkin     _In_opt_
38948a978a17SVictor Perevertkin     PLONGLONG DeviceOffset
38958a978a17SVictor Perevertkin     );
38968a978a17SVictor Perevertkin 
38978a978a17SVictor Perevertkin _Must_inspect_result_
38988a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
38998a978a17SVictor Perevertkin WDFAPI
39008a978a17SVictor Perevertkin NTSTATUS
39011f377076SVictor Perevertkin STDCALL
39028a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetSendWriteSynchronously)(
39038a978a17SVictor Perevertkin     _In_
39048a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
39058a978a17SVictor Perevertkin     _In_
39068a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
39078a978a17SVictor Perevertkin     _In_opt_
39088a978a17SVictor Perevertkin     WDFREQUEST Request,
39098a978a17SVictor Perevertkin     _In_opt_
39108a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR InputBuffer,
39118a978a17SVictor Perevertkin     _In_opt_
39128a978a17SVictor Perevertkin     PLONGLONG DeviceOffset,
39138a978a17SVictor Perevertkin     _In_opt_
39148a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
39158a978a17SVictor Perevertkin     _Out_opt_
39168a978a17SVictor Perevertkin     PULONG_PTR BytesWritten
39178a978a17SVictor Perevertkin     );
39188a978a17SVictor Perevertkin 
39198a978a17SVictor Perevertkin _Must_inspect_result_
39208a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
39218a978a17SVictor Perevertkin WDFAPI
39228a978a17SVictor Perevertkin NTSTATUS
39231f377076SVictor Perevertkin STDCALL
39248a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetFormatRequestForWrite)(
39258a978a17SVictor Perevertkin     _In_
39268a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
39278a978a17SVictor Perevertkin     _In_
39288a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
39298a978a17SVictor Perevertkin     _In_
39308a978a17SVictor Perevertkin     WDFREQUEST Request,
39318a978a17SVictor Perevertkin     _In_opt_
39328a978a17SVictor Perevertkin     WDFMEMORY InputBuffer,
39338a978a17SVictor Perevertkin     _In_opt_
39348a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET InputBufferOffset,
39358a978a17SVictor Perevertkin     _In_opt_
39368a978a17SVictor Perevertkin     PLONGLONG DeviceOffset
39378a978a17SVictor Perevertkin     );
39388a978a17SVictor Perevertkin 
39398a978a17SVictor Perevertkin _Must_inspect_result_
39408a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
39418a978a17SVictor Perevertkin WDFAPI
39428a978a17SVictor Perevertkin NTSTATUS
39431f377076SVictor Perevertkin STDCALL
39448a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetSendIoctlSynchronously)(
39458a978a17SVictor Perevertkin     _In_
39468a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
39478a978a17SVictor Perevertkin     _In_
39488a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
39498a978a17SVictor Perevertkin     _In_opt_
39508a978a17SVictor Perevertkin     WDFREQUEST Request,
39518a978a17SVictor Perevertkin     _In_
39528a978a17SVictor Perevertkin     ULONG IoctlCode,
39538a978a17SVictor Perevertkin     _In_opt_
39548a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR InputBuffer,
39558a978a17SVictor Perevertkin     _In_opt_
39568a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR OutputBuffer,
39578a978a17SVictor Perevertkin     _In_opt_
39588a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
39598a978a17SVictor Perevertkin     _Out_opt_
39608a978a17SVictor Perevertkin     PULONG_PTR BytesReturned
39618a978a17SVictor Perevertkin     );
39628a978a17SVictor Perevertkin 
39638a978a17SVictor Perevertkin _Must_inspect_result_
39648a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
39658a978a17SVictor Perevertkin WDFAPI
39668a978a17SVictor Perevertkin NTSTATUS
39671f377076SVictor Perevertkin STDCALL
39688a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetFormatRequestForIoctl)(
39698a978a17SVictor Perevertkin     _In_
39708a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
39718a978a17SVictor Perevertkin     _In_
39728a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
39738a978a17SVictor Perevertkin     _In_
39748a978a17SVictor Perevertkin     WDFREQUEST Request,
39758a978a17SVictor Perevertkin     _In_
39768a978a17SVictor Perevertkin     ULONG IoctlCode,
39778a978a17SVictor Perevertkin     _In_opt_
39788a978a17SVictor Perevertkin     WDFMEMORY InputBuffer,
39798a978a17SVictor Perevertkin     _In_opt_
39808a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET InputBufferOffset,
39818a978a17SVictor Perevertkin     _In_opt_
39828a978a17SVictor Perevertkin     WDFMEMORY OutputBuffer,
39838a978a17SVictor Perevertkin     _In_opt_
39848a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET OutputBufferOffset
39858a978a17SVictor Perevertkin     );
39868a978a17SVictor Perevertkin 
39878a978a17SVictor Perevertkin _Must_inspect_result_
39888a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
39898a978a17SVictor Perevertkin WDFAPI
39908a978a17SVictor Perevertkin NTSTATUS
39911f377076SVictor Perevertkin STDCALL
39928a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously)(
39938a978a17SVictor Perevertkin     _In_
39948a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
39958a978a17SVictor Perevertkin     _In_
39968a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
39978a978a17SVictor Perevertkin     _In_opt_
39988a978a17SVictor Perevertkin     WDFREQUEST Request,
39998a978a17SVictor Perevertkin     _In_
40008a978a17SVictor Perevertkin     ULONG IoctlCode,
40018a978a17SVictor Perevertkin     _In_opt_
40028a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR InputBuffer,
40038a978a17SVictor Perevertkin     _In_opt_
40048a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR OutputBuffer,
40058a978a17SVictor Perevertkin     _In_opt_
40068a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
40078a978a17SVictor Perevertkin     _Out_opt_
40088a978a17SVictor Perevertkin     PULONG_PTR BytesReturned
40098a978a17SVictor Perevertkin     );
40108a978a17SVictor Perevertkin 
40118a978a17SVictor Perevertkin _Must_inspect_result_
40128a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
40138a978a17SVictor Perevertkin WDFAPI
40148a978a17SVictor Perevertkin NTSTATUS
40151f377076SVictor Perevertkin STDCALL
40168a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl)(
40178a978a17SVictor Perevertkin     _In_
40188a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
40198a978a17SVictor Perevertkin     _In_
40208a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
40218a978a17SVictor Perevertkin     _In_
40228a978a17SVictor Perevertkin     WDFREQUEST Request,
40238a978a17SVictor Perevertkin     _In_
40248a978a17SVictor Perevertkin     ULONG IoctlCode,
40258a978a17SVictor Perevertkin     _In_opt_
40268a978a17SVictor Perevertkin     WDFMEMORY InputBuffer,
40278a978a17SVictor Perevertkin     _In_opt_
40288a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET InputBufferOffset,
40298a978a17SVictor Perevertkin     _In_opt_
40308a978a17SVictor Perevertkin     WDFMEMORY OutputBuffer,
40318a978a17SVictor Perevertkin     _In_opt_
40328a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET OutputBufferOffset
40338a978a17SVictor Perevertkin     );
40348a978a17SVictor Perevertkin 
40358a978a17SVictor Perevertkin _Must_inspect_result_
40368a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
40378a978a17SVictor Perevertkin WDFAPI
40388a978a17SVictor Perevertkin NTSTATUS
40391f377076SVictor Perevertkin STDCALL
40408a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously)(
40418a978a17SVictor Perevertkin     _In_
40428a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
40438a978a17SVictor Perevertkin     _In_
40448a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
40458a978a17SVictor Perevertkin     _In_opt_
40468a978a17SVictor Perevertkin     WDFREQUEST Request,
40478a978a17SVictor Perevertkin     _In_
40488a978a17SVictor Perevertkin     ULONG IoctlCode,
40498a978a17SVictor Perevertkin     _In_opt_
40508a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR OtherArg1,
40518a978a17SVictor Perevertkin     _In_opt_
40528a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR OtherArg2,
40538a978a17SVictor Perevertkin     _In_opt_
40548a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR OtherArg4,
40558a978a17SVictor Perevertkin     _In_opt_
40568a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
40578a978a17SVictor Perevertkin     _Out_opt_
40588a978a17SVictor Perevertkin     PULONG_PTR BytesReturned
40598a978a17SVictor Perevertkin     );
40608a978a17SVictor Perevertkin 
40618a978a17SVictor Perevertkin _Must_inspect_result_
40628a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
40638a978a17SVictor Perevertkin WDFAPI
40648a978a17SVictor Perevertkin NTSTATUS
40651f377076SVictor Perevertkin STDCALL
40668a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers)(
40678a978a17SVictor Perevertkin     _In_
40688a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
40698a978a17SVictor Perevertkin     _In_
40708a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
40718a978a17SVictor Perevertkin     _In_
40728a978a17SVictor Perevertkin     WDFREQUEST Request,
40738a978a17SVictor Perevertkin     _In_
40748a978a17SVictor Perevertkin     ULONG IoctlCode,
40758a978a17SVictor Perevertkin     _In_opt_
40768a978a17SVictor Perevertkin     WDFMEMORY OtherArg1,
40778a978a17SVictor Perevertkin     _In_opt_
40788a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET OtherArg1Offset,
40798a978a17SVictor Perevertkin     _In_opt_
40808a978a17SVictor Perevertkin     WDFMEMORY OtherArg2,
40818a978a17SVictor Perevertkin     _In_opt_
40828a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET OtherArg2Offset,
40838a978a17SVictor Perevertkin     _In_opt_
40848a978a17SVictor Perevertkin     WDFMEMORY OtherArg4,
40858a978a17SVictor Perevertkin     _In_opt_
40868a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET OtherArg4Offset
40878a978a17SVictor Perevertkin     );
40888a978a17SVictor Perevertkin 
40898a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
40908a978a17SVictor Perevertkin WDFAPI
40918a978a17SVictor Perevertkin NTSTATUS
40921f377076SVictor Perevertkin STDCALL
40938a978a17SVictor Perevertkin WDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue)(
40948a978a17SVictor Perevertkin     _In_
40958a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
40968a978a17SVictor Perevertkin     _In_
40978a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
40988a978a17SVictor Perevertkin     _In_
40998a978a17SVictor Perevertkin     WDFQUEUE Queue
41008a978a17SVictor Perevertkin     );
41018a978a17SVictor Perevertkin 
41028a978a17SVictor Perevertkin _Must_inspect_result_
41038a978a17SVictor Perevertkin _When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL))
41048a978a17SVictor Perevertkin _When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL))
41058a978a17SVictor Perevertkin WDFAPI
41068a978a17SVictor Perevertkin NTSTATUS
41071f377076SVictor Perevertkin STDCALL
41088a978a17SVictor Perevertkin WDFEXPORT(WdfMemoryCreate)(
41098a978a17SVictor Perevertkin     _In_
41108a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
41118a978a17SVictor Perevertkin     _In_opt_
41128a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
41138a978a17SVictor Perevertkin     _In_
41148a978a17SVictor Perevertkin     _Strict_type_match_
41158a978a17SVictor Perevertkin     POOL_TYPE PoolType,
41168a978a17SVictor Perevertkin     _In_opt_
41178a978a17SVictor Perevertkin     ULONG PoolTag,
41188a978a17SVictor Perevertkin     _In_
41198a978a17SVictor Perevertkin     _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
41208a978a17SVictor Perevertkin     size_t BufferSize,
41218a978a17SVictor Perevertkin     _Out_
41228a978a17SVictor Perevertkin     WDFMEMORY* Memory,
41238a978a17SVictor Perevertkin     _Outptr_opt_result_bytebuffer_(BufferSize)
41248a978a17SVictor Perevertkin     PVOID* Buffer
41258a978a17SVictor Perevertkin     );
41268a978a17SVictor Perevertkin 
41278a978a17SVictor Perevertkin _Must_inspect_result_
41288a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
41298a978a17SVictor Perevertkin WDFAPI
41308a978a17SVictor Perevertkin NTSTATUS
41311f377076SVictor Perevertkin STDCALL
41328a978a17SVictor Perevertkin WDFEXPORT(WdfMemoryCreatePreallocated)(
41338a978a17SVictor Perevertkin     _In_
41348a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
41358a978a17SVictor Perevertkin     _In_opt_
41368a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
41378a978a17SVictor Perevertkin     _In_ __drv_aliasesMem
41388a978a17SVictor Perevertkin     PVOID Buffer,
41398a978a17SVictor Perevertkin     _In_
41408a978a17SVictor Perevertkin     _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
41418a978a17SVictor Perevertkin     size_t BufferSize,
41428a978a17SVictor Perevertkin     _Out_
41438a978a17SVictor Perevertkin     WDFMEMORY* Memory
41448a978a17SVictor Perevertkin     );
41458a978a17SVictor Perevertkin 
41468a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
41478a978a17SVictor Perevertkin WDFAPI
41488a978a17SVictor Perevertkin PVOID
41491f377076SVictor Perevertkin STDCALL
41508a978a17SVictor Perevertkin WDFEXPORT(WdfMemoryGetBuffer)(
41518a978a17SVictor Perevertkin     _In_
41528a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
41538a978a17SVictor Perevertkin     _In_
41548a978a17SVictor Perevertkin     WDFMEMORY Memory,
41558a978a17SVictor Perevertkin     _Out_opt_
41568a978a17SVictor Perevertkin     size_t* BufferSize
41578a978a17SVictor Perevertkin     );
41588a978a17SVictor Perevertkin 
41598a978a17SVictor Perevertkin _Must_inspect_result_
41608a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
41618a978a17SVictor Perevertkin WDFAPI
41628a978a17SVictor Perevertkin NTSTATUS
41631f377076SVictor Perevertkin STDCALL
41648a978a17SVictor Perevertkin WDFEXPORT(WdfMemoryAssignBuffer)(
41658a978a17SVictor Perevertkin     _In_
41668a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
41678a978a17SVictor Perevertkin     _In_
41688a978a17SVictor Perevertkin     WDFMEMORY Memory,
41698a978a17SVictor Perevertkin     _Pre_notnull_ _Pre_writable_byte_size_(BufferSize)
41708a978a17SVictor Perevertkin     PVOID Buffer,
41718a978a17SVictor Perevertkin     _In_
41728a978a17SVictor Perevertkin     _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
41738a978a17SVictor Perevertkin     size_t BufferSize
41748a978a17SVictor Perevertkin     );
41758a978a17SVictor Perevertkin 
41768a978a17SVictor Perevertkin _Must_inspect_result_
41778a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
41788a978a17SVictor Perevertkin WDFAPI
41798a978a17SVictor Perevertkin NTSTATUS
41801f377076SVictor Perevertkin STDCALL
41818a978a17SVictor Perevertkin WDFEXPORT(WdfMemoryCopyToBuffer)(
41828a978a17SVictor Perevertkin     _In_
41838a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
41848a978a17SVictor Perevertkin     _In_
41858a978a17SVictor Perevertkin     WDFMEMORY SourceMemory,
41868a978a17SVictor Perevertkin     _In_
41878a978a17SVictor Perevertkin     size_t SourceOffset,
41888a978a17SVictor Perevertkin     _Out_writes_bytes_( NumBytesToCopyTo )
41898a978a17SVictor Perevertkin     PVOID Buffer,
41908a978a17SVictor Perevertkin     _In_
41918a978a17SVictor Perevertkin     _When_(NumBytesToCopyTo == 0, __drv_reportError(NumBytesToCopyTo cannot be zero))
41928a978a17SVictor Perevertkin     size_t NumBytesToCopyTo
41938a978a17SVictor Perevertkin     );
41948a978a17SVictor Perevertkin 
41958a978a17SVictor Perevertkin _Must_inspect_result_
41968a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
41978a978a17SVictor Perevertkin WDFAPI
41988a978a17SVictor Perevertkin NTSTATUS
41991f377076SVictor Perevertkin STDCALL
42008a978a17SVictor Perevertkin WDFEXPORT(WdfMemoryCopyFromBuffer)(
42018a978a17SVictor Perevertkin     _In_
42028a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
42038a978a17SVictor Perevertkin     _In_
42048a978a17SVictor Perevertkin     WDFMEMORY DestinationMemory,
42058a978a17SVictor Perevertkin     _In_
42068a978a17SVictor Perevertkin     size_t DestinationOffset,
42078a978a17SVictor Perevertkin     _In_
42088a978a17SVictor Perevertkin     PVOID Buffer,
42098a978a17SVictor Perevertkin     _In_
42108a978a17SVictor Perevertkin     _When_(NumBytesToCopyFrom == 0, __drv_reportError(NumBytesToCopyFrom cannot be zero))
42118a978a17SVictor Perevertkin     size_t NumBytesToCopyFrom
42128a978a17SVictor Perevertkin     );
42138a978a17SVictor Perevertkin 
42148a978a17SVictor Perevertkin _Must_inspect_result_
42158a978a17SVictor Perevertkin _When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL))
42168a978a17SVictor Perevertkin _When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL))
42178a978a17SVictor Perevertkin WDFAPI
42188a978a17SVictor Perevertkin NTSTATUS
42191f377076SVictor Perevertkin STDCALL
42208a978a17SVictor Perevertkin WDFEXPORT(WdfLookasideListCreate)(
42218a978a17SVictor Perevertkin     _In_
42228a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
42238a978a17SVictor Perevertkin     _In_opt_
42248a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES LookasideAttributes,
42258a978a17SVictor Perevertkin     _In_
42268a978a17SVictor Perevertkin     _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
42278a978a17SVictor Perevertkin     size_t BufferSize,
42288a978a17SVictor Perevertkin     _In_
42298a978a17SVictor Perevertkin     _Strict_type_match_
42308a978a17SVictor Perevertkin     POOL_TYPE PoolType,
42318a978a17SVictor Perevertkin     _In_opt_
42328a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES MemoryAttributes,
42338a978a17SVictor Perevertkin     _In_opt_
42348a978a17SVictor Perevertkin     ULONG PoolTag,
42358a978a17SVictor Perevertkin     _Out_
42368a978a17SVictor Perevertkin     WDFLOOKASIDE* Lookaside
42378a978a17SVictor Perevertkin     );
42388a978a17SVictor Perevertkin 
42398a978a17SVictor Perevertkin _Must_inspect_result_
42408a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
42418a978a17SVictor Perevertkin WDFAPI
42428a978a17SVictor Perevertkin NTSTATUS
42431f377076SVictor Perevertkin STDCALL
42448a978a17SVictor Perevertkin WDFEXPORT(WdfMemoryCreateFromLookaside)(
42458a978a17SVictor Perevertkin     _In_
42468a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
42478a978a17SVictor Perevertkin     _In_
42488a978a17SVictor Perevertkin     WDFLOOKASIDE Lookaside,
42498a978a17SVictor Perevertkin     _Out_
42508a978a17SVictor Perevertkin     WDFMEMORY* Memory
42518a978a17SVictor Perevertkin     );
42528a978a17SVictor Perevertkin 
42538a978a17SVictor Perevertkin _Must_inspect_result_
42548a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
42558a978a17SVictor Perevertkin WDFAPI
42568a978a17SVictor Perevertkin NTSTATUS
42571f377076SVictor Perevertkin STDCALL
42588a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceMiniportCreate)(
42598a978a17SVictor Perevertkin     _In_
42608a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
42618a978a17SVictor Perevertkin     _In_
42628a978a17SVictor Perevertkin     WDFDRIVER Driver,
42638a978a17SVictor Perevertkin     _In_opt_
42648a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
42658a978a17SVictor Perevertkin     _In_
42668a978a17SVictor Perevertkin     PDEVICE_OBJECT DeviceObject,
42678a978a17SVictor Perevertkin     _In_opt_
42688a978a17SVictor Perevertkin     PDEVICE_OBJECT AttachedDeviceObject,
42698a978a17SVictor Perevertkin     _In_opt_
42708a978a17SVictor Perevertkin     PDEVICE_OBJECT Pdo,
42718a978a17SVictor Perevertkin     _Out_
42728a978a17SVictor Perevertkin     WDFDEVICE* Device
42738a978a17SVictor Perevertkin     );
42748a978a17SVictor Perevertkin 
42758a978a17SVictor Perevertkin WDFAPI
42768a978a17SVictor Perevertkin VOID
42771f377076SVictor Perevertkin STDCALL
42788a978a17SVictor Perevertkin WDFEXPORT(WdfDriverMiniportUnload)(
42798a978a17SVictor Perevertkin     _In_
42808a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
42818a978a17SVictor Perevertkin     _In_
42828a978a17SVictor Perevertkin     WDFDRIVER Driver
42838a978a17SVictor Perevertkin     );
42848a978a17SVictor Perevertkin 
42858a978a17SVictor Perevertkin WDFAPI
42868a978a17SVictor Perevertkin PVOID
42878a978a17SVictor Perevertkin FASTCALL
42888a978a17SVictor Perevertkin WDFEXPORT(WdfObjectGetTypedContextWorker)(
42898a978a17SVictor Perevertkin     _In_
42908a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
42918a978a17SVictor Perevertkin     _In_
42928a978a17SVictor Perevertkin     WDFOBJECT Handle,
42938a978a17SVictor Perevertkin     _In_
42948a978a17SVictor Perevertkin     PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo
42958a978a17SVictor Perevertkin     );
42968a978a17SVictor Perevertkin 
42978a978a17SVictor Perevertkin WDFAPI
42988a978a17SVictor Perevertkin NTSTATUS
42991f377076SVictor Perevertkin STDCALL
43008a978a17SVictor Perevertkin WDFEXPORT(WdfObjectAllocateContext)(
43018a978a17SVictor Perevertkin     _In_
43028a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
43038a978a17SVictor Perevertkin     _In_
43048a978a17SVictor Perevertkin     WDFOBJECT Handle,
43058a978a17SVictor Perevertkin     _In_
43068a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES ContextAttributes,
43078a978a17SVictor Perevertkin     _Outptr_opt_
43088a978a17SVictor Perevertkin     PVOID* Context
43098a978a17SVictor Perevertkin     );
43108a978a17SVictor Perevertkin 
43118a978a17SVictor Perevertkin WDFAPI
43128a978a17SVictor Perevertkin WDFOBJECT
43138a978a17SVictor Perevertkin FASTCALL
43148a978a17SVictor Perevertkin WDFEXPORT(WdfObjectContextGetObject)(
43158a978a17SVictor Perevertkin     _In_
43168a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
43178a978a17SVictor Perevertkin     _In_
43188a978a17SVictor Perevertkin     PVOID ContextPointer
43198a978a17SVictor Perevertkin     );
43208a978a17SVictor Perevertkin 
43218a978a17SVictor Perevertkin WDFAPI
43228a978a17SVictor Perevertkin VOID
43231f377076SVictor Perevertkin STDCALL
43248a978a17SVictor Perevertkin WDFEXPORT(WdfObjectReferenceActual)(
43258a978a17SVictor Perevertkin     _In_
43268a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
43278a978a17SVictor Perevertkin     _In_
43288a978a17SVictor Perevertkin     WDFOBJECT Handle,
43298a978a17SVictor Perevertkin     _In_opt_
43308a978a17SVictor Perevertkin     PVOID Tag,
43318a978a17SVictor Perevertkin     _In_
43328a978a17SVictor Perevertkin     LONG Line,
43338a978a17SVictor Perevertkin     _In_z_
43348a978a17SVictor Perevertkin     PCHAR File
43358a978a17SVictor Perevertkin     );
43368a978a17SVictor Perevertkin 
43378a978a17SVictor Perevertkin WDFAPI
43388a978a17SVictor Perevertkin VOID
43391f377076SVictor Perevertkin STDCALL
43408a978a17SVictor Perevertkin WDFEXPORT(WdfObjectDereferenceActual)(
43418a978a17SVictor Perevertkin     _In_
43428a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
43438a978a17SVictor Perevertkin     _In_
43448a978a17SVictor Perevertkin     WDFOBJECT Handle,
43458a978a17SVictor Perevertkin     _In_opt_
43468a978a17SVictor Perevertkin     PVOID Tag,
43478a978a17SVictor Perevertkin     _In_
43488a978a17SVictor Perevertkin     LONG Line,
43498a978a17SVictor Perevertkin     _In_z_
43508a978a17SVictor Perevertkin     PCHAR File
43518a978a17SVictor Perevertkin     );
43528a978a17SVictor Perevertkin 
43538a978a17SVictor Perevertkin _Must_inspect_result_
43548a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
43558a978a17SVictor Perevertkin WDFAPI
43568a978a17SVictor Perevertkin NTSTATUS
43571f377076SVictor Perevertkin STDCALL
43588a978a17SVictor Perevertkin WDFEXPORT(WdfObjectCreate)(
43598a978a17SVictor Perevertkin     _In_
43608a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
43618a978a17SVictor Perevertkin     _In_opt_
43628a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
43638a978a17SVictor Perevertkin     _Out_
43648a978a17SVictor Perevertkin     WDFOBJECT* Object
43658a978a17SVictor Perevertkin     );
43668a978a17SVictor Perevertkin 
43678a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
43688a978a17SVictor Perevertkin WDFAPI
43698a978a17SVictor Perevertkin VOID
43701f377076SVictor Perevertkin STDCALL
43718a978a17SVictor Perevertkin WDFEXPORT(WdfObjectDelete)(
43728a978a17SVictor Perevertkin     _In_
43738a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
43748a978a17SVictor Perevertkin     _In_
43758a978a17SVictor Perevertkin     WDFOBJECT Object
43768a978a17SVictor Perevertkin     );
43778a978a17SVictor Perevertkin 
43788a978a17SVictor Perevertkin _Must_inspect_result_
43798a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
43808a978a17SVictor Perevertkin WDFAPI
43818a978a17SVictor Perevertkin NTSTATUS
43821f377076SVictor Perevertkin STDCALL
43838a978a17SVictor Perevertkin WDFEXPORT(WdfObjectQuery)(
43848a978a17SVictor Perevertkin     _In_
43858a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
43868a978a17SVictor Perevertkin     _In_
43878a978a17SVictor Perevertkin     WDFOBJECT Object,
43888a978a17SVictor Perevertkin     _In_
43898a978a17SVictor Perevertkin     CONST GUID* Guid,
43908a978a17SVictor Perevertkin     _In_
43918a978a17SVictor Perevertkin     ULONG QueryBufferLength,
43928a978a17SVictor Perevertkin     _Out_writes_bytes_(QueryBufferLength)
43938a978a17SVictor Perevertkin     PVOID QueryBuffer
43948a978a17SVictor Perevertkin     );
43958a978a17SVictor Perevertkin 
43968a978a17SVictor Perevertkin _Must_inspect_result_
43978a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
43988a978a17SVictor Perevertkin WDFAPI
43998a978a17SVictor Perevertkin PWDFDEVICE_INIT
44001f377076SVictor Perevertkin STDCALL
44018a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitAllocate)(
44028a978a17SVictor Perevertkin     _In_
44038a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
44048a978a17SVictor Perevertkin     _In_
44058a978a17SVictor Perevertkin     WDFDEVICE ParentDevice
44068a978a17SVictor Perevertkin     );
44078a978a17SVictor Perevertkin 
44088a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
44098a978a17SVictor Perevertkin WDFAPI
44108a978a17SVictor Perevertkin VOID
44111f377076SVictor Perevertkin STDCALL
44128a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitSetEventCallbacks)(
44138a978a17SVictor Perevertkin     _In_
44148a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
44158a978a17SVictor Perevertkin     _In_
44168a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
44178a978a17SVictor Perevertkin     _In_
44188a978a17SVictor Perevertkin     PWDF_PDO_EVENT_CALLBACKS DispatchTable
44198a978a17SVictor Perevertkin     );
44208a978a17SVictor Perevertkin 
44218a978a17SVictor Perevertkin _Must_inspect_result_
44228a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
44238a978a17SVictor Perevertkin WDFAPI
44248a978a17SVictor Perevertkin NTSTATUS
44251f377076SVictor Perevertkin STDCALL
44268a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitAssignDeviceID)(
44278a978a17SVictor Perevertkin     _In_
44288a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
44298a978a17SVictor Perevertkin     _In_
44308a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
44318a978a17SVictor Perevertkin     _In_
44328a978a17SVictor Perevertkin     PCUNICODE_STRING DeviceID
44338a978a17SVictor Perevertkin     );
44348a978a17SVictor Perevertkin 
44358a978a17SVictor Perevertkin _Must_inspect_result_
44368a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
44378a978a17SVictor Perevertkin WDFAPI
44388a978a17SVictor Perevertkin NTSTATUS
44391f377076SVictor Perevertkin STDCALL
44408a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitAssignInstanceID)(
44418a978a17SVictor Perevertkin     _In_
44428a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
44438a978a17SVictor Perevertkin     _In_
44448a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
44458a978a17SVictor Perevertkin     _In_
44468a978a17SVictor Perevertkin     PCUNICODE_STRING InstanceID
44478a978a17SVictor Perevertkin     );
44488a978a17SVictor Perevertkin 
44498a978a17SVictor Perevertkin _Must_inspect_result_
44508a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
44518a978a17SVictor Perevertkin WDFAPI
44528a978a17SVictor Perevertkin NTSTATUS
44531f377076SVictor Perevertkin STDCALL
44548a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitAddHardwareID)(
44558a978a17SVictor Perevertkin     _In_
44568a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
44578a978a17SVictor Perevertkin     _In_
44588a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
44598a978a17SVictor Perevertkin     _In_
44608a978a17SVictor Perevertkin     PCUNICODE_STRING HardwareID
44618a978a17SVictor Perevertkin     );
44628a978a17SVictor Perevertkin 
44638a978a17SVictor Perevertkin _Must_inspect_result_
44648a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
44658a978a17SVictor Perevertkin WDFAPI
44668a978a17SVictor Perevertkin NTSTATUS
44671f377076SVictor Perevertkin STDCALL
44688a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitAddCompatibleID)(
44698a978a17SVictor Perevertkin     _In_
44708a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
44718a978a17SVictor Perevertkin     _In_
44728a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
44738a978a17SVictor Perevertkin     _In_
44748a978a17SVictor Perevertkin     PCUNICODE_STRING CompatibleID
44758a978a17SVictor Perevertkin     );
44768a978a17SVictor Perevertkin 
44778a978a17SVictor Perevertkin _Must_inspect_result_
44788a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
44798a978a17SVictor Perevertkin WDFAPI
44808a978a17SVictor Perevertkin NTSTATUS
44811f377076SVictor Perevertkin STDCALL
44828a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitAssignContainerID)(
44838a978a17SVictor Perevertkin     _In_
44848a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
44858a978a17SVictor Perevertkin     _In_
44868a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
44878a978a17SVictor Perevertkin     _In_
44888a978a17SVictor Perevertkin     PCUNICODE_STRING ContainerID
44898a978a17SVictor Perevertkin     );
44908a978a17SVictor Perevertkin 
44918a978a17SVictor Perevertkin _Must_inspect_result_
44928a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
44938a978a17SVictor Perevertkin WDFAPI
44948a978a17SVictor Perevertkin NTSTATUS
44951f377076SVictor Perevertkin STDCALL
44968a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitAddDeviceText)(
44978a978a17SVictor Perevertkin     _In_
44988a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
44998a978a17SVictor Perevertkin     _In_
45008a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
45018a978a17SVictor Perevertkin     _In_
45028a978a17SVictor Perevertkin     PCUNICODE_STRING DeviceDescription,
45038a978a17SVictor Perevertkin     _In_
45048a978a17SVictor Perevertkin     PCUNICODE_STRING DeviceLocation,
45058a978a17SVictor Perevertkin     _In_
45068a978a17SVictor Perevertkin     LCID LocaleId
45078a978a17SVictor Perevertkin     );
45088a978a17SVictor Perevertkin 
45098a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
45108a978a17SVictor Perevertkin WDFAPI
45118a978a17SVictor Perevertkin VOID
45121f377076SVictor Perevertkin STDCALL
45138a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitSetDefaultLocale)(
45148a978a17SVictor Perevertkin     _In_
45158a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
45168a978a17SVictor Perevertkin     _In_
45178a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
45188a978a17SVictor Perevertkin     _In_
45198a978a17SVictor Perevertkin     LCID LocaleId
45208a978a17SVictor Perevertkin     );
45218a978a17SVictor Perevertkin 
45228a978a17SVictor Perevertkin _Must_inspect_result_
45238a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
45248a978a17SVictor Perevertkin WDFAPI
45258a978a17SVictor Perevertkin NTSTATUS
45261f377076SVictor Perevertkin STDCALL
45278a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitAssignRawDevice)(
45288a978a17SVictor Perevertkin     _In_
45298a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
45308a978a17SVictor Perevertkin     _In_
45318a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit,
45328a978a17SVictor Perevertkin     _In_
45338a978a17SVictor Perevertkin     CONST GUID* DeviceClassGuid
45348a978a17SVictor Perevertkin     );
45358a978a17SVictor Perevertkin 
45368a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
45378a978a17SVictor Perevertkin WDFAPI
45388a978a17SVictor Perevertkin VOID
45391f377076SVictor Perevertkin STDCALL
45408a978a17SVictor Perevertkin WDFEXPORT(WdfPdoInitAllowForwardingRequestToParent)(
45418a978a17SVictor Perevertkin     _In_
45428a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
45438a978a17SVictor Perevertkin     _In_
45448a978a17SVictor Perevertkin     PWDFDEVICE_INIT DeviceInit
45458a978a17SVictor Perevertkin     );
45468a978a17SVictor Perevertkin 
45478a978a17SVictor Perevertkin _Must_inspect_result_
45488a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
45498a978a17SVictor Perevertkin WDFAPI
45508a978a17SVictor Perevertkin NTSTATUS
45511f377076SVictor Perevertkin STDCALL
45528a978a17SVictor Perevertkin WDFEXPORT(WdfPdoMarkMissing)(
45538a978a17SVictor Perevertkin     _In_
45548a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
45558a978a17SVictor Perevertkin     _In_
45568a978a17SVictor Perevertkin     WDFDEVICE Device
45578a978a17SVictor Perevertkin     );
45588a978a17SVictor Perevertkin 
45598a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
45608a978a17SVictor Perevertkin WDFAPI
45618a978a17SVictor Perevertkin VOID
45621f377076SVictor Perevertkin STDCALL
45638a978a17SVictor Perevertkin WDFEXPORT(WdfPdoRequestEject)(
45648a978a17SVictor Perevertkin     _In_
45658a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
45668a978a17SVictor Perevertkin     _In_
45678a978a17SVictor Perevertkin     WDFDEVICE Device
45688a978a17SVictor Perevertkin     );
45698a978a17SVictor Perevertkin 
45708a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
45718a978a17SVictor Perevertkin WDFAPI
45728a978a17SVictor Perevertkin WDFDEVICE
45731f377076SVictor Perevertkin STDCALL
45748a978a17SVictor Perevertkin WDFEXPORT(WdfPdoGetParent)(
45758a978a17SVictor Perevertkin     _In_
45768a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
45778a978a17SVictor Perevertkin     _In_
45788a978a17SVictor Perevertkin     WDFDEVICE Device
45798a978a17SVictor Perevertkin     );
45808a978a17SVictor Perevertkin 
45818a978a17SVictor Perevertkin _Must_inspect_result_
45828a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
45838a978a17SVictor Perevertkin WDFAPI
45848a978a17SVictor Perevertkin NTSTATUS
45851f377076SVictor Perevertkin STDCALL
45868a978a17SVictor Perevertkin WDFEXPORT(WdfPdoRetrieveIdentificationDescription)(
45878a978a17SVictor Perevertkin     _In_
45888a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
45898a978a17SVictor Perevertkin     _In_
45908a978a17SVictor Perevertkin     WDFDEVICE Device,
45918a978a17SVictor Perevertkin     _Inout_
45928a978a17SVictor Perevertkin     PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
45938a978a17SVictor Perevertkin     );
45948a978a17SVictor Perevertkin 
45958a978a17SVictor Perevertkin _Must_inspect_result_
45968a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
45978a978a17SVictor Perevertkin WDFAPI
45988a978a17SVictor Perevertkin NTSTATUS
45991f377076SVictor Perevertkin STDCALL
46008a978a17SVictor Perevertkin WDFEXPORT(WdfPdoRetrieveAddressDescription)(
46018a978a17SVictor Perevertkin     _In_
46028a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
46038a978a17SVictor Perevertkin     _In_
46048a978a17SVictor Perevertkin     WDFDEVICE Device,
46058a978a17SVictor Perevertkin     _Inout_
46068a978a17SVictor Perevertkin     PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
46078a978a17SVictor Perevertkin     );
46088a978a17SVictor Perevertkin 
46098a978a17SVictor Perevertkin _Must_inspect_result_
46108a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
46118a978a17SVictor Perevertkin WDFAPI
46128a978a17SVictor Perevertkin NTSTATUS
46131f377076SVictor Perevertkin STDCALL
46148a978a17SVictor Perevertkin WDFEXPORT(WdfPdoUpdateAddressDescription)(
46158a978a17SVictor Perevertkin     _In_
46168a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
46178a978a17SVictor Perevertkin     _In_
46188a978a17SVictor Perevertkin     WDFDEVICE Device,
46198a978a17SVictor Perevertkin     _Inout_
46208a978a17SVictor Perevertkin     PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
46218a978a17SVictor Perevertkin     );
46228a978a17SVictor Perevertkin 
46238a978a17SVictor Perevertkin _Must_inspect_result_
46248a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
46258a978a17SVictor Perevertkin WDFAPI
46268a978a17SVictor Perevertkin NTSTATUS
46271f377076SVictor Perevertkin STDCALL
46288a978a17SVictor Perevertkin WDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice)(
46298a978a17SVictor Perevertkin     _In_
46308a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
46318a978a17SVictor Perevertkin     _In_
46328a978a17SVictor Perevertkin     WDFDEVICE Device,
46338a978a17SVictor Perevertkin     _In_
46348a978a17SVictor Perevertkin     PDEVICE_OBJECT PhysicalDevice
46358a978a17SVictor Perevertkin     );
46368a978a17SVictor Perevertkin 
46378a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
46388a978a17SVictor Perevertkin WDFAPI
46398a978a17SVictor Perevertkin VOID
46401f377076SVictor Perevertkin STDCALL
46418a978a17SVictor Perevertkin WDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice)(
46428a978a17SVictor Perevertkin     _In_
46438a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
46448a978a17SVictor Perevertkin     _In_
46458a978a17SVictor Perevertkin     WDFDEVICE Device,
46468a978a17SVictor Perevertkin     _In_
46478a978a17SVictor Perevertkin     PDEVICE_OBJECT PhysicalDevice
46488a978a17SVictor Perevertkin     );
46498a978a17SVictor Perevertkin 
46508a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
46518a978a17SVictor Perevertkin WDFAPI
46528a978a17SVictor Perevertkin VOID
46531f377076SVictor Perevertkin STDCALL
46548a978a17SVictor Perevertkin WDFEXPORT(WdfPdoClearEjectionRelationsDevices)(
46558a978a17SVictor Perevertkin     _In_
46568a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
46578a978a17SVictor Perevertkin     _In_
46588a978a17SVictor Perevertkin     WDFDEVICE Device
46598a978a17SVictor Perevertkin     );
46608a978a17SVictor Perevertkin 
46618a978a17SVictor Perevertkin _Must_inspect_result_
46628a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
46638a978a17SVictor Perevertkin WDFAPI
46648a978a17SVictor Perevertkin NTSTATUS
46651f377076SVictor Perevertkin STDCALL
46668a978a17SVictor Perevertkin WDFEXPORT(WdfDeviceAddQueryInterface)(
46678a978a17SVictor Perevertkin     _In_
46688a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
46698a978a17SVictor Perevertkin     _In_
46708a978a17SVictor Perevertkin     WDFDEVICE Device,
46718a978a17SVictor Perevertkin     _In_
46728a978a17SVictor Perevertkin     PWDF_QUERY_INTERFACE_CONFIG InterfaceConfig
46738a978a17SVictor Perevertkin     );
46748a978a17SVictor Perevertkin 
46758a978a17SVictor Perevertkin _Must_inspect_result_
46768a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
46778a978a17SVictor Perevertkin WDFAPI
46788a978a17SVictor Perevertkin NTSTATUS
46791f377076SVictor Perevertkin STDCALL
46808a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryOpenKey)(
46818a978a17SVictor Perevertkin     _In_
46828a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
46838a978a17SVictor Perevertkin     _In_opt_
46848a978a17SVictor Perevertkin     WDFKEY ParentKey,
46858a978a17SVictor Perevertkin     _In_
46868a978a17SVictor Perevertkin     PCUNICODE_STRING KeyName,
46878a978a17SVictor Perevertkin     _In_
46888a978a17SVictor Perevertkin     ACCESS_MASK DesiredAccess,
46898a978a17SVictor Perevertkin     _In_opt_
46908a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES KeyAttributes,
46918a978a17SVictor Perevertkin     _Out_
46928a978a17SVictor Perevertkin     WDFKEY* Key
46938a978a17SVictor Perevertkin     );
46948a978a17SVictor Perevertkin 
46958a978a17SVictor Perevertkin _Must_inspect_result_
46968a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
46978a978a17SVictor Perevertkin WDFAPI
46988a978a17SVictor Perevertkin NTSTATUS
46991f377076SVictor Perevertkin STDCALL
47008a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryCreateKey)(
47018a978a17SVictor Perevertkin     _In_
47028a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
47038a978a17SVictor Perevertkin     _In_opt_
47048a978a17SVictor Perevertkin     WDFKEY ParentKey,
47058a978a17SVictor Perevertkin     _In_
47068a978a17SVictor Perevertkin     PCUNICODE_STRING KeyName,
47078a978a17SVictor Perevertkin     _In_
47088a978a17SVictor Perevertkin     ACCESS_MASK DesiredAccess,
47098a978a17SVictor Perevertkin     _In_
47108a978a17SVictor Perevertkin     ULONG CreateOptions,
47118a978a17SVictor Perevertkin     _Out_opt_
47128a978a17SVictor Perevertkin     PULONG CreateDisposition,
47138a978a17SVictor Perevertkin     _In_opt_
47148a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES KeyAttributes,
47158a978a17SVictor Perevertkin     _Out_
47168a978a17SVictor Perevertkin     WDFKEY* Key
47178a978a17SVictor Perevertkin     );
47188a978a17SVictor Perevertkin 
47198a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
47208a978a17SVictor Perevertkin WDFAPI
47218a978a17SVictor Perevertkin VOID
47221f377076SVictor Perevertkin STDCALL
47238a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryClose)(
47248a978a17SVictor Perevertkin     _In_
47258a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
47268a978a17SVictor Perevertkin     _In_
47278a978a17SVictor Perevertkin     WDFKEY Key
47288a978a17SVictor Perevertkin     );
47298a978a17SVictor Perevertkin 
47308a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
47318a978a17SVictor Perevertkin WDFAPI
47328a978a17SVictor Perevertkin HANDLE
47331f377076SVictor Perevertkin STDCALL
47348a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryWdmGetHandle)(
47358a978a17SVictor Perevertkin     _In_
47368a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
47378a978a17SVictor Perevertkin     _In_
47388a978a17SVictor Perevertkin     WDFKEY Key
47398a978a17SVictor Perevertkin     );
47408a978a17SVictor Perevertkin 
47418a978a17SVictor Perevertkin _Must_inspect_result_
47428a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
47438a978a17SVictor Perevertkin WDFAPI
47448a978a17SVictor Perevertkin NTSTATUS
47451f377076SVictor Perevertkin STDCALL
47468a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryRemoveKey)(
47478a978a17SVictor Perevertkin     _In_
47488a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
47498a978a17SVictor Perevertkin     _In_
47508a978a17SVictor Perevertkin     WDFKEY Key
47518a978a17SVictor Perevertkin     );
47528a978a17SVictor Perevertkin 
47538a978a17SVictor Perevertkin _Must_inspect_result_
47548a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
47558a978a17SVictor Perevertkin WDFAPI
47568a978a17SVictor Perevertkin NTSTATUS
47571f377076SVictor Perevertkin STDCALL
47588a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryRemoveValue)(
47598a978a17SVictor Perevertkin     _In_
47608a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
47618a978a17SVictor Perevertkin     _In_
47628a978a17SVictor Perevertkin     WDFKEY Key,
47638a978a17SVictor Perevertkin     _In_
47648a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName
47658a978a17SVictor Perevertkin     );
47668a978a17SVictor Perevertkin 
47678a978a17SVictor Perevertkin _Must_inspect_result_
47688a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
47698a978a17SVictor Perevertkin WDFAPI
47708a978a17SVictor Perevertkin NTSTATUS
47711f377076SVictor Perevertkin STDCALL
47728a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryQueryValue)(
47738a978a17SVictor Perevertkin     _In_
47748a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
47758a978a17SVictor Perevertkin     _In_
47768a978a17SVictor Perevertkin     WDFKEY Key,
47778a978a17SVictor Perevertkin     _In_
47788a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
47798a978a17SVictor Perevertkin     _In_
47808a978a17SVictor Perevertkin     ULONG ValueLength,
47818a978a17SVictor Perevertkin     _Out_writes_bytes_opt_( ValueLength)
47828a978a17SVictor Perevertkin     PVOID Value,
47838a978a17SVictor Perevertkin     _Out_opt_
47848a978a17SVictor Perevertkin     PULONG ValueLengthQueried,
47858a978a17SVictor Perevertkin     _Out_opt_
47868a978a17SVictor Perevertkin     PULONG ValueType
47878a978a17SVictor Perevertkin     );
47888a978a17SVictor Perevertkin 
47898a978a17SVictor Perevertkin _Must_inspect_result_
47908a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
47918a978a17SVictor Perevertkin WDFAPI
47928a978a17SVictor Perevertkin NTSTATUS
47931f377076SVictor Perevertkin STDCALL
47948a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryQueryMemory)(
47958a978a17SVictor Perevertkin     _In_
47968a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
47978a978a17SVictor Perevertkin     _In_
47988a978a17SVictor Perevertkin     WDFKEY Key,
47998a978a17SVictor Perevertkin     _In_
48008a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
48018a978a17SVictor Perevertkin     _In_
48028a978a17SVictor Perevertkin     _Strict_type_match_
48038a978a17SVictor Perevertkin     POOL_TYPE PoolType,
48048a978a17SVictor Perevertkin     _In_opt_
48058a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES MemoryAttributes,
48068a978a17SVictor Perevertkin     _Out_
48078a978a17SVictor Perevertkin     WDFMEMORY* Memory,
48088a978a17SVictor Perevertkin     _Out_opt_
48098a978a17SVictor Perevertkin     PULONG ValueType
48108a978a17SVictor Perevertkin     );
48118a978a17SVictor Perevertkin 
48128a978a17SVictor Perevertkin _Must_inspect_result_
48138a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
48148a978a17SVictor Perevertkin WDFAPI
48158a978a17SVictor Perevertkin NTSTATUS
48161f377076SVictor Perevertkin STDCALL
48178a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryQueryMultiString)(
48188a978a17SVictor Perevertkin     _In_
48198a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
48208a978a17SVictor Perevertkin     _In_
48218a978a17SVictor Perevertkin     WDFKEY Key,
48228a978a17SVictor Perevertkin     _In_
48238a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
48248a978a17SVictor Perevertkin     _In_opt_
48258a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES StringsAttributes,
48268a978a17SVictor Perevertkin     _In_
48278a978a17SVictor Perevertkin     WDFCOLLECTION Collection
48288a978a17SVictor Perevertkin     );
48298a978a17SVictor Perevertkin 
48308a978a17SVictor Perevertkin _Must_inspect_result_
48318a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
48328a978a17SVictor Perevertkin WDFAPI
48338a978a17SVictor Perevertkin NTSTATUS
48341f377076SVictor Perevertkin STDCALL
48358a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryQueryUnicodeString)(
48368a978a17SVictor Perevertkin     _In_
48378a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
48388a978a17SVictor Perevertkin     _In_
48398a978a17SVictor Perevertkin     WDFKEY Key,
48408a978a17SVictor Perevertkin     _In_
48418a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
48428a978a17SVictor Perevertkin     _Out_opt_
48438a978a17SVictor Perevertkin     PUSHORT ValueByteLength,
48448a978a17SVictor Perevertkin     _Inout_opt_
48458a978a17SVictor Perevertkin     PUNICODE_STRING Value
48468a978a17SVictor Perevertkin     );
48478a978a17SVictor Perevertkin 
48488a978a17SVictor Perevertkin _Must_inspect_result_
48498a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
48508a978a17SVictor Perevertkin WDFAPI
48518a978a17SVictor Perevertkin NTSTATUS
48521f377076SVictor Perevertkin STDCALL
48538a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryQueryString)(
48548a978a17SVictor Perevertkin     _In_
48558a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
48568a978a17SVictor Perevertkin     _In_
48578a978a17SVictor Perevertkin     WDFKEY Key,
48588a978a17SVictor Perevertkin     _In_
48598a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
48608a978a17SVictor Perevertkin     _In_
48618a978a17SVictor Perevertkin     WDFSTRING String
48628a978a17SVictor Perevertkin     );
48638a978a17SVictor Perevertkin 
48648a978a17SVictor Perevertkin _Must_inspect_result_
48658a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
48668a978a17SVictor Perevertkin WDFAPI
48678a978a17SVictor Perevertkin NTSTATUS
48681f377076SVictor Perevertkin STDCALL
48698a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryQueryULong)(
48708a978a17SVictor Perevertkin     _In_
48718a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
48728a978a17SVictor Perevertkin     _In_
48738a978a17SVictor Perevertkin     WDFKEY Key,
48748a978a17SVictor Perevertkin     _In_
48758a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
48768a978a17SVictor Perevertkin     _Out_
48778a978a17SVictor Perevertkin     PULONG Value
48788a978a17SVictor Perevertkin     );
48798a978a17SVictor Perevertkin 
48808a978a17SVictor Perevertkin _Must_inspect_result_
48818a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
48828a978a17SVictor Perevertkin WDFAPI
48838a978a17SVictor Perevertkin NTSTATUS
48841f377076SVictor Perevertkin STDCALL
48858a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryAssignValue)(
48868a978a17SVictor Perevertkin     _In_
48878a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
48888a978a17SVictor Perevertkin     _In_
48898a978a17SVictor Perevertkin     WDFKEY Key,
48908a978a17SVictor Perevertkin     _In_
48918a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
48928a978a17SVictor Perevertkin     _In_
48938a978a17SVictor Perevertkin     ULONG ValueType,
48948a978a17SVictor Perevertkin     _In_
48958a978a17SVictor Perevertkin     ULONG ValueLength,
48968a978a17SVictor Perevertkin     _In_reads_( ValueLength)
48978a978a17SVictor Perevertkin     PVOID Value
48988a978a17SVictor Perevertkin     );
48998a978a17SVictor Perevertkin 
49008a978a17SVictor Perevertkin _Must_inspect_result_
49018a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
49028a978a17SVictor Perevertkin WDFAPI
49038a978a17SVictor Perevertkin NTSTATUS
49041f377076SVictor Perevertkin STDCALL
49058a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryAssignMemory)(
49068a978a17SVictor Perevertkin     _In_
49078a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
49088a978a17SVictor Perevertkin     _In_
49098a978a17SVictor Perevertkin     WDFKEY Key,
49108a978a17SVictor Perevertkin     _In_
49118a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
49128a978a17SVictor Perevertkin     _In_
49138a978a17SVictor Perevertkin     ULONG ValueType,
49148a978a17SVictor Perevertkin     _In_
49158a978a17SVictor Perevertkin     WDFMEMORY Memory,
49168a978a17SVictor Perevertkin     _In_opt_
49178a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET MemoryOffsets
49188a978a17SVictor Perevertkin     );
49198a978a17SVictor Perevertkin 
49208a978a17SVictor Perevertkin _Must_inspect_result_
49218a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
49228a978a17SVictor Perevertkin WDFAPI
49238a978a17SVictor Perevertkin NTSTATUS
49241f377076SVictor Perevertkin STDCALL
49258a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryAssignMultiString)(
49268a978a17SVictor Perevertkin     _In_
49278a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
49288a978a17SVictor Perevertkin     _In_
49298a978a17SVictor Perevertkin     WDFKEY Key,
49308a978a17SVictor Perevertkin     _In_
49318a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
49328a978a17SVictor Perevertkin     _In_
49338a978a17SVictor Perevertkin     WDFCOLLECTION StringsCollection
49348a978a17SVictor Perevertkin     );
49358a978a17SVictor Perevertkin 
49368a978a17SVictor Perevertkin _Must_inspect_result_
49378a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
49388a978a17SVictor Perevertkin WDFAPI
49398a978a17SVictor Perevertkin NTSTATUS
49401f377076SVictor Perevertkin STDCALL
49418a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryAssignUnicodeString)(
49428a978a17SVictor Perevertkin     _In_
49438a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
49448a978a17SVictor Perevertkin     _In_
49458a978a17SVictor Perevertkin     WDFKEY Key,
49468a978a17SVictor Perevertkin     _In_
49478a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
49488a978a17SVictor Perevertkin     _In_
49498a978a17SVictor Perevertkin     PCUNICODE_STRING Value
49508a978a17SVictor Perevertkin     );
49518a978a17SVictor Perevertkin 
49528a978a17SVictor Perevertkin _Must_inspect_result_
49538a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
49548a978a17SVictor Perevertkin WDFAPI
49558a978a17SVictor Perevertkin NTSTATUS
49561f377076SVictor Perevertkin STDCALL
49578a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryAssignString)(
49588a978a17SVictor Perevertkin     _In_
49598a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
49608a978a17SVictor Perevertkin     _In_
49618a978a17SVictor Perevertkin     WDFKEY Key,
49628a978a17SVictor Perevertkin     _In_
49638a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
49648a978a17SVictor Perevertkin     _In_
49658a978a17SVictor Perevertkin     WDFSTRING String
49668a978a17SVictor Perevertkin     );
49678a978a17SVictor Perevertkin 
49688a978a17SVictor Perevertkin _Must_inspect_result_
49698a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
49708a978a17SVictor Perevertkin WDFAPI
49718a978a17SVictor Perevertkin NTSTATUS
49721f377076SVictor Perevertkin STDCALL
49738a978a17SVictor Perevertkin WDFEXPORT(WdfRegistryAssignULong)(
49748a978a17SVictor Perevertkin     _In_
49758a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
49768a978a17SVictor Perevertkin     _In_
49778a978a17SVictor Perevertkin     WDFKEY Key,
49788a978a17SVictor Perevertkin     _In_
49798a978a17SVictor Perevertkin     PCUNICODE_STRING ValueName,
49808a978a17SVictor Perevertkin     _In_
49818a978a17SVictor Perevertkin     ULONG Value
49828a978a17SVictor Perevertkin     );
49838a978a17SVictor Perevertkin 
49848a978a17SVictor Perevertkin _Must_inspect_result_
49858a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
49868a978a17SVictor Perevertkin WDFAPI
49878a978a17SVictor Perevertkin NTSTATUS
49881f377076SVictor Perevertkin STDCALL
49898a978a17SVictor Perevertkin WDFEXPORT(WdfRequestCreate)(
49908a978a17SVictor Perevertkin     _In_
49918a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
49928a978a17SVictor Perevertkin     _In_opt_
49938a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES RequestAttributes,
49948a978a17SVictor Perevertkin     _In_opt_
49958a978a17SVictor Perevertkin     WDFIOTARGET IoTarget,
49968a978a17SVictor Perevertkin     _Out_
49978a978a17SVictor Perevertkin     WDFREQUEST* Request
49988a978a17SVictor Perevertkin     );
49998a978a17SVictor Perevertkin 
50008a978a17SVictor Perevertkin _Must_inspect_result_
50018a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
50028a978a17SVictor Perevertkin WDFAPI
50038a978a17SVictor Perevertkin NTSTATUS
50041f377076SVictor Perevertkin STDCALL
50058a978a17SVictor Perevertkin WDFEXPORT(WdfRequestCreateFromIrp)(
50068a978a17SVictor Perevertkin     _In_
50078a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
50088a978a17SVictor Perevertkin     _In_opt_
50098a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES RequestAttributes,
50108a978a17SVictor Perevertkin     _In_
50118a978a17SVictor Perevertkin     PIRP Irp,
50128a978a17SVictor Perevertkin     _In_
50138a978a17SVictor Perevertkin     BOOLEAN RequestFreesIrp,
50148a978a17SVictor Perevertkin     _Out_
50158a978a17SVictor Perevertkin     WDFREQUEST* Request
50168a978a17SVictor Perevertkin     );
50178a978a17SVictor Perevertkin 
50188a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
50198a978a17SVictor Perevertkin WDFAPI
50208a978a17SVictor Perevertkin NTSTATUS
50211f377076SVictor Perevertkin STDCALL
50228a978a17SVictor Perevertkin WDFEXPORT(WdfRequestReuse)(
50238a978a17SVictor Perevertkin     _In_
50248a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
50258a978a17SVictor Perevertkin     _In_
50268a978a17SVictor Perevertkin     WDFREQUEST Request,
50278a978a17SVictor Perevertkin     _In_
50288a978a17SVictor Perevertkin     PWDF_REQUEST_REUSE_PARAMS ReuseParams
50298a978a17SVictor Perevertkin     );
50308a978a17SVictor Perevertkin 
50318a978a17SVictor Perevertkin _Must_inspect_result_
50328a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
50338a978a17SVictor Perevertkin WDFAPI
50348a978a17SVictor Perevertkin NTSTATUS
50351f377076SVictor Perevertkin STDCALL
50368a978a17SVictor Perevertkin WDFEXPORT(WdfRequestChangeTarget)(
50378a978a17SVictor Perevertkin     _In_
50388a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
50398a978a17SVictor Perevertkin     _In_
50408a978a17SVictor Perevertkin     WDFREQUEST Request,
50418a978a17SVictor Perevertkin     _In_
50428a978a17SVictor Perevertkin     WDFIOTARGET IoTarget
50438a978a17SVictor Perevertkin     );
50448a978a17SVictor Perevertkin 
50458a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
50468a978a17SVictor Perevertkin WDFAPI
50478a978a17SVictor Perevertkin VOID
50481f377076SVictor Perevertkin STDCALL
50498a978a17SVictor Perevertkin WDFEXPORT(WdfRequestFormatRequestUsingCurrentType)(
50508a978a17SVictor Perevertkin     _In_
50518a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
50528a978a17SVictor Perevertkin     _In_
50538a978a17SVictor Perevertkin     WDFREQUEST Request
50548a978a17SVictor Perevertkin     );
50558a978a17SVictor Perevertkin 
50568a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
50578a978a17SVictor Perevertkin WDFAPI
50588a978a17SVictor Perevertkin VOID
50591f377076SVictor Perevertkin STDCALL
50608a978a17SVictor Perevertkin WDFEXPORT(WdfRequestWdmFormatUsingStackLocation)(
50618a978a17SVictor Perevertkin     _In_
50628a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
50638a978a17SVictor Perevertkin     _In_
50648a978a17SVictor Perevertkin     WDFREQUEST Request,
50658a978a17SVictor Perevertkin     _In_
50668a978a17SVictor Perevertkin     PIO_STACK_LOCATION Stack
50678a978a17SVictor Perevertkin     );
50688a978a17SVictor Perevertkin 
50698a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
50708a978a17SVictor Perevertkin _When_(Options->Flags & WDF_REQUEST_SEND_OPTION_SYNCHRONOUS == 0, _Must_inspect_result_)
50718a978a17SVictor Perevertkin WDFAPI
50728a978a17SVictor Perevertkin BOOLEAN
50731f377076SVictor Perevertkin STDCALL
50748a978a17SVictor Perevertkin WDFEXPORT(WdfRequestSend)(
50758a978a17SVictor Perevertkin     _In_
50768a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
50778a978a17SVictor Perevertkin     _In_
50788a978a17SVictor Perevertkin     WDFREQUEST Request,
50798a978a17SVictor Perevertkin     _In_
50808a978a17SVictor Perevertkin     WDFIOTARGET Target,
50818a978a17SVictor Perevertkin     _In_opt_
50828a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS Options
50838a978a17SVictor Perevertkin     );
50848a978a17SVictor Perevertkin 
50858a978a17SVictor Perevertkin _Must_inspect_result_
50868a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
50878a978a17SVictor Perevertkin WDFAPI
50888a978a17SVictor Perevertkin NTSTATUS
50891f377076SVictor Perevertkin STDCALL
50908a978a17SVictor Perevertkin WDFEXPORT(WdfRequestGetStatus)(
50918a978a17SVictor Perevertkin     _In_
50928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
50938a978a17SVictor Perevertkin     _In_
50948a978a17SVictor Perevertkin     WDFREQUEST Request
50958a978a17SVictor Perevertkin     );
50968a978a17SVictor Perevertkin 
50978a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
50988a978a17SVictor Perevertkin WDFAPI
50998a978a17SVictor Perevertkin VOID
51001f377076SVictor Perevertkin STDCALL
51018a978a17SVictor Perevertkin WDFEXPORT(WdfRequestMarkCancelable)(
51028a978a17SVictor Perevertkin     _In_
51038a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
51048a978a17SVictor Perevertkin     _In_
51058a978a17SVictor Perevertkin     WDFREQUEST Request,
51068a978a17SVictor Perevertkin     _In_
51078a978a17SVictor Perevertkin     PFN_WDF_REQUEST_CANCEL EvtRequestCancel
51088a978a17SVictor Perevertkin     );
51098a978a17SVictor Perevertkin 
51108a978a17SVictor Perevertkin _Must_inspect_result_
51118a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
51128a978a17SVictor Perevertkin WDFAPI
51138a978a17SVictor Perevertkin NTSTATUS
51141f377076SVictor Perevertkin STDCALL
51158a978a17SVictor Perevertkin WDFEXPORT(WdfRequestMarkCancelableEx)(
51168a978a17SVictor Perevertkin     _In_
51178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
51188a978a17SVictor Perevertkin     _In_
51198a978a17SVictor Perevertkin     WDFREQUEST Request,
51208a978a17SVictor Perevertkin     _In_
51218a978a17SVictor Perevertkin     PFN_WDF_REQUEST_CANCEL EvtRequestCancel
51228a978a17SVictor Perevertkin     );
51238a978a17SVictor Perevertkin 
51248a978a17SVictor Perevertkin _Must_inspect_result_
51258a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
51268a978a17SVictor Perevertkin WDFAPI
51278a978a17SVictor Perevertkin NTSTATUS
51281f377076SVictor Perevertkin STDCALL
51298a978a17SVictor Perevertkin WDFEXPORT(WdfRequestUnmarkCancelable)(
51308a978a17SVictor Perevertkin     _In_
51318a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
51328a978a17SVictor Perevertkin     _In_
51338a978a17SVictor Perevertkin     WDFREQUEST Request
51348a978a17SVictor Perevertkin     );
51358a978a17SVictor Perevertkin 
51368a978a17SVictor Perevertkin _Must_inspect_result_
51378a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
51388a978a17SVictor Perevertkin WDFAPI
51398a978a17SVictor Perevertkin BOOLEAN
51401f377076SVictor Perevertkin STDCALL
51418a978a17SVictor Perevertkin WDFEXPORT(WdfRequestIsCanceled)(
51428a978a17SVictor Perevertkin     _In_
51438a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
51448a978a17SVictor Perevertkin     _In_
51458a978a17SVictor Perevertkin     WDFREQUEST Request
51468a978a17SVictor Perevertkin     );
51478a978a17SVictor Perevertkin 
51488a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
51498a978a17SVictor Perevertkin WDFAPI
51508a978a17SVictor Perevertkin BOOLEAN
51511f377076SVictor Perevertkin STDCALL
51528a978a17SVictor Perevertkin WDFEXPORT(WdfRequestCancelSentRequest)(
51538a978a17SVictor Perevertkin     _In_
51548a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
51558a978a17SVictor Perevertkin     _In_
51568a978a17SVictor Perevertkin     WDFREQUEST Request
51578a978a17SVictor Perevertkin     );
51588a978a17SVictor Perevertkin 
51598a978a17SVictor Perevertkin _Must_inspect_result_
51608a978a17SVictor Perevertkin _IRQL_requires_max_(APC_LEVEL)
51618a978a17SVictor Perevertkin WDFAPI
51628a978a17SVictor Perevertkin BOOLEAN
51631f377076SVictor Perevertkin STDCALL
51648a978a17SVictor Perevertkin WDFEXPORT(WdfRequestIsFrom32BitProcess)(
51658a978a17SVictor Perevertkin     _In_
51668a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
51678a978a17SVictor Perevertkin     _In_
51688a978a17SVictor Perevertkin     WDFREQUEST Request
51698a978a17SVictor Perevertkin     );
51708a978a17SVictor Perevertkin 
51718a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
51728a978a17SVictor Perevertkin WDFAPI
51738a978a17SVictor Perevertkin VOID
51741f377076SVictor Perevertkin STDCALL
51758a978a17SVictor Perevertkin WDFEXPORT(WdfRequestSetCompletionRoutine)(
51768a978a17SVictor Perevertkin     _In_
51778a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
51788a978a17SVictor Perevertkin     _In_
51798a978a17SVictor Perevertkin     WDFREQUEST Request,
51808a978a17SVictor Perevertkin     _In_opt_
51818a978a17SVictor Perevertkin     PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine,
51828a978a17SVictor Perevertkin     _In_opt_ __drv_aliasesMem
51838a978a17SVictor Perevertkin     WDFCONTEXT CompletionContext
51848a978a17SVictor Perevertkin     );
51858a978a17SVictor Perevertkin 
51868a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
51878a978a17SVictor Perevertkin WDFAPI
51888a978a17SVictor Perevertkin VOID
51891f377076SVictor Perevertkin STDCALL
51908a978a17SVictor Perevertkin WDFEXPORT(WdfRequestGetCompletionParams)(
51918a978a17SVictor Perevertkin     _In_
51928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
51938a978a17SVictor Perevertkin     _In_
51948a978a17SVictor Perevertkin     WDFREQUEST Request,
51958a978a17SVictor Perevertkin     _Out_
51968a978a17SVictor Perevertkin     PWDF_REQUEST_COMPLETION_PARAMS Params
51978a978a17SVictor Perevertkin     );
51988a978a17SVictor Perevertkin 
51998a978a17SVictor Perevertkin _Must_inspect_result_
52008a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
52018a978a17SVictor Perevertkin WDFAPI
52028a978a17SVictor Perevertkin NTSTATUS
52031f377076SVictor Perevertkin STDCALL
52048a978a17SVictor Perevertkin WDFEXPORT(WdfRequestAllocateTimer)(
52058a978a17SVictor Perevertkin     _In_
52068a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
52078a978a17SVictor Perevertkin     _In_
52088a978a17SVictor Perevertkin     WDFREQUEST Request
52098a978a17SVictor Perevertkin     );
52108a978a17SVictor Perevertkin 
52118a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
52128a978a17SVictor Perevertkin WDFAPI
52138a978a17SVictor Perevertkin VOID
52141f377076SVictor Perevertkin STDCALL
52158a978a17SVictor Perevertkin WDFEXPORT(WdfRequestComplete)(
52168a978a17SVictor Perevertkin     _In_
52178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
52188a978a17SVictor Perevertkin     _In_
52198a978a17SVictor Perevertkin     WDFREQUEST Request,
52208a978a17SVictor Perevertkin     _In_
52218a978a17SVictor Perevertkin     NTSTATUS Status
52228a978a17SVictor Perevertkin     );
52238a978a17SVictor Perevertkin 
52248a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
52258a978a17SVictor Perevertkin WDFAPI
52268a978a17SVictor Perevertkin VOID
52271f377076SVictor Perevertkin STDCALL
52288a978a17SVictor Perevertkin WDFEXPORT(WdfRequestCompleteWithPriorityBoost)(
52298a978a17SVictor Perevertkin     _In_
52308a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
52318a978a17SVictor Perevertkin     _In_
52328a978a17SVictor Perevertkin     WDFREQUEST Request,
52338a978a17SVictor Perevertkin     _In_
52348a978a17SVictor Perevertkin     NTSTATUS Status,
52358a978a17SVictor Perevertkin     _In_
52368a978a17SVictor Perevertkin     CCHAR PriorityBoost
52378a978a17SVictor Perevertkin     );
52388a978a17SVictor Perevertkin 
52398a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
52408a978a17SVictor Perevertkin WDFAPI
52418a978a17SVictor Perevertkin VOID
52421f377076SVictor Perevertkin STDCALL
52438a978a17SVictor Perevertkin WDFEXPORT(WdfRequestCompleteWithInformation)(
52448a978a17SVictor Perevertkin     _In_
52458a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
52468a978a17SVictor Perevertkin     _In_
52478a978a17SVictor Perevertkin     WDFREQUEST Request,
52488a978a17SVictor Perevertkin     _In_
52498a978a17SVictor Perevertkin     NTSTATUS Status,
52508a978a17SVictor Perevertkin     _In_
52518a978a17SVictor Perevertkin     ULONG_PTR Information
52528a978a17SVictor Perevertkin     );
52538a978a17SVictor Perevertkin 
52548a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
52558a978a17SVictor Perevertkin WDFAPI
52568a978a17SVictor Perevertkin VOID
52571f377076SVictor Perevertkin STDCALL
52588a978a17SVictor Perevertkin WDFEXPORT(WdfRequestGetParameters)(
52598a978a17SVictor Perevertkin     _In_
52608a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
52618a978a17SVictor Perevertkin     _In_
52628a978a17SVictor Perevertkin     WDFREQUEST Request,
52638a978a17SVictor Perevertkin     _Out_
52648a978a17SVictor Perevertkin     PWDF_REQUEST_PARAMETERS Parameters
52658a978a17SVictor Perevertkin     );
52668a978a17SVictor Perevertkin 
52678a978a17SVictor Perevertkin _Must_inspect_result_
52688a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
52698a978a17SVictor Perevertkin WDFAPI
52708a978a17SVictor Perevertkin NTSTATUS
52711f377076SVictor Perevertkin STDCALL
52728a978a17SVictor Perevertkin WDFEXPORT(WdfRequestRetrieveInputMemory)(
52738a978a17SVictor Perevertkin     _In_
52748a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
52758a978a17SVictor Perevertkin     _In_
52768a978a17SVictor Perevertkin     WDFREQUEST Request,
52778a978a17SVictor Perevertkin     _Out_
52788a978a17SVictor Perevertkin     WDFMEMORY* Memory
52798a978a17SVictor Perevertkin     );
52808a978a17SVictor Perevertkin 
52818a978a17SVictor Perevertkin _Must_inspect_result_
52828a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
52838a978a17SVictor Perevertkin WDFAPI
52848a978a17SVictor Perevertkin NTSTATUS
52851f377076SVictor Perevertkin STDCALL
52868a978a17SVictor Perevertkin WDFEXPORT(WdfRequestRetrieveOutputMemory)(
52878a978a17SVictor Perevertkin     _In_
52888a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
52898a978a17SVictor Perevertkin     _In_
52908a978a17SVictor Perevertkin     WDFREQUEST Request,
52918a978a17SVictor Perevertkin     _Out_
52928a978a17SVictor Perevertkin     WDFMEMORY* Memory
52938a978a17SVictor Perevertkin     );
52948a978a17SVictor Perevertkin 
52958a978a17SVictor Perevertkin _Must_inspect_result_
52968a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
52978a978a17SVictor Perevertkin WDFAPI
52988a978a17SVictor Perevertkin NTSTATUS
52991f377076SVictor Perevertkin STDCALL
53008a978a17SVictor Perevertkin WDFEXPORT(WdfRequestRetrieveInputBuffer)(
53018a978a17SVictor Perevertkin     _In_
53028a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
53038a978a17SVictor Perevertkin     _In_
53048a978a17SVictor Perevertkin     WDFREQUEST Request,
53058a978a17SVictor Perevertkin     _In_
53068a978a17SVictor Perevertkin     size_t MinimumRequiredLength,
53078a978a17SVictor Perevertkin     _Outptr_result_bytebuffer_(*Length)
53088a978a17SVictor Perevertkin     PVOID* Buffer,
53098a978a17SVictor Perevertkin     _Out_opt_
53108a978a17SVictor Perevertkin     size_t* Length
53118a978a17SVictor Perevertkin     );
53128a978a17SVictor Perevertkin 
53138a978a17SVictor Perevertkin _Must_inspect_result_
53148a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
53158a978a17SVictor Perevertkin WDFAPI
53168a978a17SVictor Perevertkin NTSTATUS
53171f377076SVictor Perevertkin STDCALL
53188a978a17SVictor Perevertkin WDFEXPORT(WdfRequestRetrieveOutputBuffer)(
53198a978a17SVictor Perevertkin     _In_
53208a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
53218a978a17SVictor Perevertkin     _In_
53228a978a17SVictor Perevertkin     WDFREQUEST Request,
53238a978a17SVictor Perevertkin     _In_
53248a978a17SVictor Perevertkin     size_t MinimumRequiredSize,
53258a978a17SVictor Perevertkin     _Outptr_result_bytebuffer_(*Length)
53268a978a17SVictor Perevertkin     PVOID* Buffer,
53278a978a17SVictor Perevertkin     _Out_opt_
53288a978a17SVictor Perevertkin     size_t* Length
53298a978a17SVictor Perevertkin     );
53308a978a17SVictor Perevertkin 
53318a978a17SVictor Perevertkin _Must_inspect_result_
53328a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
53338a978a17SVictor Perevertkin WDFAPI
53348a978a17SVictor Perevertkin NTSTATUS
53351f377076SVictor Perevertkin STDCALL
53368a978a17SVictor Perevertkin WDFEXPORT(WdfRequestRetrieveInputWdmMdl)(
53378a978a17SVictor Perevertkin     _In_
53388a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
53398a978a17SVictor Perevertkin     _In_
53408a978a17SVictor Perevertkin     WDFREQUEST Request,
53418a978a17SVictor Perevertkin     _Outptr_
53428a978a17SVictor Perevertkin     PMDL* Mdl
53438a978a17SVictor Perevertkin     );
53448a978a17SVictor Perevertkin 
53458a978a17SVictor Perevertkin _Must_inspect_result_
53468a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
53478a978a17SVictor Perevertkin WDFAPI
53488a978a17SVictor Perevertkin NTSTATUS
53491f377076SVictor Perevertkin STDCALL
53508a978a17SVictor Perevertkin WDFEXPORT(WdfRequestRetrieveOutputWdmMdl)(
53518a978a17SVictor Perevertkin     _In_
53528a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
53538a978a17SVictor Perevertkin     _In_
53548a978a17SVictor Perevertkin     WDFREQUEST Request,
53558a978a17SVictor Perevertkin     _Outptr_
53568a978a17SVictor Perevertkin     PMDL* Mdl
53578a978a17SVictor Perevertkin     );
53588a978a17SVictor Perevertkin 
53598a978a17SVictor Perevertkin _Must_inspect_result_
53608a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
53618a978a17SVictor Perevertkin WDFAPI
53628a978a17SVictor Perevertkin NTSTATUS
53631f377076SVictor Perevertkin STDCALL
53648a978a17SVictor Perevertkin WDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer)(
53658a978a17SVictor Perevertkin     _In_
53668a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
53678a978a17SVictor Perevertkin     _In_
53688a978a17SVictor Perevertkin     WDFREQUEST Request,
53698a978a17SVictor Perevertkin     _In_
53708a978a17SVictor Perevertkin     size_t MinimumRequiredLength,
53718a978a17SVictor Perevertkin     _Outptr_result_bytebuffer_maybenull_(*Length)
53728a978a17SVictor Perevertkin     PVOID* InputBuffer,
53738a978a17SVictor Perevertkin     _Out_opt_
53748a978a17SVictor Perevertkin     size_t* Length
53758a978a17SVictor Perevertkin     );
53768a978a17SVictor Perevertkin 
53778a978a17SVictor Perevertkin _Must_inspect_result_
53788a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
53798a978a17SVictor Perevertkin WDFAPI
53808a978a17SVictor Perevertkin NTSTATUS
53811f377076SVictor Perevertkin STDCALL
53828a978a17SVictor Perevertkin WDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer)(
53838a978a17SVictor Perevertkin     _In_
53848a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
53858a978a17SVictor Perevertkin     _In_
53868a978a17SVictor Perevertkin     WDFREQUEST Request,
53878a978a17SVictor Perevertkin     _In_
53888a978a17SVictor Perevertkin     size_t MinimumRequiredLength,
53898a978a17SVictor Perevertkin     _Outptr_result_bytebuffer_maybenull_(*Length)
53908a978a17SVictor Perevertkin     PVOID* OutputBuffer,
53918a978a17SVictor Perevertkin     _Out_opt_
53928a978a17SVictor Perevertkin     size_t* Length
53938a978a17SVictor Perevertkin     );
53948a978a17SVictor Perevertkin 
53958a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
53968a978a17SVictor Perevertkin WDFAPI
53978a978a17SVictor Perevertkin VOID
53981f377076SVictor Perevertkin STDCALL
53998a978a17SVictor Perevertkin WDFEXPORT(WdfRequestSetInformation)(
54008a978a17SVictor Perevertkin     _In_
54018a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
54028a978a17SVictor Perevertkin     _In_
54038a978a17SVictor Perevertkin     WDFREQUEST Request,
54048a978a17SVictor Perevertkin     _In_
54058a978a17SVictor Perevertkin     ULONG_PTR Information
54068a978a17SVictor Perevertkin     );
54078a978a17SVictor Perevertkin 
54088a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
54098a978a17SVictor Perevertkin WDFAPI
54108a978a17SVictor Perevertkin ULONG_PTR
54111f377076SVictor Perevertkin STDCALL
54128a978a17SVictor Perevertkin WDFEXPORT(WdfRequestGetInformation)(
54138a978a17SVictor Perevertkin     _In_
54148a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
54158a978a17SVictor Perevertkin     _In_
54168a978a17SVictor Perevertkin     WDFREQUEST Request
54178a978a17SVictor Perevertkin     );
54188a978a17SVictor Perevertkin 
54198a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
54208a978a17SVictor Perevertkin WDFAPI
54218a978a17SVictor Perevertkin WDFFILEOBJECT
54221f377076SVictor Perevertkin STDCALL
54238a978a17SVictor Perevertkin WDFEXPORT(WdfRequestGetFileObject)(
54248a978a17SVictor Perevertkin     _In_
54258a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
54268a978a17SVictor Perevertkin     _In_
54278a978a17SVictor Perevertkin     WDFREQUEST Request
54288a978a17SVictor Perevertkin     );
54298a978a17SVictor Perevertkin 
54308a978a17SVictor Perevertkin _Must_inspect_result_
54318a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
54328a978a17SVictor Perevertkin WDFAPI
54338a978a17SVictor Perevertkin NTSTATUS
54341f377076SVictor Perevertkin STDCALL
54358a978a17SVictor Perevertkin WDFEXPORT(WdfRequestProbeAndLockUserBufferForRead)(
54368a978a17SVictor Perevertkin     _In_
54378a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
54388a978a17SVictor Perevertkin     _In_
54398a978a17SVictor Perevertkin     WDFREQUEST Request,
54408a978a17SVictor Perevertkin     _In_reads_bytes_(Length)
54418a978a17SVictor Perevertkin     PVOID Buffer,
54428a978a17SVictor Perevertkin     _In_
54438a978a17SVictor Perevertkin     size_t Length,
54448a978a17SVictor Perevertkin     _Out_
54458a978a17SVictor Perevertkin     WDFMEMORY* MemoryObject
54468a978a17SVictor Perevertkin     );
54478a978a17SVictor Perevertkin 
54488a978a17SVictor Perevertkin _Must_inspect_result_
54498a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
54508a978a17SVictor Perevertkin WDFAPI
54518a978a17SVictor Perevertkin NTSTATUS
54521f377076SVictor Perevertkin STDCALL
54538a978a17SVictor Perevertkin WDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite)(
54548a978a17SVictor Perevertkin     _In_
54558a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
54568a978a17SVictor Perevertkin     _In_
54578a978a17SVictor Perevertkin     WDFREQUEST Request,
54588a978a17SVictor Perevertkin     _In_reads_bytes_(Length)
54598a978a17SVictor Perevertkin     PVOID Buffer,
54608a978a17SVictor Perevertkin     _In_
54618a978a17SVictor Perevertkin     size_t Length,
54628a978a17SVictor Perevertkin     _Out_
54638a978a17SVictor Perevertkin     WDFMEMORY* MemoryObject
54648a978a17SVictor Perevertkin     );
54658a978a17SVictor Perevertkin 
54668a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
54678a978a17SVictor Perevertkin WDFAPI
54688a978a17SVictor Perevertkin KPROCESSOR_MODE
54691f377076SVictor Perevertkin STDCALL
54708a978a17SVictor Perevertkin WDFEXPORT(WdfRequestGetRequestorMode)(
54718a978a17SVictor Perevertkin     _In_
54728a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
54738a978a17SVictor Perevertkin     _In_
54748a978a17SVictor Perevertkin     WDFREQUEST Request
54758a978a17SVictor Perevertkin     );
54768a978a17SVictor Perevertkin 
54778a978a17SVictor Perevertkin _Must_inspect_result_
54788a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
54798a978a17SVictor Perevertkin WDFAPI
54808a978a17SVictor Perevertkin NTSTATUS
54811f377076SVictor Perevertkin STDCALL
54828a978a17SVictor Perevertkin WDFEXPORT(WdfRequestForwardToIoQueue)(
54838a978a17SVictor Perevertkin     _In_
54848a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
54858a978a17SVictor Perevertkin     _In_
54868a978a17SVictor Perevertkin     WDFREQUEST Request,
54878a978a17SVictor Perevertkin     _In_
54888a978a17SVictor Perevertkin     WDFQUEUE DestinationQueue
54898a978a17SVictor Perevertkin     );
54908a978a17SVictor Perevertkin 
54918a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
54928a978a17SVictor Perevertkin WDFAPI
54938a978a17SVictor Perevertkin WDFQUEUE
54941f377076SVictor Perevertkin STDCALL
54958a978a17SVictor Perevertkin WDFEXPORT(WdfRequestGetIoQueue)(
54968a978a17SVictor Perevertkin     _In_
54978a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
54988a978a17SVictor Perevertkin     _In_
54998a978a17SVictor Perevertkin     WDFREQUEST Request
55008a978a17SVictor Perevertkin     );
55018a978a17SVictor Perevertkin 
55028a978a17SVictor Perevertkin _Must_inspect_result_
55038a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
55048a978a17SVictor Perevertkin WDFAPI
55058a978a17SVictor Perevertkin NTSTATUS
55061f377076SVictor Perevertkin STDCALL
55078a978a17SVictor Perevertkin WDFEXPORT(WdfRequestRequeue)(
55088a978a17SVictor Perevertkin     _In_
55098a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
55108a978a17SVictor Perevertkin     _In_
55118a978a17SVictor Perevertkin     WDFREQUEST Request
55128a978a17SVictor Perevertkin     );
55138a978a17SVictor Perevertkin 
55148a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
55158a978a17SVictor Perevertkin WDFAPI
55168a978a17SVictor Perevertkin VOID
55171f377076SVictor Perevertkin STDCALL
55188a978a17SVictor Perevertkin WDFEXPORT(WdfRequestStopAcknowledge)(
55198a978a17SVictor Perevertkin     _In_
55208a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
55218a978a17SVictor Perevertkin     _In_
55228a978a17SVictor Perevertkin     WDFREQUEST Request,
55238a978a17SVictor Perevertkin     _In_
55248a978a17SVictor Perevertkin     BOOLEAN Requeue
55258a978a17SVictor Perevertkin     );
55268a978a17SVictor Perevertkin 
55278a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
55288a978a17SVictor Perevertkin WDFAPI
55298a978a17SVictor Perevertkin PIRP
55301f377076SVictor Perevertkin STDCALL
55318a978a17SVictor Perevertkin WDFEXPORT(WdfRequestWdmGetIrp)(
55328a978a17SVictor Perevertkin     _In_
55338a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
55348a978a17SVictor Perevertkin     _In_
55358a978a17SVictor Perevertkin     WDFREQUEST Request
55368a978a17SVictor Perevertkin     );
55378a978a17SVictor Perevertkin 
55388a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
55398a978a17SVictor Perevertkin WDFAPI
55408a978a17SVictor Perevertkin BOOLEAN
55411f377076SVictor Perevertkin STDCALL
55428a978a17SVictor Perevertkin WDFEXPORT(WdfRequestIsReserved)(
55438a978a17SVictor Perevertkin     _In_
55448a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
55458a978a17SVictor Perevertkin     _In_
55468a978a17SVictor Perevertkin     WDFREQUEST Request
55478a978a17SVictor Perevertkin     );
55488a978a17SVictor Perevertkin 
55498a978a17SVictor Perevertkin _Must_inspect_result_
55508a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
55518a978a17SVictor Perevertkin WDFAPI
55528a978a17SVictor Perevertkin NTSTATUS
55531f377076SVictor Perevertkin STDCALL
55548a978a17SVictor Perevertkin WDFEXPORT(WdfRequestForwardToParentDeviceIoQueue)(
55558a978a17SVictor Perevertkin     _In_
55568a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
55578a978a17SVictor Perevertkin     _In_
55588a978a17SVictor Perevertkin     WDFREQUEST Request,
55598a978a17SVictor Perevertkin     _In_
55608a978a17SVictor Perevertkin     WDFQUEUE ParentDeviceQueue,
55618a978a17SVictor Perevertkin     _In_
55628a978a17SVictor Perevertkin     PWDF_REQUEST_FORWARD_OPTIONS ForwardOptions
55638a978a17SVictor Perevertkin     );
55648a978a17SVictor Perevertkin 
55658a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
55668a978a17SVictor Perevertkin WDFAPI
55678a978a17SVictor Perevertkin VOID
55681f377076SVictor Perevertkin STDCALL
55698a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber)(
55708a978a17SVictor Perevertkin     _In_
55718a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
55728a978a17SVictor Perevertkin     _In_
55738a978a17SVictor Perevertkin     WDFIORESREQLIST RequirementsList,
55748a978a17SVictor Perevertkin     _In_
55758a978a17SVictor Perevertkin     ULONG SlotNumber
55768a978a17SVictor Perevertkin     );
55778a978a17SVictor Perevertkin 
55788a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
55798a978a17SVictor Perevertkin WDFAPI
55808a978a17SVictor Perevertkin VOID
55811f377076SVictor Perevertkin STDCALL
55828a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType)(
55838a978a17SVictor Perevertkin     _In_
55848a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
55858a978a17SVictor Perevertkin     _In_
55868a978a17SVictor Perevertkin     WDFIORESREQLIST RequirementsList,
55878a978a17SVictor Perevertkin     _In_
55888a978a17SVictor Perevertkin     _Strict_type_match_
55898a978a17SVictor Perevertkin     INTERFACE_TYPE InterfaceType
55908a978a17SVictor Perevertkin     );
55918a978a17SVictor Perevertkin 
55928a978a17SVictor Perevertkin _Must_inspect_result_
55938a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
55948a978a17SVictor Perevertkin WDFAPI
55958a978a17SVictor Perevertkin NTSTATUS
55961f377076SVictor Perevertkin STDCALL
55978a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceRequirementsListAppendIoResList)(
55988a978a17SVictor Perevertkin     _In_
55998a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
56008a978a17SVictor Perevertkin     _In_
56018a978a17SVictor Perevertkin     WDFIORESREQLIST RequirementsList,
56028a978a17SVictor Perevertkin     _In_
56038a978a17SVictor Perevertkin     WDFIORESLIST IoResList
56048a978a17SVictor Perevertkin     );
56058a978a17SVictor Perevertkin 
56068a978a17SVictor Perevertkin _Must_inspect_result_
56078a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
56088a978a17SVictor Perevertkin WDFAPI
56098a978a17SVictor Perevertkin NTSTATUS
56101f377076SVictor Perevertkin STDCALL
56118a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceRequirementsListInsertIoResList)(
56128a978a17SVictor Perevertkin     _In_
56138a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
56148a978a17SVictor Perevertkin     _In_
56158a978a17SVictor Perevertkin     WDFIORESREQLIST RequirementsList,
56168a978a17SVictor Perevertkin     _In_
56178a978a17SVictor Perevertkin     WDFIORESLIST IoResList,
56188a978a17SVictor Perevertkin     _In_
56198a978a17SVictor Perevertkin     ULONG Index
56208a978a17SVictor Perevertkin     );
56218a978a17SVictor Perevertkin 
56228a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
56238a978a17SVictor Perevertkin WDFAPI
56248a978a17SVictor Perevertkin ULONG
56251f377076SVictor Perevertkin STDCALL
56268a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceRequirementsListGetCount)(
56278a978a17SVictor Perevertkin     _In_
56288a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
56298a978a17SVictor Perevertkin     _In_
56308a978a17SVictor Perevertkin     WDFIORESREQLIST RequirementsList
56318a978a17SVictor Perevertkin     );
56328a978a17SVictor Perevertkin 
56338a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
56348a978a17SVictor Perevertkin WDFAPI
56358a978a17SVictor Perevertkin WDFIORESLIST
56361f377076SVictor Perevertkin STDCALL
56378a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceRequirementsListGetIoResList)(
56388a978a17SVictor Perevertkin     _In_
56398a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
56408a978a17SVictor Perevertkin     _In_
56418a978a17SVictor Perevertkin     WDFIORESREQLIST RequirementsList,
56428a978a17SVictor Perevertkin     _In_
56438a978a17SVictor Perevertkin     ULONG Index
56448a978a17SVictor Perevertkin     );
56458a978a17SVictor Perevertkin 
56468a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
56478a978a17SVictor Perevertkin WDFAPI
56488a978a17SVictor Perevertkin VOID
56491f377076SVictor Perevertkin STDCALL
56508a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceRequirementsListRemove)(
56518a978a17SVictor Perevertkin     _In_
56528a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
56538a978a17SVictor Perevertkin     _In_
56548a978a17SVictor Perevertkin     WDFIORESREQLIST RequirementsList,
56558a978a17SVictor Perevertkin     _In_
56568a978a17SVictor Perevertkin     ULONG Index
56578a978a17SVictor Perevertkin     );
56588a978a17SVictor Perevertkin 
56598a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
56608a978a17SVictor Perevertkin WDFAPI
56618a978a17SVictor Perevertkin VOID
56621f377076SVictor Perevertkin STDCALL
56638a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList)(
56648a978a17SVictor Perevertkin     _In_
56658a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
56668a978a17SVictor Perevertkin     _In_
56678a978a17SVictor Perevertkin     WDFIORESREQLIST RequirementsList,
56688a978a17SVictor Perevertkin     _In_
56698a978a17SVictor Perevertkin     WDFIORESLIST IoResList
56708a978a17SVictor Perevertkin     );
56718a978a17SVictor Perevertkin 
56728a978a17SVictor Perevertkin _Must_inspect_result_
56738a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
56748a978a17SVictor Perevertkin WDFAPI
56758a978a17SVictor Perevertkin NTSTATUS
56761f377076SVictor Perevertkin STDCALL
56778a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceListCreate)(
56788a978a17SVictor Perevertkin     _In_
56798a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
56808a978a17SVictor Perevertkin     _In_
56818a978a17SVictor Perevertkin     WDFIORESREQLIST RequirementsList,
56828a978a17SVictor Perevertkin     _In_opt_
56838a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
56848a978a17SVictor Perevertkin     _Out_
56858a978a17SVictor Perevertkin     WDFIORESLIST* ResourceList
56868a978a17SVictor Perevertkin     );
56878a978a17SVictor Perevertkin 
56888a978a17SVictor Perevertkin _Must_inspect_result_
56898a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
56908a978a17SVictor Perevertkin WDFAPI
56918a978a17SVictor Perevertkin NTSTATUS
56921f377076SVictor Perevertkin STDCALL
56938a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceListAppendDescriptor)(
56948a978a17SVictor Perevertkin     _In_
56958a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
56968a978a17SVictor Perevertkin     _In_
56978a978a17SVictor Perevertkin     WDFIORESLIST ResourceList,
56988a978a17SVictor Perevertkin     _In_
56998a978a17SVictor Perevertkin     PIO_RESOURCE_DESCRIPTOR Descriptor
57008a978a17SVictor Perevertkin     );
57018a978a17SVictor Perevertkin 
57028a978a17SVictor Perevertkin _Must_inspect_result_
57038a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
57048a978a17SVictor Perevertkin WDFAPI
57058a978a17SVictor Perevertkin NTSTATUS
57061f377076SVictor Perevertkin STDCALL
57078a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceListInsertDescriptor)(
57088a978a17SVictor Perevertkin     _In_
57098a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
57108a978a17SVictor Perevertkin     _In_
57118a978a17SVictor Perevertkin     WDFIORESLIST ResourceList,
57128a978a17SVictor Perevertkin     _In_
57138a978a17SVictor Perevertkin     PIO_RESOURCE_DESCRIPTOR Descriptor,
57148a978a17SVictor Perevertkin     _In_
57158a978a17SVictor Perevertkin     ULONG Index
57168a978a17SVictor Perevertkin     );
57178a978a17SVictor Perevertkin 
57188a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
57198a978a17SVictor Perevertkin WDFAPI
57208a978a17SVictor Perevertkin VOID
57211f377076SVictor Perevertkin STDCALL
57228a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceListUpdateDescriptor)(
57238a978a17SVictor Perevertkin     _In_
57248a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
57258a978a17SVictor Perevertkin     _In_
57268a978a17SVictor Perevertkin     WDFIORESLIST ResourceList,
57278a978a17SVictor Perevertkin     _In_
57288a978a17SVictor Perevertkin     PIO_RESOURCE_DESCRIPTOR Descriptor,
57298a978a17SVictor Perevertkin     _In_
57308a978a17SVictor Perevertkin     ULONG Index
57318a978a17SVictor Perevertkin     );
57328a978a17SVictor Perevertkin 
57338a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
57348a978a17SVictor Perevertkin WDFAPI
57358a978a17SVictor Perevertkin ULONG
57361f377076SVictor Perevertkin STDCALL
57378a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceListGetCount)(
57388a978a17SVictor Perevertkin     _In_
57398a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
57408a978a17SVictor Perevertkin     _In_
57418a978a17SVictor Perevertkin     WDFIORESLIST ResourceList
57428a978a17SVictor Perevertkin     );
57438a978a17SVictor Perevertkin 
57448a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
57458a978a17SVictor Perevertkin WDFAPI
57468a978a17SVictor Perevertkin PIO_RESOURCE_DESCRIPTOR
57471f377076SVictor Perevertkin STDCALL
57488a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceListGetDescriptor)(
57498a978a17SVictor Perevertkin     _In_
57508a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
57518a978a17SVictor Perevertkin     _In_
57528a978a17SVictor Perevertkin     WDFIORESLIST ResourceList,
57538a978a17SVictor Perevertkin     _In_
57548a978a17SVictor Perevertkin     ULONG Index
57558a978a17SVictor Perevertkin     );
57568a978a17SVictor Perevertkin 
57578a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
57588a978a17SVictor Perevertkin WDFAPI
57598a978a17SVictor Perevertkin VOID
57601f377076SVictor Perevertkin STDCALL
57618a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceListRemove)(
57628a978a17SVictor Perevertkin     _In_
57638a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
57648a978a17SVictor Perevertkin     _In_
57658a978a17SVictor Perevertkin     WDFIORESLIST ResourceList,
57668a978a17SVictor Perevertkin     _In_
57678a978a17SVictor Perevertkin     ULONG Index
57688a978a17SVictor Perevertkin     );
57698a978a17SVictor Perevertkin 
57708a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
57718a978a17SVictor Perevertkin WDFAPI
57728a978a17SVictor Perevertkin VOID
57731f377076SVictor Perevertkin STDCALL
57748a978a17SVictor Perevertkin WDFEXPORT(WdfIoResourceListRemoveByDescriptor)(
57758a978a17SVictor Perevertkin     _In_
57768a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
57778a978a17SVictor Perevertkin     _In_
57788a978a17SVictor Perevertkin     WDFIORESLIST ResourceList,
57798a978a17SVictor Perevertkin     _In_
57808a978a17SVictor Perevertkin     PIO_RESOURCE_DESCRIPTOR Descriptor
57818a978a17SVictor Perevertkin     );
57828a978a17SVictor Perevertkin 
57838a978a17SVictor Perevertkin _Must_inspect_result_
57848a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
57858a978a17SVictor Perevertkin WDFAPI
57868a978a17SVictor Perevertkin NTSTATUS
57871f377076SVictor Perevertkin STDCALL
57888a978a17SVictor Perevertkin WDFEXPORT(WdfCmResourceListAppendDescriptor)(
57898a978a17SVictor Perevertkin     _In_
57908a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
57918a978a17SVictor Perevertkin     _In_
57928a978a17SVictor Perevertkin     WDFCMRESLIST List,
57938a978a17SVictor Perevertkin     _In_
57948a978a17SVictor Perevertkin     PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
57958a978a17SVictor Perevertkin     );
57968a978a17SVictor Perevertkin 
57978a978a17SVictor Perevertkin _Must_inspect_result_
57988a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
57998a978a17SVictor Perevertkin WDFAPI
58008a978a17SVictor Perevertkin NTSTATUS
58011f377076SVictor Perevertkin STDCALL
58028a978a17SVictor Perevertkin WDFEXPORT(WdfCmResourceListInsertDescriptor)(
58038a978a17SVictor Perevertkin     _In_
58048a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
58058a978a17SVictor Perevertkin     _In_
58068a978a17SVictor Perevertkin     WDFCMRESLIST List,
58078a978a17SVictor Perevertkin     _In_
58088a978a17SVictor Perevertkin     PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
58098a978a17SVictor Perevertkin     _In_
58108a978a17SVictor Perevertkin     ULONG Index
58118a978a17SVictor Perevertkin     );
58128a978a17SVictor Perevertkin 
58138a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
58148a978a17SVictor Perevertkin WDFAPI
58158a978a17SVictor Perevertkin ULONG
58161f377076SVictor Perevertkin STDCALL
58178a978a17SVictor Perevertkin WDFEXPORT(WdfCmResourceListGetCount)(
58188a978a17SVictor Perevertkin     _In_
58198a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
58208a978a17SVictor Perevertkin     _In_
58218a978a17SVictor Perevertkin     WDFCMRESLIST List
58228a978a17SVictor Perevertkin     );
58238a978a17SVictor Perevertkin 
58248a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
58258a978a17SVictor Perevertkin WDFAPI
58268a978a17SVictor Perevertkin PCM_PARTIAL_RESOURCE_DESCRIPTOR
58271f377076SVictor Perevertkin STDCALL
58288a978a17SVictor Perevertkin WDFEXPORT(WdfCmResourceListGetDescriptor)(
58298a978a17SVictor Perevertkin     _In_
58308a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
58318a978a17SVictor Perevertkin     _In_
58328a978a17SVictor Perevertkin     WDFCMRESLIST List,
58338a978a17SVictor Perevertkin     _In_
58348a978a17SVictor Perevertkin     ULONG Index
58358a978a17SVictor Perevertkin     );
58368a978a17SVictor Perevertkin 
58378a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
58388a978a17SVictor Perevertkin WDFAPI
58398a978a17SVictor Perevertkin VOID
58401f377076SVictor Perevertkin STDCALL
58418a978a17SVictor Perevertkin WDFEXPORT(WdfCmResourceListRemove)(
58428a978a17SVictor Perevertkin     _In_
58438a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
58448a978a17SVictor Perevertkin     _In_
58458a978a17SVictor Perevertkin     WDFCMRESLIST List,
58468a978a17SVictor Perevertkin     _In_
58478a978a17SVictor Perevertkin     ULONG Index
58488a978a17SVictor Perevertkin     );
58498a978a17SVictor Perevertkin 
58508a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
58518a978a17SVictor Perevertkin WDFAPI
58528a978a17SVictor Perevertkin VOID
58531f377076SVictor Perevertkin STDCALL
58548a978a17SVictor Perevertkin WDFEXPORT(WdfCmResourceListRemoveByDescriptor)(
58558a978a17SVictor Perevertkin     _In_
58568a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
58578a978a17SVictor Perevertkin     _In_
58588a978a17SVictor Perevertkin     WDFCMRESLIST List,
58598a978a17SVictor Perevertkin     _In_
58608a978a17SVictor Perevertkin     PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
58618a978a17SVictor Perevertkin     );
58628a978a17SVictor Perevertkin 
58638a978a17SVictor Perevertkin _Must_inspect_result_
58648a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
58658a978a17SVictor Perevertkin WDFAPI
58668a978a17SVictor Perevertkin NTSTATUS
58671f377076SVictor Perevertkin STDCALL
58688a978a17SVictor Perevertkin WDFEXPORT(WdfStringCreate)(
58698a978a17SVictor Perevertkin     _In_
58708a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
58718a978a17SVictor Perevertkin     _In_opt_
58728a978a17SVictor Perevertkin     PCUNICODE_STRING UnicodeString,
58738a978a17SVictor Perevertkin     _In_opt_
58748a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES StringAttributes,
58758a978a17SVictor Perevertkin     _Out_
58768a978a17SVictor Perevertkin     WDFSTRING* String
58778a978a17SVictor Perevertkin     );
58788a978a17SVictor Perevertkin 
58798a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
58808a978a17SVictor Perevertkin WDFAPI
58818a978a17SVictor Perevertkin VOID
58821f377076SVictor Perevertkin STDCALL
58838a978a17SVictor Perevertkin WDFEXPORT(WdfStringGetUnicodeString)(
58848a978a17SVictor Perevertkin     _In_
58858a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
58868a978a17SVictor Perevertkin     _In_
58878a978a17SVictor Perevertkin     WDFSTRING String,
58888a978a17SVictor Perevertkin     _Out_
58898a978a17SVictor Perevertkin     PUNICODE_STRING UnicodeString
58908a978a17SVictor Perevertkin     );
58918a978a17SVictor Perevertkin 
58928a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
58938a978a17SVictor Perevertkin WDFAPI
58948a978a17SVictor Perevertkin VOID
58951f377076SVictor Perevertkin STDCALL
58968a978a17SVictor Perevertkin WDFEXPORT(WdfObjectAcquireLock)(
58978a978a17SVictor Perevertkin     _In_
58988a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
58998a978a17SVictor Perevertkin     _In_
59008a978a17SVictor Perevertkin     _Requires_lock_not_held_(_Curr_)
59018a978a17SVictor Perevertkin     _Acquires_lock_(_Curr_)
59028a978a17SVictor Perevertkin     WDFOBJECT Object
59038a978a17SVictor Perevertkin     );
59048a978a17SVictor Perevertkin 
59058a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
59068a978a17SVictor Perevertkin WDFAPI
59078a978a17SVictor Perevertkin VOID
59081f377076SVictor Perevertkin STDCALL
59098a978a17SVictor Perevertkin WDFEXPORT(WdfObjectReleaseLock)(
59108a978a17SVictor Perevertkin     _In_
59118a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
59128a978a17SVictor Perevertkin     _In_
59138a978a17SVictor Perevertkin     _Requires_lock_held_(_Curr_)
59148a978a17SVictor Perevertkin     _Releases_lock_(_Curr_)
59158a978a17SVictor Perevertkin     WDFOBJECT Object
59168a978a17SVictor Perevertkin     );
59178a978a17SVictor Perevertkin 
59188a978a17SVictor Perevertkin _Must_inspect_result_
59198a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
59208a978a17SVictor Perevertkin WDFAPI
59218a978a17SVictor Perevertkin NTSTATUS
59221f377076SVictor Perevertkin STDCALL
59238a978a17SVictor Perevertkin WDFEXPORT(WdfWaitLockCreate)(
59248a978a17SVictor Perevertkin     _In_
59258a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
59268a978a17SVictor Perevertkin     _In_opt_
59278a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES LockAttributes,
59288a978a17SVictor Perevertkin     _Out_
59298a978a17SVictor Perevertkin     WDFWAITLOCK* Lock
59308a978a17SVictor Perevertkin     );
59318a978a17SVictor Perevertkin 
59328a978a17SVictor Perevertkin _When_(Timeout == NULL, _IRQL_requires_max_(PASSIVE_LEVEL))
59338a978a17SVictor Perevertkin _When_(Timeout != NULL && *Timeout == 0, _IRQL_requires_max_(DISPATCH_LEVEL))
59348a978a17SVictor Perevertkin _When_(Timeout != NULL && *Timeout != 0, _IRQL_requires_max_(PASSIVE_LEVEL))
59358a978a17SVictor Perevertkin _Always_(_When_(Timeout == NULL, _Acquires_lock_(Lock)))
59368a978a17SVictor Perevertkin _When_(Timeout != NULL && return == STATUS_SUCCESS, _Acquires_lock_(Lock))
59378a978a17SVictor Perevertkin _When_(Timeout != NULL, _Must_inspect_result_)
59388a978a17SVictor Perevertkin WDFAPI
59398a978a17SVictor Perevertkin NTSTATUS
59401f377076SVictor Perevertkin STDCALL
59418a978a17SVictor Perevertkin WDFEXPORT(WdfWaitLockAcquire)(
59428a978a17SVictor Perevertkin     _In_
59438a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
59448a978a17SVictor Perevertkin     _In_
59458a978a17SVictor Perevertkin     _Requires_lock_not_held_(_Curr_)
59468a978a17SVictor Perevertkin     WDFWAITLOCK Lock,
59478a978a17SVictor Perevertkin     _In_opt_
59488a978a17SVictor Perevertkin     PLONGLONG Timeout
59498a978a17SVictor Perevertkin     );
59508a978a17SVictor Perevertkin 
59518a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
59528a978a17SVictor Perevertkin WDFAPI
59538a978a17SVictor Perevertkin VOID
59541f377076SVictor Perevertkin STDCALL
59558a978a17SVictor Perevertkin WDFEXPORT(WdfWaitLockRelease)(
59568a978a17SVictor Perevertkin     _In_
59578a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
59588a978a17SVictor Perevertkin     _In_
59598a978a17SVictor Perevertkin     _Requires_lock_held_(_Curr_)
59608a978a17SVictor Perevertkin     _Releases_lock_(_Curr_)
59618a978a17SVictor Perevertkin     WDFWAITLOCK Lock
59628a978a17SVictor Perevertkin     );
59638a978a17SVictor Perevertkin 
59648a978a17SVictor Perevertkin _Must_inspect_result_
59658a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
59668a978a17SVictor Perevertkin WDFAPI
59678a978a17SVictor Perevertkin NTSTATUS
59681f377076SVictor Perevertkin STDCALL
59698a978a17SVictor Perevertkin WDFEXPORT(WdfSpinLockCreate)(
59708a978a17SVictor Perevertkin     _In_
59718a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
59728a978a17SVictor Perevertkin     _In_opt_
59738a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES SpinLockAttributes,
59748a978a17SVictor Perevertkin     _Out_
59758a978a17SVictor Perevertkin     WDFSPINLOCK* SpinLock
59768a978a17SVictor Perevertkin     );
59778a978a17SVictor Perevertkin 
59788a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
59798a978a17SVictor Perevertkin _IRQL_raises_(DISPATCH_LEVEL)
59808a978a17SVictor Perevertkin WDFAPI
59818a978a17SVictor Perevertkin VOID
59821f377076SVictor Perevertkin STDCALL
59838a978a17SVictor Perevertkin WDFEXPORT(WdfSpinLockAcquire)(
59848a978a17SVictor Perevertkin     _In_
59858a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
59868a978a17SVictor Perevertkin     _In_
59878a978a17SVictor Perevertkin     _Requires_lock_not_held_(_Curr_)
59888a978a17SVictor Perevertkin     _Acquires_lock_(_Curr_)
59898a978a17SVictor Perevertkin     _IRQL_saves_
59908a978a17SVictor Perevertkin     WDFSPINLOCK SpinLock
59918a978a17SVictor Perevertkin     );
59928a978a17SVictor Perevertkin 
59938a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
59948a978a17SVictor Perevertkin _IRQL_requires_min_(DISPATCH_LEVEL)
59958a978a17SVictor Perevertkin WDFAPI
59968a978a17SVictor Perevertkin VOID
59971f377076SVictor Perevertkin STDCALL
59988a978a17SVictor Perevertkin WDFEXPORT(WdfSpinLockRelease)(
59998a978a17SVictor Perevertkin     _In_
60008a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
60018a978a17SVictor Perevertkin     _In_
60028a978a17SVictor Perevertkin     _Requires_lock_held_(_Curr_)
60038a978a17SVictor Perevertkin     _Releases_lock_(_Curr_)
60048a978a17SVictor Perevertkin     _IRQL_restores_
60058a978a17SVictor Perevertkin     WDFSPINLOCK SpinLock
60068a978a17SVictor Perevertkin     );
60078a978a17SVictor Perevertkin 
60088a978a17SVictor Perevertkin _Must_inspect_result_
60098a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
60108a978a17SVictor Perevertkin WDFAPI
60118a978a17SVictor Perevertkin NTSTATUS
60121f377076SVictor Perevertkin STDCALL
60138a978a17SVictor Perevertkin WDFEXPORT(WdfTimerCreate)(
60148a978a17SVictor Perevertkin     _In_
60158a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
60168a978a17SVictor Perevertkin     _In_
60178a978a17SVictor Perevertkin     PWDF_TIMER_CONFIG Config,
60188a978a17SVictor Perevertkin     _In_
60198a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
60208a978a17SVictor Perevertkin     _Out_
60218a978a17SVictor Perevertkin     WDFTIMER* Timer
60228a978a17SVictor Perevertkin     );
60238a978a17SVictor Perevertkin 
60248a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
60258a978a17SVictor Perevertkin WDFAPI
60268a978a17SVictor Perevertkin BOOLEAN
60271f377076SVictor Perevertkin STDCALL
60288a978a17SVictor Perevertkin WDFEXPORT(WdfTimerStart)(
60298a978a17SVictor Perevertkin     _In_
60308a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
60318a978a17SVictor Perevertkin     _In_
60328a978a17SVictor Perevertkin     WDFTIMER Timer,
60338a978a17SVictor Perevertkin     _In_
60348a978a17SVictor Perevertkin     LONGLONG DueTime
60358a978a17SVictor Perevertkin     );
60368a978a17SVictor Perevertkin 
60378a978a17SVictor Perevertkin _When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL))
60388a978a17SVictor Perevertkin _When_(Wait == __false, _IRQL_requires_max_(DISPATCH_LEVEL))
60398a978a17SVictor Perevertkin WDFAPI
60408a978a17SVictor Perevertkin BOOLEAN
60411f377076SVictor Perevertkin STDCALL
60428a978a17SVictor Perevertkin WDFEXPORT(WdfTimerStop)(
60438a978a17SVictor Perevertkin     _In_
60448a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
60458a978a17SVictor Perevertkin     _In_
60468a978a17SVictor Perevertkin     WDFTIMER Timer,
60478a978a17SVictor Perevertkin     _In_
60488a978a17SVictor Perevertkin     BOOLEAN Wait
60498a978a17SVictor Perevertkin     );
60508a978a17SVictor Perevertkin 
60518a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
60528a978a17SVictor Perevertkin WDFAPI
60538a978a17SVictor Perevertkin WDFOBJECT
60541f377076SVictor Perevertkin STDCALL
60558a978a17SVictor Perevertkin WDFEXPORT(WdfTimerGetParentObject)(
60568a978a17SVictor Perevertkin     _In_
60578a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
60588a978a17SVictor Perevertkin     _In_
60598a978a17SVictor Perevertkin     WDFTIMER Timer
60608a978a17SVictor Perevertkin     );
60618a978a17SVictor Perevertkin 
60628a978a17SVictor Perevertkin _Must_inspect_result_
60638a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
60648a978a17SVictor Perevertkin WDFAPI
60658a978a17SVictor Perevertkin NTSTATUS
60661f377076SVictor Perevertkin STDCALL
60678a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceCreate)(
60688a978a17SVictor Perevertkin     _In_
60698a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
60708a978a17SVictor Perevertkin     _In_
60718a978a17SVictor Perevertkin     WDFDEVICE Device,
60728a978a17SVictor Perevertkin     _In_opt_
60738a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
60748a978a17SVictor Perevertkin     _Out_
60758a978a17SVictor Perevertkin     WDFUSBDEVICE* UsbDevice
60768a978a17SVictor Perevertkin     );
60778a978a17SVictor Perevertkin 
60788a978a17SVictor Perevertkin _Must_inspect_result_
60798a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
60808a978a17SVictor Perevertkin WDFAPI
60818a978a17SVictor Perevertkin NTSTATUS
60821f377076SVictor Perevertkin STDCALL
60838a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceCreateWithParameters)(
60848a978a17SVictor Perevertkin     _In_
60858a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
60868a978a17SVictor Perevertkin     _In_
60878a978a17SVictor Perevertkin     WDFDEVICE Device,
60888a978a17SVictor Perevertkin     _In_
60898a978a17SVictor Perevertkin     PWDF_USB_DEVICE_CREATE_CONFIG Config,
60908a978a17SVictor Perevertkin     _In_opt_
60918a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
60928a978a17SVictor Perevertkin     _Out_
60938a978a17SVictor Perevertkin     WDFUSBDEVICE* UsbDevice
60948a978a17SVictor Perevertkin     );
60958a978a17SVictor Perevertkin 
60968a978a17SVictor Perevertkin _Must_inspect_result_
60978a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
60988a978a17SVictor Perevertkin WDFAPI
60998a978a17SVictor Perevertkin NTSTATUS
61001f377076SVictor Perevertkin STDCALL
61018a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceRetrieveInformation)(
61028a978a17SVictor Perevertkin     _In_
61038a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
61048a978a17SVictor Perevertkin     _In_
61058a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
61068a978a17SVictor Perevertkin     _Out_
61078a978a17SVictor Perevertkin     PWDF_USB_DEVICE_INFORMATION Information
61088a978a17SVictor Perevertkin     );
61098a978a17SVictor Perevertkin 
61108a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
61118a978a17SVictor Perevertkin WDFAPI
61128a978a17SVictor Perevertkin VOID
61131f377076SVictor Perevertkin STDCALL
61148a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor)(
61158a978a17SVictor Perevertkin     _In_
61168a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
61178a978a17SVictor Perevertkin     _In_
61188a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
61198a978a17SVictor Perevertkin     _Out_
61208a978a17SVictor Perevertkin     PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor
61218a978a17SVictor Perevertkin     );
61228a978a17SVictor Perevertkin 
61238a978a17SVictor Perevertkin _Must_inspect_result_
61248a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
61258a978a17SVictor Perevertkin WDFAPI
61268a978a17SVictor Perevertkin NTSTATUS
61271f377076SVictor Perevertkin STDCALL
61288a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor)(
61298a978a17SVictor Perevertkin     _In_
61308a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
61318a978a17SVictor Perevertkin     _In_
61328a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
61338a978a17SVictor Perevertkin     _Out_writes_bytes_to_opt_(*ConfigDescriptorLength,*ConfigDescriptorLength)
61348a978a17SVictor Perevertkin     PVOID ConfigDescriptor,
61358a978a17SVictor Perevertkin     _Inout_
61368a978a17SVictor Perevertkin     PUSHORT ConfigDescriptorLength
61378a978a17SVictor Perevertkin     );
61388a978a17SVictor Perevertkin 
61398a978a17SVictor Perevertkin _Must_inspect_result_
61408a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
61418a978a17SVictor Perevertkin WDFAPI
61428a978a17SVictor Perevertkin NTSTATUS
61431f377076SVictor Perevertkin STDCALL
61448a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceQueryString)(
61458a978a17SVictor Perevertkin     _In_
61468a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
61478a978a17SVictor Perevertkin     _In_
61488a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
61498a978a17SVictor Perevertkin     _In_opt_
61508a978a17SVictor Perevertkin     WDFREQUEST Request,
61518a978a17SVictor Perevertkin     _In_opt_
61528a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
61538a978a17SVictor Perevertkin     _Out_writes_opt_(*NumCharacters)
61548a978a17SVictor Perevertkin     PUSHORT String,
61558a978a17SVictor Perevertkin     _Inout_
61568a978a17SVictor Perevertkin     PUSHORT NumCharacters,
61578a978a17SVictor Perevertkin     _In_
61588a978a17SVictor Perevertkin     UCHAR StringIndex,
61598a978a17SVictor Perevertkin     _In_opt_
61608a978a17SVictor Perevertkin     USHORT LangID
61618a978a17SVictor Perevertkin     );
61628a978a17SVictor Perevertkin 
61638a978a17SVictor Perevertkin _Must_inspect_result_
61648a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
61658a978a17SVictor Perevertkin WDFAPI
61668a978a17SVictor Perevertkin NTSTATUS
61671f377076SVictor Perevertkin STDCALL
61688a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString)(
61698a978a17SVictor Perevertkin     _In_
61708a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
61718a978a17SVictor Perevertkin     _In_
61728a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
61738a978a17SVictor Perevertkin     _In_opt_
61748a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES StringMemoryAttributes,
61758a978a17SVictor Perevertkin     _Out_
61768a978a17SVictor Perevertkin     WDFMEMORY* StringMemory,
61778a978a17SVictor Perevertkin     _Out_opt_
61788a978a17SVictor Perevertkin     PUSHORT NumCharacters,
61798a978a17SVictor Perevertkin     _In_
61808a978a17SVictor Perevertkin     UCHAR StringIndex,
61818a978a17SVictor Perevertkin     _In_opt_
61828a978a17SVictor Perevertkin     USHORT LangID
61838a978a17SVictor Perevertkin     );
61848a978a17SVictor Perevertkin 
61858a978a17SVictor Perevertkin _Must_inspect_result_
61868a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
61878a978a17SVictor Perevertkin WDFAPI
61888a978a17SVictor Perevertkin NTSTATUS
61891f377076SVictor Perevertkin STDCALL
61908a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceFormatRequestForString)(
61918a978a17SVictor Perevertkin     _In_
61928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
61938a978a17SVictor Perevertkin     _In_
61948a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
61958a978a17SVictor Perevertkin     _In_
61968a978a17SVictor Perevertkin     WDFREQUEST Request,
61978a978a17SVictor Perevertkin     _In_
61988a978a17SVictor Perevertkin     WDFMEMORY Memory,
61998a978a17SVictor Perevertkin     _In_opt_
62008a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET Offset,
62018a978a17SVictor Perevertkin     _In_
62028a978a17SVictor Perevertkin     UCHAR StringIndex,
62038a978a17SVictor Perevertkin     _In_opt_
62048a978a17SVictor Perevertkin     USHORT LangID
62058a978a17SVictor Perevertkin     );
62068a978a17SVictor Perevertkin 
62078a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
62088a978a17SVictor Perevertkin WDFAPI
62098a978a17SVictor Perevertkin UCHAR
62101f377076SVictor Perevertkin STDCALL
62118a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces)(
62128a978a17SVictor Perevertkin     _In_
62138a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
62148a978a17SVictor Perevertkin     _In_
62158a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice
62168a978a17SVictor Perevertkin     );
62178a978a17SVictor Perevertkin 
62188a978a17SVictor Perevertkin _Must_inspect_result_
62198a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
62208a978a17SVictor Perevertkin WDFAPI
62218a978a17SVictor Perevertkin NTSTATUS
62221f377076SVictor Perevertkin STDCALL
62238a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceSelectConfig)(
62248a978a17SVictor Perevertkin     _In_
62258a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
62268a978a17SVictor Perevertkin     _In_
62278a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
62288a978a17SVictor Perevertkin     _In_opt_
62298a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES PipeAttributes,
62308a978a17SVictor Perevertkin     _Inout_
62318a978a17SVictor Perevertkin     PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params
62328a978a17SVictor Perevertkin     );
62338a978a17SVictor Perevertkin 
62348a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
62358a978a17SVictor Perevertkin WDFAPI
62368a978a17SVictor Perevertkin USBD_CONFIGURATION_HANDLE
62371f377076SVictor Perevertkin STDCALL
62388a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceWdmGetConfigurationHandle)(
62398a978a17SVictor Perevertkin     _In_
62408a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
62418a978a17SVictor Perevertkin     _In_
62428a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice
62438a978a17SVictor Perevertkin     );
62448a978a17SVictor Perevertkin 
62458a978a17SVictor Perevertkin _Must_inspect_result_
62468a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
62478a978a17SVictor Perevertkin WDFAPI
62488a978a17SVictor Perevertkin NTSTATUS
62491f377076SVictor Perevertkin STDCALL
62508a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceRetrieveCurrentFrameNumber)(
62518a978a17SVictor Perevertkin     _In_
62528a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
62538a978a17SVictor Perevertkin     _In_
62548a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
62558a978a17SVictor Perevertkin     _Out_
62568a978a17SVictor Perevertkin     PULONG CurrentFrameNumber
62578a978a17SVictor Perevertkin     );
62588a978a17SVictor Perevertkin 
62598a978a17SVictor Perevertkin _Must_inspect_result_
62608a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
62618a978a17SVictor Perevertkin WDFAPI
62628a978a17SVictor Perevertkin NTSTATUS
62631f377076SVictor Perevertkin STDCALL
62648a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously)(
62658a978a17SVictor Perevertkin     _In_
62668a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
62678a978a17SVictor Perevertkin     _In_
62688a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
62698a978a17SVictor Perevertkin     _In_opt_
62708a978a17SVictor Perevertkin     WDFREQUEST Request,
62718a978a17SVictor Perevertkin     _In_opt_
62728a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
62738a978a17SVictor Perevertkin     _In_
62748a978a17SVictor Perevertkin     PWDF_USB_CONTROL_SETUP_PACKET SetupPacket,
62758a978a17SVictor Perevertkin     _In_opt_
62768a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR MemoryDescriptor,
62778a978a17SVictor Perevertkin     _Out_opt_
62788a978a17SVictor Perevertkin     PULONG BytesTransferred
62798a978a17SVictor Perevertkin     );
62808a978a17SVictor Perevertkin 
62818a978a17SVictor Perevertkin _Must_inspect_result_
62828a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
62838a978a17SVictor Perevertkin WDFAPI
62848a978a17SVictor Perevertkin NTSTATUS
62851f377076SVictor Perevertkin STDCALL
62868a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer)(
62878a978a17SVictor Perevertkin     _In_
62888a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
62898a978a17SVictor Perevertkin     _In_
62908a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
62918a978a17SVictor Perevertkin     _In_
62928a978a17SVictor Perevertkin     WDFREQUEST Request,
62938a978a17SVictor Perevertkin     _In_
62948a978a17SVictor Perevertkin     PWDF_USB_CONTROL_SETUP_PACKET SetupPacket,
62958a978a17SVictor Perevertkin     _In_opt_
62968a978a17SVictor Perevertkin     WDFMEMORY TransferMemory,
62978a978a17SVictor Perevertkin     _In_opt_
62988a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET TransferOffset
62998a978a17SVictor Perevertkin     );
63008a978a17SVictor Perevertkin 
63018a978a17SVictor Perevertkin _Must_inspect_result_
63028a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
63038a978a17SVictor Perevertkin WDFAPI
63048a978a17SVictor Perevertkin NTSTATUS
63051f377076SVictor Perevertkin STDCALL
63068a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceIsConnectedSynchronous)(
63078a978a17SVictor Perevertkin     _In_
63088a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
63098a978a17SVictor Perevertkin     _In_
63108a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice
63118a978a17SVictor Perevertkin     );
63128a978a17SVictor Perevertkin 
63138a978a17SVictor Perevertkin _Must_inspect_result_
63148a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
63158a978a17SVictor Perevertkin WDFAPI
63168a978a17SVictor Perevertkin NTSTATUS
63171f377076SVictor Perevertkin STDCALL
63188a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously)(
63198a978a17SVictor Perevertkin     _In_
63208a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
63218a978a17SVictor Perevertkin     _In_
63228a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice
63238a978a17SVictor Perevertkin     );
63248a978a17SVictor Perevertkin 
63258a978a17SVictor Perevertkin _Must_inspect_result_
63268a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
63278a978a17SVictor Perevertkin WDFAPI
63288a978a17SVictor Perevertkin NTSTATUS
63291f377076SVictor Perevertkin STDCALL
63308a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceCyclePortSynchronously)(
63318a978a17SVictor Perevertkin     _In_
63328a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
63338a978a17SVictor Perevertkin     _In_
63348a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice
63358a978a17SVictor Perevertkin     );
63368a978a17SVictor Perevertkin 
63378a978a17SVictor Perevertkin _Must_inspect_result_
63388a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
63398a978a17SVictor Perevertkin WDFAPI
63408a978a17SVictor Perevertkin NTSTATUS
63411f377076SVictor Perevertkin STDCALL
63428a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceFormatRequestForCyclePort)(
63438a978a17SVictor Perevertkin     _In_
63448a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
63458a978a17SVictor Perevertkin     _In_
63468a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
63478a978a17SVictor Perevertkin     _In_
63488a978a17SVictor Perevertkin     WDFREQUEST Request
63498a978a17SVictor Perevertkin     );
63508a978a17SVictor Perevertkin 
63518a978a17SVictor Perevertkin _Must_inspect_result_
63528a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
63538a978a17SVictor Perevertkin WDFAPI
63548a978a17SVictor Perevertkin NTSTATUS
63551f377076SVictor Perevertkin STDCALL
63568a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceSendUrbSynchronously)(
63578a978a17SVictor Perevertkin     _In_
63588a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
63598a978a17SVictor Perevertkin     _In_
63608a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
63618a978a17SVictor Perevertkin     _In_opt_
63628a978a17SVictor Perevertkin     WDFREQUEST Request,
63638a978a17SVictor Perevertkin     _In_opt_
63648a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
63658a978a17SVictor Perevertkin     _In_reads_(_Inexpressible_("union bug in SAL"))
63668a978a17SVictor Perevertkin     PURB Urb
63678a978a17SVictor Perevertkin     );
63688a978a17SVictor Perevertkin 
63698a978a17SVictor Perevertkin _Must_inspect_result_
63708a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
63718a978a17SVictor Perevertkin WDFAPI
63728a978a17SVictor Perevertkin NTSTATUS
63731f377076SVictor Perevertkin STDCALL
63748a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceFormatRequestForUrb)(
63758a978a17SVictor Perevertkin     _In_
63768a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
63778a978a17SVictor Perevertkin     _In_
63788a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
63798a978a17SVictor Perevertkin     _In_
63808a978a17SVictor Perevertkin     WDFREQUEST Request,
63818a978a17SVictor Perevertkin     _In_
63828a978a17SVictor Perevertkin     WDFMEMORY UrbMemory,
63838a978a17SVictor Perevertkin     _In_opt_
63848a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET UrbMemoryOffset
63858a978a17SVictor Perevertkin     );
63868a978a17SVictor Perevertkin 
63878a978a17SVictor Perevertkin _Must_inspect_result_
63888a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
63898a978a17SVictor Perevertkin WDFAPI
63908a978a17SVictor Perevertkin NTSTATUS
63911f377076SVictor Perevertkin STDCALL
63928a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability)(
63938a978a17SVictor Perevertkin     _In_
63948a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
63958a978a17SVictor Perevertkin     _In_
63968a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
63978a978a17SVictor Perevertkin     _In_
63988a978a17SVictor Perevertkin     CONST GUID* CapabilityType,
63998a978a17SVictor Perevertkin     _In_
64008a978a17SVictor Perevertkin     ULONG CapabilityBufferLength,
64018a978a17SVictor Perevertkin     _When_(CapabilityBufferLength == 0, _Out_opt_)
64028a978a17SVictor Perevertkin     _When_(CapabilityBufferLength != 0 && ResultLength == NULL, _Out_writes_bytes_(CapabilityBufferLength))
64038a978a17SVictor Perevertkin     _When_(CapabilityBufferLength != 0 && ResultLength != NULL, _Out_writes_bytes_to_opt_(CapabilityBufferLength, *ResultLength))
64048a978a17SVictor Perevertkin     PVOID CapabilityBuffer,
64058a978a17SVictor Perevertkin     _Out_opt_
64068a978a17SVictor Perevertkin     _When_(ResultLength != NULL,_Deref_out_range_(<=,CapabilityBufferLength))
64078a978a17SVictor Perevertkin     PULONG ResultLength
64088a978a17SVictor Perevertkin     );
64098a978a17SVictor Perevertkin 
64108a978a17SVictor Perevertkin _Must_inspect_result_
64118a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
64128a978a17SVictor Perevertkin WDFAPI
64138a978a17SVictor Perevertkin NTSTATUS
64141f377076SVictor Perevertkin STDCALL
64158a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceCreateUrb)(
64168a978a17SVictor Perevertkin     _In_
64178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
64188a978a17SVictor Perevertkin     _In_
64198a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
64208a978a17SVictor Perevertkin     _In_opt_
64218a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
64228a978a17SVictor Perevertkin     _Out_
64238a978a17SVictor Perevertkin     WDFMEMORY* UrbMemory,
64248a978a17SVictor Perevertkin     _Outptr_opt_result_bytebuffer_(sizeof(URB))
64258a978a17SVictor Perevertkin     PURB* Urb
64268a978a17SVictor Perevertkin     );
64278a978a17SVictor Perevertkin 
64288a978a17SVictor Perevertkin _Must_inspect_result_
64298a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
64308a978a17SVictor Perevertkin WDFAPI
64318a978a17SVictor Perevertkin NTSTATUS
64321f377076SVictor Perevertkin STDCALL
64338a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceCreateIsochUrb)(
64348a978a17SVictor Perevertkin     _In_
64358a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
64368a978a17SVictor Perevertkin     _In_
64378a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
64388a978a17SVictor Perevertkin     _In_opt_
64398a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
64408a978a17SVictor Perevertkin     _In_
64418a978a17SVictor Perevertkin     ULONG NumberOfIsochPackets,
64428a978a17SVictor Perevertkin     _Out_
64438a978a17SVictor Perevertkin     WDFMEMORY* UrbMemory,
64448a978a17SVictor Perevertkin     _Outptr_opt_result_bytebuffer_(GET_ISO_URB_SIZE(NumberOfIsochPackets))
64458a978a17SVictor Perevertkin     PURB* Urb
64468a978a17SVictor Perevertkin     );
64478a978a17SVictor Perevertkin 
64488a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
64498a978a17SVictor Perevertkin WDFAPI
64508a978a17SVictor Perevertkin VOID
64511f377076SVictor Perevertkin STDCALL
64528a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeGetInformation)(
64538a978a17SVictor Perevertkin     _In_
64548a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
64558a978a17SVictor Perevertkin     _In_
64568a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
64578a978a17SVictor Perevertkin     _Out_
64588a978a17SVictor Perevertkin     PWDF_USB_PIPE_INFORMATION PipeInformation
64598a978a17SVictor Perevertkin     );
64608a978a17SVictor Perevertkin 
64618a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
64628a978a17SVictor Perevertkin WDFAPI
64638a978a17SVictor Perevertkin BOOLEAN
64641f377076SVictor Perevertkin STDCALL
64658a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeIsInEndpoint)(
64668a978a17SVictor Perevertkin     _In_
64678a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
64688a978a17SVictor Perevertkin     _In_
64698a978a17SVictor Perevertkin     WDFUSBPIPE Pipe
64708a978a17SVictor Perevertkin     );
64718a978a17SVictor Perevertkin 
64728a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
64738a978a17SVictor Perevertkin WDFAPI
64748a978a17SVictor Perevertkin BOOLEAN
64751f377076SVictor Perevertkin STDCALL
64768a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeIsOutEndpoint)(
64778a978a17SVictor Perevertkin     _In_
64788a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
64798a978a17SVictor Perevertkin     _In_
64808a978a17SVictor Perevertkin     WDFUSBPIPE Pipe
64818a978a17SVictor Perevertkin     );
64828a978a17SVictor Perevertkin 
64838a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
64848a978a17SVictor Perevertkin WDFAPI
64858a978a17SVictor Perevertkin WDF_USB_PIPE_TYPE
64861f377076SVictor Perevertkin STDCALL
64878a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeGetType)(
64888a978a17SVictor Perevertkin     _In_
64898a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
64908a978a17SVictor Perevertkin     _In_
64918a978a17SVictor Perevertkin     WDFUSBPIPE Pipe
64928a978a17SVictor Perevertkin     );
64938a978a17SVictor Perevertkin 
64948a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
64958a978a17SVictor Perevertkin WDFAPI
64968a978a17SVictor Perevertkin VOID
64971f377076SVictor Perevertkin STDCALL
64988a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck)(
64998a978a17SVictor Perevertkin     _In_
65008a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
65018a978a17SVictor Perevertkin     _In_
65028a978a17SVictor Perevertkin     WDFUSBPIPE Pipe
65038a978a17SVictor Perevertkin     );
65048a978a17SVictor Perevertkin 
65058a978a17SVictor Perevertkin _Must_inspect_result_
65068a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
65078a978a17SVictor Perevertkin WDFAPI
65088a978a17SVictor Perevertkin NTSTATUS
65091f377076SVictor Perevertkin STDCALL
65108a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeWriteSynchronously)(
65118a978a17SVictor Perevertkin     _In_
65128a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
65138a978a17SVictor Perevertkin     _In_
65148a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
65158a978a17SVictor Perevertkin     _In_opt_
65168a978a17SVictor Perevertkin     WDFREQUEST Request,
65178a978a17SVictor Perevertkin     _In_opt_
65188a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
65198a978a17SVictor Perevertkin     _In_opt_
65208a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR MemoryDescriptor,
65218a978a17SVictor Perevertkin     _Out_opt_
65228a978a17SVictor Perevertkin     PULONG BytesWritten
65238a978a17SVictor Perevertkin     );
65248a978a17SVictor Perevertkin 
65258a978a17SVictor Perevertkin _Must_inspect_result_
65268a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
65278a978a17SVictor Perevertkin WDFAPI
65288a978a17SVictor Perevertkin NTSTATUS
65291f377076SVictor Perevertkin STDCALL
65308a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite)(
65318a978a17SVictor Perevertkin     _In_
65328a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
65338a978a17SVictor Perevertkin     _In_
65348a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
65358a978a17SVictor Perevertkin     _In_
65368a978a17SVictor Perevertkin     WDFREQUEST Request,
65378a978a17SVictor Perevertkin     _In_opt_
65388a978a17SVictor Perevertkin     WDFMEMORY WriteMemory,
65398a978a17SVictor Perevertkin     _In_opt_
65408a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET WriteOffset
65418a978a17SVictor Perevertkin     );
65428a978a17SVictor Perevertkin 
65438a978a17SVictor Perevertkin _Must_inspect_result_
65448a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
65458a978a17SVictor Perevertkin WDFAPI
65468a978a17SVictor Perevertkin NTSTATUS
65471f377076SVictor Perevertkin STDCALL
65488a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeReadSynchronously)(
65498a978a17SVictor Perevertkin     _In_
65508a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
65518a978a17SVictor Perevertkin     _In_
65528a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
65538a978a17SVictor Perevertkin     _In_opt_
65548a978a17SVictor Perevertkin     WDFREQUEST Request,
65558a978a17SVictor Perevertkin     _In_opt_
65568a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
65578a978a17SVictor Perevertkin     _In_opt_
65588a978a17SVictor Perevertkin     PWDF_MEMORY_DESCRIPTOR MemoryDescriptor,
65598a978a17SVictor Perevertkin     _Out_opt_
65608a978a17SVictor Perevertkin     PULONG BytesRead
65618a978a17SVictor Perevertkin     );
65628a978a17SVictor Perevertkin 
65638a978a17SVictor Perevertkin _Must_inspect_result_
65648a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
65658a978a17SVictor Perevertkin WDFAPI
65668a978a17SVictor Perevertkin NTSTATUS
65671f377076SVictor Perevertkin STDCALL
65688a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeFormatRequestForRead)(
65698a978a17SVictor Perevertkin     _In_
65708a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
65718a978a17SVictor Perevertkin     _In_
65728a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
65738a978a17SVictor Perevertkin     _In_
65748a978a17SVictor Perevertkin     WDFREQUEST Request,
65758a978a17SVictor Perevertkin     _In_opt_
65768a978a17SVictor Perevertkin     WDFMEMORY ReadMemory,
65778a978a17SVictor Perevertkin     _In_opt_
65788a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET ReadOffset
65798a978a17SVictor Perevertkin     );
65808a978a17SVictor Perevertkin 
65818a978a17SVictor Perevertkin _Must_inspect_result_
65828a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
65838a978a17SVictor Perevertkin WDFAPI
65848a978a17SVictor Perevertkin NTSTATUS
65851f377076SVictor Perevertkin STDCALL
65868a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeConfigContinuousReader)(
65878a978a17SVictor Perevertkin     _In_
65888a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
65898a978a17SVictor Perevertkin     _In_
65908a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
65918a978a17SVictor Perevertkin     _In_
65928a978a17SVictor Perevertkin     PWDF_USB_CONTINUOUS_READER_CONFIG Config
65938a978a17SVictor Perevertkin     );
65948a978a17SVictor Perevertkin 
65958a978a17SVictor Perevertkin _Must_inspect_result_
65968a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
65978a978a17SVictor Perevertkin WDFAPI
65988a978a17SVictor Perevertkin NTSTATUS
65991f377076SVictor Perevertkin STDCALL
66008a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeAbortSynchronously)(
66018a978a17SVictor Perevertkin     _In_
66028a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
66038a978a17SVictor Perevertkin     _In_
66048a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
66058a978a17SVictor Perevertkin     _In_opt_
66068a978a17SVictor Perevertkin     WDFREQUEST Request,
66078a978a17SVictor Perevertkin     _In_opt_
66088a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions
66098a978a17SVictor Perevertkin     );
66108a978a17SVictor Perevertkin 
66118a978a17SVictor Perevertkin _Must_inspect_result_
66128a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
66138a978a17SVictor Perevertkin WDFAPI
66148a978a17SVictor Perevertkin NTSTATUS
66151f377076SVictor Perevertkin STDCALL
66168a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort)(
66178a978a17SVictor Perevertkin     _In_
66188a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
66198a978a17SVictor Perevertkin     _In_
66208a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
66218a978a17SVictor Perevertkin     _In_
66228a978a17SVictor Perevertkin     WDFREQUEST Request
66238a978a17SVictor Perevertkin     );
66248a978a17SVictor Perevertkin 
66258a978a17SVictor Perevertkin _Must_inspect_result_
66268a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
66278a978a17SVictor Perevertkin WDFAPI
66288a978a17SVictor Perevertkin NTSTATUS
66291f377076SVictor Perevertkin STDCALL
66308a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeResetSynchronously)(
66318a978a17SVictor Perevertkin     _In_
66328a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
66338a978a17SVictor Perevertkin     _In_
66348a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
66358a978a17SVictor Perevertkin     _In_opt_
66368a978a17SVictor Perevertkin     WDFREQUEST Request,
66378a978a17SVictor Perevertkin     _In_opt_
66388a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions
66398a978a17SVictor Perevertkin     );
66408a978a17SVictor Perevertkin 
66418a978a17SVictor Perevertkin _Must_inspect_result_
66428a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
66438a978a17SVictor Perevertkin WDFAPI
66448a978a17SVictor Perevertkin NTSTATUS
66451f377076SVictor Perevertkin STDCALL
66468a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeFormatRequestForReset)(
66478a978a17SVictor Perevertkin     _In_
66488a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
66498a978a17SVictor Perevertkin     _In_
66508a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
66518a978a17SVictor Perevertkin     _In_
66528a978a17SVictor Perevertkin     WDFREQUEST Request
66538a978a17SVictor Perevertkin     );
66548a978a17SVictor Perevertkin 
66558a978a17SVictor Perevertkin _Must_inspect_result_
66568a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
66578a978a17SVictor Perevertkin WDFAPI
66588a978a17SVictor Perevertkin NTSTATUS
66591f377076SVictor Perevertkin STDCALL
66608a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously)(
66618a978a17SVictor Perevertkin     _In_
66628a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
66638a978a17SVictor Perevertkin     _In_
66648a978a17SVictor Perevertkin     WDFUSBPIPE Pipe,
66658a978a17SVictor Perevertkin     _In_opt_
66668a978a17SVictor Perevertkin     WDFREQUEST Request,
66678a978a17SVictor Perevertkin     _In_opt_
66688a978a17SVictor Perevertkin     PWDF_REQUEST_SEND_OPTIONS RequestOptions,
66698a978a17SVictor Perevertkin     _In_reads_(_Inexpressible_("union bug in SAL"))
66708a978a17SVictor Perevertkin     PURB Urb
66718a978a17SVictor Perevertkin     );
66728a978a17SVictor Perevertkin 
66738a978a17SVictor Perevertkin _Must_inspect_result_
66748a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
66758a978a17SVictor Perevertkin WDFAPI
66768a978a17SVictor Perevertkin NTSTATUS
66771f377076SVictor Perevertkin STDCALL
66788a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb)(
66798a978a17SVictor Perevertkin     _In_
66808a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
66818a978a17SVictor Perevertkin     _In_
66828a978a17SVictor Perevertkin     WDFUSBPIPE PIPE,
66838a978a17SVictor Perevertkin     _In_
66848a978a17SVictor Perevertkin     WDFREQUEST Request,
66858a978a17SVictor Perevertkin     _In_
66868a978a17SVictor Perevertkin     WDFMEMORY UrbMemory,
66878a978a17SVictor Perevertkin     _In_opt_
66888a978a17SVictor Perevertkin     PWDFMEMORY_OFFSET UrbMemoryOffset
66898a978a17SVictor Perevertkin     );
66908a978a17SVictor Perevertkin 
66918a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
66928a978a17SVictor Perevertkin WDFAPI
66938a978a17SVictor Perevertkin BYTE
66941f377076SVictor Perevertkin STDCALL
66958a978a17SVictor Perevertkin WDFEXPORT(WdfUsbInterfaceGetInterfaceNumber)(
66968a978a17SVictor Perevertkin     _In_
66978a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
66988a978a17SVictor Perevertkin     _In_
66998a978a17SVictor Perevertkin     WDFUSBINTERFACE UsbInterface
67008a978a17SVictor Perevertkin     );
67018a978a17SVictor Perevertkin 
67028a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
67038a978a17SVictor Perevertkin WDFAPI
67048a978a17SVictor Perevertkin BYTE
67051f377076SVictor Perevertkin STDCALL
67068a978a17SVictor Perevertkin WDFEXPORT(WdfUsbInterfaceGetNumEndpoints)(
67078a978a17SVictor Perevertkin     _In_
67088a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
67098a978a17SVictor Perevertkin     _In_
67108a978a17SVictor Perevertkin     WDFUSBINTERFACE UsbInterface,
67118a978a17SVictor Perevertkin     _In_
67128a978a17SVictor Perevertkin     UCHAR SettingIndex
67138a978a17SVictor Perevertkin     );
67148a978a17SVictor Perevertkin 
67158a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
67168a978a17SVictor Perevertkin WDFAPI
67178a978a17SVictor Perevertkin VOID
67181f377076SVictor Perevertkin STDCALL
67198a978a17SVictor Perevertkin WDFEXPORT(WdfUsbInterfaceGetDescriptor)(
67208a978a17SVictor Perevertkin     _In_
67218a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
67228a978a17SVictor Perevertkin     _In_
67238a978a17SVictor Perevertkin     WDFUSBINTERFACE UsbInterface,
67248a978a17SVictor Perevertkin     _In_
67258a978a17SVictor Perevertkin     UCHAR SettingIndex,
67268a978a17SVictor Perevertkin     _Out_
67278a978a17SVictor Perevertkin     PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
67288a978a17SVictor Perevertkin     );
67298a978a17SVictor Perevertkin 
67308a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
67318a978a17SVictor Perevertkin WDFAPI
67328a978a17SVictor Perevertkin BYTE
67331f377076SVictor Perevertkin STDCALL
67348a978a17SVictor Perevertkin WDFEXPORT(WdfUsbInterfaceGetNumSettings)(
67358a978a17SVictor Perevertkin     _In_
67368a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
67378a978a17SVictor Perevertkin     _In_
67388a978a17SVictor Perevertkin     WDFUSBINTERFACE UsbInterface
67398a978a17SVictor Perevertkin     );
67408a978a17SVictor Perevertkin 
67418a978a17SVictor Perevertkin _Must_inspect_result_
67428a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
67438a978a17SVictor Perevertkin WDFAPI
67448a978a17SVictor Perevertkin NTSTATUS
67451f377076SVictor Perevertkin STDCALL
67468a978a17SVictor Perevertkin WDFEXPORT(WdfUsbInterfaceSelectSetting)(
67478a978a17SVictor Perevertkin     _In_
67488a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
67498a978a17SVictor Perevertkin     _In_
67508a978a17SVictor Perevertkin     WDFUSBINTERFACE UsbInterface,
67518a978a17SVictor Perevertkin     _In_opt_
67528a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES PipesAttributes,
67538a978a17SVictor Perevertkin     _In_
67548a978a17SVictor Perevertkin     PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params
67558a978a17SVictor Perevertkin     );
67568a978a17SVictor Perevertkin 
67578a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
67588a978a17SVictor Perevertkin WDFAPI
67598a978a17SVictor Perevertkin VOID
67601f377076SVictor Perevertkin STDCALL
67618a978a17SVictor Perevertkin WDFEXPORT(WdfUsbInterfaceGetEndpointInformation)(
67628a978a17SVictor Perevertkin     _In_
67638a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
67648a978a17SVictor Perevertkin     _In_
67658a978a17SVictor Perevertkin     WDFUSBINTERFACE UsbInterface,
67668a978a17SVictor Perevertkin     _In_
67678a978a17SVictor Perevertkin     UCHAR SettingIndex,
67688a978a17SVictor Perevertkin     _In_
67698a978a17SVictor Perevertkin     UCHAR EndpointIndex,
67708a978a17SVictor Perevertkin     _Out_
67718a978a17SVictor Perevertkin     PWDF_USB_PIPE_INFORMATION EndpointInfo
67728a978a17SVictor Perevertkin     );
67738a978a17SVictor Perevertkin 
67748a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
67758a978a17SVictor Perevertkin WDFAPI
67768a978a17SVictor Perevertkin WDFUSBINTERFACE
67771f377076SVictor Perevertkin STDCALL
67788a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetDeviceGetInterface)(
67798a978a17SVictor Perevertkin     _In_
67808a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
67818a978a17SVictor Perevertkin     _In_
67828a978a17SVictor Perevertkin     WDFUSBDEVICE UsbDevice,
67838a978a17SVictor Perevertkin     _In_
67848a978a17SVictor Perevertkin     UCHAR InterfaceIndex
67858a978a17SVictor Perevertkin     );
67868a978a17SVictor Perevertkin 
67878a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
67888a978a17SVictor Perevertkin WDFAPI
67898a978a17SVictor Perevertkin BYTE
67901f377076SVictor Perevertkin STDCALL
67918a978a17SVictor Perevertkin WDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex)(
67928a978a17SVictor Perevertkin     _In_
67938a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
67948a978a17SVictor Perevertkin     _In_
67958a978a17SVictor Perevertkin     WDFUSBINTERFACE Interface
67968a978a17SVictor Perevertkin     );
67978a978a17SVictor Perevertkin 
67988a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
67998a978a17SVictor Perevertkin WDFAPI
68008a978a17SVictor Perevertkin BYTE
68011f377076SVictor Perevertkin STDCALL
68028a978a17SVictor Perevertkin WDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes)(
68038a978a17SVictor Perevertkin     _In_
68048a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
68058a978a17SVictor Perevertkin     _In_
68068a978a17SVictor Perevertkin     WDFUSBINTERFACE UsbInterface
68078a978a17SVictor Perevertkin     );
68088a978a17SVictor Perevertkin 
68098a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
68108a978a17SVictor Perevertkin WDFAPI
68118a978a17SVictor Perevertkin WDFUSBPIPE
68121f377076SVictor Perevertkin STDCALL
68138a978a17SVictor Perevertkin WDFEXPORT(WdfUsbInterfaceGetConfiguredPipe)(
68148a978a17SVictor Perevertkin     _In_
68158a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
68168a978a17SVictor Perevertkin     _In_
68178a978a17SVictor Perevertkin     WDFUSBINTERFACE UsbInterface,
68188a978a17SVictor Perevertkin     _In_
68198a978a17SVictor Perevertkin     UCHAR PipeIndex,
68208a978a17SVictor Perevertkin     _Out_opt_
68218a978a17SVictor Perevertkin     PWDF_USB_PIPE_INFORMATION PipeInfo
68228a978a17SVictor Perevertkin     );
68238a978a17SVictor Perevertkin 
68248a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
68258a978a17SVictor Perevertkin WDFAPI
68268a978a17SVictor Perevertkin USBD_PIPE_HANDLE
68271f377076SVictor Perevertkin STDCALL
68288a978a17SVictor Perevertkin WDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle)(
68298a978a17SVictor Perevertkin     _In_
68308a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
68318a978a17SVictor Perevertkin     _In_
68328a978a17SVictor Perevertkin     WDFUSBPIPE UsbPipe
68338a978a17SVictor Perevertkin     );
68348a978a17SVictor Perevertkin 
68358a978a17SVictor Perevertkin WDFAPI
68368a978a17SVictor Perevertkin VOID
68371f377076SVictor Perevertkin STDCALL
68388a978a17SVictor Perevertkin WDFEXPORT(WdfVerifierDbgBreakPoint)(
68398a978a17SVictor Perevertkin     _In_
68408a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals
68418a978a17SVictor Perevertkin     );
68428a978a17SVictor Perevertkin 
68438a978a17SVictor Perevertkin WDFAPI
68448a978a17SVictor Perevertkin VOID
68451f377076SVictor Perevertkin STDCALL
68468a978a17SVictor Perevertkin WDFEXPORT(WdfVerifierKeBugCheck)(
68478a978a17SVictor Perevertkin     _In_
68488a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
68498a978a17SVictor Perevertkin     _In_
68508a978a17SVictor Perevertkin     ULONG BugCheckCode,
68518a978a17SVictor Perevertkin     _In_
68528a978a17SVictor Perevertkin     ULONG_PTR BugCheckParameter1,
68538a978a17SVictor Perevertkin     _In_
68548a978a17SVictor Perevertkin     ULONG_PTR BugCheckParameter2,
68558a978a17SVictor Perevertkin     _In_
68568a978a17SVictor Perevertkin     ULONG_PTR BugCheckParameter3,
68578a978a17SVictor Perevertkin     _In_
68588a978a17SVictor Perevertkin     ULONG_PTR BugCheckParameter4
68598a978a17SVictor Perevertkin     );
68608a978a17SVictor Perevertkin 
68618a978a17SVictor Perevertkin WDFAPI
68628a978a17SVictor Perevertkin PVOID
68631f377076SVictor Perevertkin STDCALL
68648a978a17SVictor Perevertkin WDFEXPORT(WdfGetTriageInfo)(
68658a978a17SVictor Perevertkin     _In_
68668a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals
68678a978a17SVictor Perevertkin     );
68688a978a17SVictor Perevertkin 
68698a978a17SVictor Perevertkin _Must_inspect_result_
68708a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
68718a978a17SVictor Perevertkin WDFAPI
68728a978a17SVictor Perevertkin NTSTATUS
68731f377076SVictor Perevertkin STDCALL
68748a978a17SVictor Perevertkin WDFEXPORT(WdfWmiProviderCreate)(
68758a978a17SVictor Perevertkin     _In_
68768a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
68778a978a17SVictor Perevertkin     _In_
68788a978a17SVictor Perevertkin     WDFDEVICE Device,
68798a978a17SVictor Perevertkin     _In_
68808a978a17SVictor Perevertkin     PWDF_WMI_PROVIDER_CONFIG WmiProviderConfig,
68818a978a17SVictor Perevertkin     _In_opt_
68828a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES ProviderAttributes,
68838a978a17SVictor Perevertkin     _Out_
68848a978a17SVictor Perevertkin     WDFWMIPROVIDER* WmiProvider
68858a978a17SVictor Perevertkin     );
68868a978a17SVictor Perevertkin 
68878a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
68888a978a17SVictor Perevertkin WDFAPI
68898a978a17SVictor Perevertkin WDFDEVICE
68901f377076SVictor Perevertkin STDCALL
68918a978a17SVictor Perevertkin WDFEXPORT(WdfWmiProviderGetDevice)(
68928a978a17SVictor Perevertkin     _In_
68938a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
68948a978a17SVictor Perevertkin     _In_
68958a978a17SVictor Perevertkin     WDFWMIPROVIDER WmiProvider
68968a978a17SVictor Perevertkin     );
68978a978a17SVictor Perevertkin 
68988a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
68998a978a17SVictor Perevertkin WDFAPI
69008a978a17SVictor Perevertkin BOOLEAN
69011f377076SVictor Perevertkin STDCALL
69028a978a17SVictor Perevertkin WDFEXPORT(WdfWmiProviderIsEnabled)(
69038a978a17SVictor Perevertkin     _In_
69048a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
69058a978a17SVictor Perevertkin     _In_
69068a978a17SVictor Perevertkin     WDFWMIPROVIDER WmiProvider,
69078a978a17SVictor Perevertkin     _In_
69088a978a17SVictor Perevertkin     WDF_WMI_PROVIDER_CONTROL ProviderControl
69098a978a17SVictor Perevertkin     );
69108a978a17SVictor Perevertkin 
69118a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
69128a978a17SVictor Perevertkin WDFAPI
69138a978a17SVictor Perevertkin ULONGLONG
69141f377076SVictor Perevertkin STDCALL
69158a978a17SVictor Perevertkin WDFEXPORT(WdfWmiProviderGetTracingHandle)(
69168a978a17SVictor Perevertkin     _In_
69178a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
69188a978a17SVictor Perevertkin     _In_
69198a978a17SVictor Perevertkin     WDFWMIPROVIDER WmiProvider
69208a978a17SVictor Perevertkin     );
69218a978a17SVictor Perevertkin 
69228a978a17SVictor Perevertkin _Must_inspect_result_
69238a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
69248a978a17SVictor Perevertkin WDFAPI
69258a978a17SVictor Perevertkin NTSTATUS
69261f377076SVictor Perevertkin STDCALL
69278a978a17SVictor Perevertkin WDFEXPORT(WdfWmiInstanceCreate)(
69288a978a17SVictor Perevertkin     _In_
69298a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
69308a978a17SVictor Perevertkin     _In_
69318a978a17SVictor Perevertkin     WDFDEVICE Device,
69328a978a17SVictor Perevertkin     _In_
69338a978a17SVictor Perevertkin     PWDF_WMI_INSTANCE_CONFIG InstanceConfig,
69348a978a17SVictor Perevertkin     _In_opt_
69358a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES InstanceAttributes,
69368a978a17SVictor Perevertkin     _Out_opt_
69378a978a17SVictor Perevertkin     WDFWMIINSTANCE* Instance
69388a978a17SVictor Perevertkin     );
69398a978a17SVictor Perevertkin 
69408a978a17SVictor Perevertkin _Must_inspect_result_
69418a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
69428a978a17SVictor Perevertkin WDFAPI
69438a978a17SVictor Perevertkin NTSTATUS
69441f377076SVictor Perevertkin STDCALL
69458a978a17SVictor Perevertkin WDFEXPORT(WdfWmiInstanceRegister)(
69468a978a17SVictor Perevertkin     _In_
69478a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
69488a978a17SVictor Perevertkin     _In_
69498a978a17SVictor Perevertkin     WDFWMIINSTANCE WmiInstance
69508a978a17SVictor Perevertkin     );
69518a978a17SVictor Perevertkin 
69528a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
69538a978a17SVictor Perevertkin WDFAPI
69548a978a17SVictor Perevertkin VOID
69551f377076SVictor Perevertkin STDCALL
69568a978a17SVictor Perevertkin WDFEXPORT(WdfWmiInstanceDeregister)(
69578a978a17SVictor Perevertkin     _In_
69588a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
69598a978a17SVictor Perevertkin     _In_
69608a978a17SVictor Perevertkin     WDFWMIINSTANCE WmiInstance
69618a978a17SVictor Perevertkin     );
69628a978a17SVictor Perevertkin 
69638a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
69648a978a17SVictor Perevertkin WDFAPI
69658a978a17SVictor Perevertkin WDFDEVICE
69661f377076SVictor Perevertkin STDCALL
69678a978a17SVictor Perevertkin WDFEXPORT(WdfWmiInstanceGetDevice)(
69688a978a17SVictor Perevertkin     _In_
69698a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
69708a978a17SVictor Perevertkin     _In_
69718a978a17SVictor Perevertkin     WDFWMIINSTANCE WmiInstance
69728a978a17SVictor Perevertkin     );
69738a978a17SVictor Perevertkin 
69748a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
69758a978a17SVictor Perevertkin WDFAPI
69768a978a17SVictor Perevertkin WDFWMIPROVIDER
69771f377076SVictor Perevertkin STDCALL
69788a978a17SVictor Perevertkin WDFEXPORT(WdfWmiInstanceGetProvider)(
69798a978a17SVictor Perevertkin     _In_
69808a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
69818a978a17SVictor Perevertkin     _In_
69828a978a17SVictor Perevertkin     WDFWMIINSTANCE WmiInstance
69838a978a17SVictor Perevertkin     );
69848a978a17SVictor Perevertkin 
69858a978a17SVictor Perevertkin _Must_inspect_result_
69868a978a17SVictor Perevertkin _IRQL_requires_max_(APC_LEVEL)
69878a978a17SVictor Perevertkin WDFAPI
69888a978a17SVictor Perevertkin NTSTATUS
69891f377076SVictor Perevertkin STDCALL
69908a978a17SVictor Perevertkin WDFEXPORT(WdfWmiInstanceFireEvent)(
69918a978a17SVictor Perevertkin     _In_
69928a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
69938a978a17SVictor Perevertkin     _In_
69948a978a17SVictor Perevertkin     WDFWMIINSTANCE WmiInstance,
69958a978a17SVictor Perevertkin     _In_opt_
69968a978a17SVictor Perevertkin     ULONG EventDataSize,
69978a978a17SVictor Perevertkin     _In_reads_bytes_opt_(EventDataSize)
69988a978a17SVictor Perevertkin     PVOID EventData
69998a978a17SVictor Perevertkin     );
70008a978a17SVictor Perevertkin 
70018a978a17SVictor Perevertkin _Must_inspect_result_
70028a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
70038a978a17SVictor Perevertkin WDFAPI
70048a978a17SVictor Perevertkin NTSTATUS
70051f377076SVictor Perevertkin STDCALL
70068a978a17SVictor Perevertkin WDFEXPORT(WdfWorkItemCreate)(
70078a978a17SVictor Perevertkin     _In_
70088a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
70098a978a17SVictor Perevertkin     _In_
70108a978a17SVictor Perevertkin     PWDF_WORKITEM_CONFIG Config,
70118a978a17SVictor Perevertkin     _In_
70128a978a17SVictor Perevertkin     PWDF_OBJECT_ATTRIBUTES Attributes,
70138a978a17SVictor Perevertkin     _Out_
70148a978a17SVictor Perevertkin     WDFWORKITEM* WorkItem
70158a978a17SVictor Perevertkin     );
70168a978a17SVictor Perevertkin 
70178a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
70188a978a17SVictor Perevertkin WDFAPI
70198a978a17SVictor Perevertkin VOID
70201f377076SVictor Perevertkin STDCALL
70218a978a17SVictor Perevertkin WDFEXPORT(WdfWorkItemEnqueue)(
70228a978a17SVictor Perevertkin     _In_
70238a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
70248a978a17SVictor Perevertkin     _In_
70258a978a17SVictor Perevertkin     WDFWORKITEM WorkItem
70268a978a17SVictor Perevertkin     );
70278a978a17SVictor Perevertkin 
70288a978a17SVictor Perevertkin _IRQL_requires_max_(DISPATCH_LEVEL)
70298a978a17SVictor Perevertkin WDFAPI
70308a978a17SVictor Perevertkin WDFOBJECT
70311f377076SVictor Perevertkin STDCALL
70328a978a17SVictor Perevertkin WDFEXPORT(WdfWorkItemGetParentObject)(
70338a978a17SVictor Perevertkin     _In_
70348a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
70358a978a17SVictor Perevertkin     _In_
70368a978a17SVictor Perevertkin     WDFWORKITEM WorkItem
70378a978a17SVictor Perevertkin     );
70388a978a17SVictor Perevertkin 
70398a978a17SVictor Perevertkin _IRQL_requires_max_(PASSIVE_LEVEL)
70408a978a17SVictor Perevertkin WDFAPI
70418a978a17SVictor Perevertkin VOID
70421f377076SVictor Perevertkin STDCALL
70438a978a17SVictor Perevertkin WDFEXPORT(WdfWorkItemFlush)(
70448a978a17SVictor Perevertkin     _In_
70458a978a17SVictor Perevertkin     PWDF_DRIVER_GLOBALS DriverGlobals,
70468a978a17SVictor Perevertkin     _In_
70478a978a17SVictor Perevertkin     WDFWORKITEM WorkItem
70488a978a17SVictor Perevertkin     );
70498a978a17SVictor Perevertkin 
70508a978a17SVictor Perevertkin 
70518a978a17SVictor Perevertkin #ifdef FX_DYNAMICS_GENERATE_TABLE
70528a978a17SVictor Perevertkin 
70538a978a17SVictor Perevertkin WDFVERSION WdfVersion = {
70548a978a17SVictor Perevertkin     sizeof(WDFVERSION),
70558a978a17SVictor Perevertkin     sizeof(WDFFUNCTIONS)/sizeof(PVOID),
70568a978a17SVictor Perevertkin     {
70578a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListCreate),
70588a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListGetDevice),
70598a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListRetrievePdo),
70608a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListRetrieveAddressDescription),
70618a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListBeginScan),
70628a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListEndScan),
70638a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListBeginIteration),
70648a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListRetrieveNextDevice),
70658a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListEndIteration),
70668a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent),
70678a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing),
70688a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent),
70698a978a17SVictor Perevertkin         WDFEXPORT(WdfChildListRequestChildEject),
70708a978a17SVictor Perevertkin         WDFEXPORT(WdfCollectionCreate),
70718a978a17SVictor Perevertkin         WDFEXPORT(WdfCollectionGetCount),
70728a978a17SVictor Perevertkin         WDFEXPORT(WdfCollectionAdd),
70738a978a17SVictor Perevertkin         WDFEXPORT(WdfCollectionRemove),
70748a978a17SVictor Perevertkin         WDFEXPORT(WdfCollectionRemoveItem),
70758a978a17SVictor Perevertkin         WDFEXPORT(WdfCollectionGetItem),
70768a978a17SVictor Perevertkin         WDFEXPORT(WdfCollectionGetFirstItem),
70778a978a17SVictor Perevertkin         WDFEXPORT(WdfCollectionGetLastItem),
70781f377076SVictor Perevertkin         // WDFEXPORT(WdfCommonBufferCreate),
70791f377076SVictor Perevertkin         // WDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress),
70801f377076SVictor Perevertkin         // WDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress),
70811f377076SVictor Perevertkin         // WDFEXPORT(WdfCommonBufferGetLength),
70821f377076SVictor Perevertkin         WdfApiNotImplemented,
70831f377076SVictor Perevertkin         WdfApiNotImplemented,
70841f377076SVictor Perevertkin         WdfApiNotImplemented,
70851f377076SVictor Perevertkin         WdfApiNotImplemented,
70861f377076SVictor Perevertkin 
70878a978a17SVictor Perevertkin         WDFEXPORT(WdfControlDeviceInitAllocate),
70888a978a17SVictor Perevertkin         WDFEXPORT(WdfControlDeviceInitSetShutdownNotification),
70898a978a17SVictor Perevertkin         WDFEXPORT(WdfControlFinishInitializing),
70908a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetDeviceState),
70918a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetDeviceState),
70928a978a17SVictor Perevertkin         WDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle),
70938a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceWdmGetDeviceObject),
70948a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceWdmGetAttachedDevice),
70958a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceWdmGetPhysicalDevice),
70968a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp),
70978a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceAddDependentUsageDeviceObject),
70988a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice),
70998a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice),
71008a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceClearRemovalRelationsDevices),
71018a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetDriver),
71028a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceRetrieveDeviceName),
71038a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceAssignMofResourceName),
71048a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetIoTarget),
71058a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetDevicePnpState),
71068a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetDevicePowerState),
71078a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetDevicePowerPolicyState),
71088a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceAssignS0IdleSettings),
71098a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceAssignSxWakeSettings),
71108a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceOpenRegistryKey),
71118a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetSpecialFileSupport),
71128a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetCharacteristics),
71138a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetCharacteristics),
71148a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetAlignmentRequirement),
71158a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetAlignmentRequirement),
71168a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitFree),
71178a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks),
71188a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks),
71198a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership),
71208a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback),
71218a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback),
71228a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback),
71238a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetIoType),
71248a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetExclusive),
71258a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetPowerNotPageable),
71268a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetPowerPageable),
71278a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetPowerInrush),
71288a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetDeviceType),
71298a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitAssignName),
71308a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitAssignSDDLString),
71318a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetDeviceClass),
71328a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetCharacteristics),
71338a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetFileObjectConfig),
71348a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetRequestAttributes),
71358a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback),
71368a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback),
71378a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceCreate),
71388a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetStaticStopRemove),
71398a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceCreateDeviceInterface),
71408a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetDeviceInterfaceState),
71418a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString),
71428a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceCreateSymbolicLink),
71438a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceQueryProperty),
71448a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceAllocAndQueryProperty),
71458a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetPnpCapabilities),
71468a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetPowerCapabilities),
71478a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetBusInformationForChildren),
71488a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceIndicateWakeStatus),
71498a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceSetFailed),
71508a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceStopIdleNoTrack),
71518a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceResumeIdleNoTrack),
71528a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetFileObject),
71538a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceEnqueueRequest),
71548a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetDefaultQueue),
71558a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceConfigureRequestDispatching),
71561f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaEnablerCreate),
71571f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaEnablerGetMaximumLength),
71581f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements),
71591f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements),
71601f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionCreate),
71611f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionInitialize),
71621f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionInitializeUsingRequest),
71631f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionExecute),
71641f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionRelease),
71651f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionDmaCompleted),
71661f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionDmaCompletedWithLength),
71671f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionDmaCompletedFinal),
71681f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionGetBytesTransferred),
71691f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionSetMaximumLength),
71701f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionGetRequest),
71711f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength),
71721f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionGetDevice),
71731f377076SVictor Perevertkin         WdfApiNotImplemented,
71741f377076SVictor Perevertkin         WdfApiNotImplemented,
71751f377076SVictor Perevertkin         WdfApiNotImplemented,
71761f377076SVictor Perevertkin         WdfApiNotImplemented,
71771f377076SVictor Perevertkin         WdfApiNotImplemented,
71781f377076SVictor Perevertkin         WdfApiNotImplemented,
71791f377076SVictor Perevertkin         WdfApiNotImplemented,
71801f377076SVictor Perevertkin         WdfApiNotImplemented,
71811f377076SVictor Perevertkin         WdfApiNotImplemented,
71821f377076SVictor Perevertkin         WdfApiNotImplemented,
71831f377076SVictor Perevertkin         WdfApiNotImplemented,
71841f377076SVictor Perevertkin         WdfApiNotImplemented,
71851f377076SVictor Perevertkin         WdfApiNotImplemented,
71861f377076SVictor Perevertkin         WdfApiNotImplemented,
71871f377076SVictor Perevertkin         WdfApiNotImplemented,
71881f377076SVictor Perevertkin         WdfApiNotImplemented,
71891f377076SVictor Perevertkin         WdfApiNotImplemented,
71901f377076SVictor Perevertkin 
71918a978a17SVictor Perevertkin         WDFEXPORT(WdfDpcCreate),
71928a978a17SVictor Perevertkin         WDFEXPORT(WdfDpcEnqueue),
71938a978a17SVictor Perevertkin         WDFEXPORT(WdfDpcCancel),
71948a978a17SVictor Perevertkin         WDFEXPORT(WdfDpcGetParentObject),
71958a978a17SVictor Perevertkin         WDFEXPORT(WdfDpcWdmGetDpc),
71968a978a17SVictor Perevertkin         WDFEXPORT(WdfDriverCreate),
71978a978a17SVictor Perevertkin         WDFEXPORT(WdfDriverGetRegistryPath),
71988a978a17SVictor Perevertkin         WDFEXPORT(WdfDriverWdmGetDriverObject),
71998a978a17SVictor Perevertkin         WDFEXPORT(WdfDriverOpenParametersRegistryKey),
72008a978a17SVictor Perevertkin         WDFEXPORT(WdfWdmDriverGetWdfDriverHandle),
72018a978a17SVictor Perevertkin         WDFEXPORT(WdfDriverRegisterTraceInfo),
72028a978a17SVictor Perevertkin         WDFEXPORT(WdfDriverRetrieveVersionString),
72038a978a17SVictor Perevertkin         WDFEXPORT(WdfDriverIsVersionAvailable),
72048a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoInitWdmGetPhysicalDevice),
72058a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoInitOpenRegistryKey),
72068a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoInitQueryProperty),
72078a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoInitAllocAndQueryProperty),
72088a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoInitSetEventCallbacks),
72098a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoInitSetFilter),
72108a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoInitSetDefaultChildListConfig),
72118a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoQueryForInterface),
72128a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoGetDefaultChildList),
72138a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoAddStaticChild),
72148a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoLockStaticChildListForIteration),
72158a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoRetrieveNextStaticChild),
72168a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoUnlockStaticChildListFromIteration),
72178a978a17SVictor Perevertkin         WDFEXPORT(WdfFileObjectGetFileName),
72188a978a17SVictor Perevertkin         WDFEXPORT(WdfFileObjectGetFlags),
72198a978a17SVictor Perevertkin         WDFEXPORT(WdfFileObjectGetDevice),
72208a978a17SVictor Perevertkin         WDFEXPORT(WdfFileObjectWdmGetFileObject),
7221*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptCreate),
7222*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptQueueDpcForIsr),
7223*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptSynchronize),
7224*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptAcquireLock),
7225*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptReleaseLock),
7226*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptEnable),
7227*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptDisable),
7228*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptWdmGetInterrupt),
7229*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptGetInfo),
7230*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptSetPolicy),
7231*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptGetDevice),
72328a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueCreate),
72338a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueGetState),
72348a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueStart),
72358a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueStop),
72368a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueStopSynchronously),
72378a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueGetDevice),
72388a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueRetrieveNextRequest),
72398a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueRetrieveRequestByFileObject),
72408a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueFindRequest),
72418a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueRetrieveFoundRequest),
72428a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueDrainSynchronously),
72438a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueDrain),
72448a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueuePurgeSynchronously),
72458a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueuePurge),
72468a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueReadyNotify),
72478a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetCreate),
72488a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetOpen),
72498a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetCloseForQueryRemove),
72508a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetClose),
72518a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetStart),
72528a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetStop),
72538a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetGetState),
72548a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetGetDevice),
72558a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetQueryTargetProperty),
72568a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty),
72578a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetQueryForInterface),
72588a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject),
72598a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice),
72608a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetWdmGetTargetFileObject),
72618a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetWdmGetTargetFileHandle),
72628a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetSendReadSynchronously),
72638a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetFormatRequestForRead),
72648a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetSendWriteSynchronously),
72658a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetFormatRequestForWrite),
72668a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetSendIoctlSynchronously),
72678a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetFormatRequestForIoctl),
72688a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously),
72698a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl),
72708a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously),
72718a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers),
72728a978a17SVictor Perevertkin         WDFEXPORT(WdfMemoryCreate),
72738a978a17SVictor Perevertkin         WDFEXPORT(WdfMemoryCreatePreallocated),
72748a978a17SVictor Perevertkin         WDFEXPORT(WdfMemoryGetBuffer),
72758a978a17SVictor Perevertkin         WDFEXPORT(WdfMemoryAssignBuffer),
72768a978a17SVictor Perevertkin         WDFEXPORT(WdfMemoryCopyToBuffer),
72778a978a17SVictor Perevertkin         WDFEXPORT(WdfMemoryCopyFromBuffer),
72788a978a17SVictor Perevertkin         WDFEXPORT(WdfLookasideListCreate),
72798a978a17SVictor Perevertkin         WDFEXPORT(WdfMemoryCreateFromLookaside),
72808a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceMiniportCreate),
72818a978a17SVictor Perevertkin         WDFEXPORT(WdfDriverMiniportUnload),
72828a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectGetTypedContextWorker),
72838a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectAllocateContext),
72848a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectContextGetObject),
72858a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectReferenceActual),
72868a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectDereferenceActual),
72878a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectCreate),
72888a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectDelete),
72898a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectQuery),
72908a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitAllocate),
72918a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitSetEventCallbacks),
72928a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitAssignDeviceID),
72938a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitAssignInstanceID),
72948a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitAddHardwareID),
72958a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitAddCompatibleID),
72968a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitAddDeviceText),
72978a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitSetDefaultLocale),
72988a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitAssignRawDevice),
72998a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoMarkMissing),
73008a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoRequestEject),
73018a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoGetParent),
73028a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoRetrieveIdentificationDescription),
73038a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoRetrieveAddressDescription),
73048a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoUpdateAddressDescription),
73058a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice),
73068a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice),
73078a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoClearEjectionRelationsDevices),
73088a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceAddQueryInterface),
73098a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryOpenKey),
73108a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryCreateKey),
73118a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryClose),
73128a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryWdmGetHandle),
73138a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryRemoveKey),
73148a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryRemoveValue),
73158a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryQueryValue),
73168a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryQueryMemory),
73178a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryQueryMultiString),
73188a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryQueryUnicodeString),
73198a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryQueryString),
73208a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryQueryULong),
73218a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryAssignValue),
73228a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryAssignMemory),
73238a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryAssignMultiString),
73248a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryAssignUnicodeString),
73258a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryAssignString),
73268a978a17SVictor Perevertkin         WDFEXPORT(WdfRegistryAssignULong),
73278a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestCreate),
73288a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestCreateFromIrp),
73298a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestReuse),
73308a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestChangeTarget),
73318a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestFormatRequestUsingCurrentType),
73328a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestWdmFormatUsingStackLocation),
73338a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestSend),
73348a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestGetStatus),
73358a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestMarkCancelable),
73368a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestUnmarkCancelable),
73378a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestIsCanceled),
73388a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestCancelSentRequest),
73398a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestIsFrom32BitProcess),
73408a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestSetCompletionRoutine),
73418a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestGetCompletionParams),
73428a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestAllocateTimer),
73438a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestComplete),
73448a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestCompleteWithPriorityBoost),
73458a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestCompleteWithInformation),
73468a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestGetParameters),
73478a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestRetrieveInputMemory),
73488a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestRetrieveOutputMemory),
73498a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestRetrieveInputBuffer),
73508a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestRetrieveOutputBuffer),
73518a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestRetrieveInputWdmMdl),
73528a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestRetrieveOutputWdmMdl),
73538a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer),
73548a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer),
73558a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestSetInformation),
73568a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestGetInformation),
73578a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestGetFileObject),
73588a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestProbeAndLockUserBufferForRead),
73598a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite),
73608a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestGetRequestorMode),
73618a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestForwardToIoQueue),
73628a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestGetIoQueue),
73638a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestRequeue),
73648a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestStopAcknowledge),
73658a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestWdmGetIrp),
7366*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber),
7367*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType),
7368*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceRequirementsListAppendIoResList),
7369*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceRequirementsListInsertIoResList),
7370*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceRequirementsListGetCount),
7371*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceRequirementsListGetIoResList),
7372*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceRequirementsListRemove),
7373*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList),
7374*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceListCreate),
7375*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceListAppendDescriptor),
7376*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceListInsertDescriptor),
7377*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceListUpdateDescriptor),
7378*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceListGetCount),
7379*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceListGetDescriptor),
7380*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceListRemove),
7381*7c734db0SVictor Perevertkin         WDFEXPORT(WdfIoResourceListRemoveByDescriptor),
7382*7c734db0SVictor Perevertkin         WDFEXPORT(WdfCmResourceListAppendDescriptor),
7383*7c734db0SVictor Perevertkin         WDFEXPORT(WdfCmResourceListInsertDescriptor),
7384*7c734db0SVictor Perevertkin         WDFEXPORT(WdfCmResourceListGetCount),
7385*7c734db0SVictor Perevertkin         WDFEXPORT(WdfCmResourceListGetDescriptor),
7386*7c734db0SVictor Perevertkin         WDFEXPORT(WdfCmResourceListRemove),
7387*7c734db0SVictor Perevertkin         WDFEXPORT(WdfCmResourceListRemoveByDescriptor),
73888a978a17SVictor Perevertkin         WDFEXPORT(WdfStringCreate),
73898a978a17SVictor Perevertkin         WDFEXPORT(WdfStringGetUnicodeString),
73908a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectAcquireLock),
73918a978a17SVictor Perevertkin         WDFEXPORT(WdfObjectReleaseLock),
73928a978a17SVictor Perevertkin         WDFEXPORT(WdfWaitLockCreate),
73938a978a17SVictor Perevertkin         WDFEXPORT(WdfWaitLockAcquire),
73948a978a17SVictor Perevertkin         WDFEXPORT(WdfWaitLockRelease),
73958a978a17SVictor Perevertkin         WDFEXPORT(WdfSpinLockCreate),
73968a978a17SVictor Perevertkin         WDFEXPORT(WdfSpinLockAcquire),
73978a978a17SVictor Perevertkin         WDFEXPORT(WdfSpinLockRelease),
73988a978a17SVictor Perevertkin         WDFEXPORT(WdfTimerCreate),
73998a978a17SVictor Perevertkin         WDFEXPORT(WdfTimerStart),
74008a978a17SVictor Perevertkin         WDFEXPORT(WdfTimerStop),
74018a978a17SVictor Perevertkin         WDFEXPORT(WdfTimerGetParentObject),
74021f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceCreate),
74031f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceRetrieveInformation),
74041f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor),
74051f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor),
74061f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceQueryString),
74071f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString),
74081f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceFormatRequestForString),
74091f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces),
74101f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceSelectConfig),
74111f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceWdmGetConfigurationHandle),
74121f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceRetrieveCurrentFrameNumber),
74131f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously),
74141f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer),
74151f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceIsConnectedSynchronous),
74161f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously),
74171f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceCyclePortSynchronously),
74181f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceFormatRequestForCyclePort),
74191f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceSendUrbSynchronously),
74201f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceFormatRequestForUrb),
74211f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeGetInformation),
74221f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeIsInEndpoint),
74231f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeIsOutEndpoint),
74241f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeGetType),
74251f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck),
74261f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeWriteSynchronously),
74271f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite),
74281f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeReadSynchronously),
74291f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeFormatRequestForRead),
74301f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeConfigContinuousReader),
74311f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeAbortSynchronously),
74321f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort),
74331f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeResetSynchronously),
74341f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeFormatRequestForReset),
74351f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously),
74361f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb),
74371f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbInterfaceGetInterfaceNumber),
74381f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbInterfaceGetNumEndpoints),
74391f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbInterfaceGetDescriptor),
74401f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbInterfaceSelectSetting),
74411f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbInterfaceGetEndpointInformation),
74421f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceGetInterface),
74431f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex),
74441f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes),
74451f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbInterfaceGetConfiguredPipe),
74461f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle),
74471f377076SVictor Perevertkin         // WDFEXPORT(WdfVerifierDbgBreakPoint),
74481f377076SVictor Perevertkin         // WDFEXPORT(WdfVerifierKeBugCheck),
74491f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiProviderCreate),
74501f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiProviderGetDevice),
74511f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiProviderIsEnabled),
74521f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiProviderGetTracingHandle),
74531f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiInstanceCreate),
74541f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiInstanceRegister),
74551f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiInstanceDeregister),
74561f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiInstanceGetDevice),
74571f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiInstanceGetProvider),
74581f377076SVictor Perevertkin         // WDFEXPORT(WdfWmiInstanceFireEvent),
74591f377076SVictor Perevertkin         WdfApiNotImplemented,
74601f377076SVictor Perevertkin         WdfApiNotImplemented,
74611f377076SVictor Perevertkin         WdfApiNotImplemented,
74621f377076SVictor Perevertkin         WdfApiNotImplemented,
74631f377076SVictor Perevertkin         WdfApiNotImplemented,
74641f377076SVictor Perevertkin         WdfApiNotImplemented,
74651f377076SVictor Perevertkin         WdfApiNotImplemented,
74661f377076SVictor Perevertkin         WdfApiNotImplemented,
74671f377076SVictor Perevertkin         WdfApiNotImplemented,
74681f377076SVictor Perevertkin         WdfApiNotImplemented,
74691f377076SVictor Perevertkin         WdfApiNotImplemented,
74701f377076SVictor Perevertkin         WdfApiNotImplemented,
74711f377076SVictor Perevertkin         WdfApiNotImplemented,
74721f377076SVictor Perevertkin         WdfApiNotImplemented,
74731f377076SVictor Perevertkin         WdfApiNotImplemented,
74741f377076SVictor Perevertkin         WdfApiNotImplemented,
74751f377076SVictor Perevertkin         WdfApiNotImplemented,
74761f377076SVictor Perevertkin         WdfApiNotImplemented,
74771f377076SVictor Perevertkin         WdfApiNotImplemented,
74781f377076SVictor Perevertkin         WdfApiNotImplemented,
74791f377076SVictor Perevertkin         WdfApiNotImplemented,
74801f377076SVictor Perevertkin         WdfApiNotImplemented,
74811f377076SVictor Perevertkin         WdfApiNotImplemented,
74821f377076SVictor Perevertkin         WdfApiNotImplemented,
74831f377076SVictor Perevertkin         WdfApiNotImplemented,
74841f377076SVictor Perevertkin         WdfApiNotImplemented,
74851f377076SVictor Perevertkin         WdfApiNotImplemented,
74861f377076SVictor Perevertkin         WdfApiNotImplemented,
74871f377076SVictor Perevertkin         WdfApiNotImplemented,
74881f377076SVictor Perevertkin         WdfApiNotImplemented,
74891f377076SVictor Perevertkin         WdfApiNotImplemented,
74901f377076SVictor Perevertkin         WdfApiNotImplemented,
74911f377076SVictor Perevertkin         WdfApiNotImplemented,
74921f377076SVictor Perevertkin         WdfApiNotImplemented,
74931f377076SVictor Perevertkin         WdfApiNotImplemented,
74941f377076SVictor Perevertkin         WdfApiNotImplemented,
74951f377076SVictor Perevertkin         WdfApiNotImplemented,
74961f377076SVictor Perevertkin         WdfApiNotImplemented,
74971f377076SVictor Perevertkin         WdfApiNotImplemented,
74981f377076SVictor Perevertkin         WdfApiNotImplemented,
74991f377076SVictor Perevertkin         WdfApiNotImplemented,
75001f377076SVictor Perevertkin         WdfApiNotImplemented,
75011f377076SVictor Perevertkin         WdfApiNotImplemented,
75021f377076SVictor Perevertkin         WdfApiNotImplemented,
75031f377076SVictor Perevertkin         WdfApiNotImplemented,
75041f377076SVictor Perevertkin         WdfApiNotImplemented,
75051f377076SVictor Perevertkin         WdfApiNotImplemented,
75061f377076SVictor Perevertkin         WdfApiNotImplemented,
75071f377076SVictor Perevertkin         WdfApiNotImplemented,
75081f377076SVictor Perevertkin         WdfApiNotImplemented,
75091f377076SVictor Perevertkin         WdfApiNotImplemented,
75101f377076SVictor Perevertkin         WdfApiNotImplemented,
75111f377076SVictor Perevertkin         WdfApiNotImplemented,
75121f377076SVictor Perevertkin         WdfApiNotImplemented,
75131f377076SVictor Perevertkin         WdfApiNotImplemented,
75141f377076SVictor Perevertkin         WdfApiNotImplemented,
75151f377076SVictor Perevertkin         WdfApiNotImplemented,
75161f377076SVictor Perevertkin 
75178a978a17SVictor Perevertkin         WDFEXPORT(WdfWorkItemCreate),
75188a978a17SVictor Perevertkin         WDFEXPORT(WdfWorkItemEnqueue),
75198a978a17SVictor Perevertkin         WDFEXPORT(WdfWorkItemGetParentObject),
75208a978a17SVictor Perevertkin         WDFEXPORT(WdfWorkItemFlush),
75211f377076SVictor Perevertkin         // WDFEXPORT(WdfCommonBufferCreateWithConfig),
75221f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaEnablerGetFragmentLength),
75231f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter),
75241f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbInterfaceGetNumSettings),
75251f377076SVictor Perevertkin         WdfApiNotImplemented,
75261f377076SVictor Perevertkin         WdfApiNotImplemented,
75271f377076SVictor Perevertkin         WdfApiNotImplemented,
75281f377076SVictor Perevertkin         WdfApiNotImplemented,
75291f377076SVictor Perevertkin 
75308a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject),
75318a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetSystemPowerAction),
7532*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptSetExtendedPolicy),
75338a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueAssignForwardProgressPolicy),
75348a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitAssignContainerID),
75358a978a17SVictor Perevertkin         WDFEXPORT(WdfPdoInitAllowForwardingRequestToParent),
75368a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestMarkCancelableEx),
75378a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestIsReserved),
75388a978a17SVictor Perevertkin         WDFEXPORT(WdfRequestForwardToParentDeviceIoQueue),
75391f377076SVictor Perevertkin         // WDFEXPORT(WdfCxDeviceInitAllocate),
75401f377076SVictor Perevertkin         // WDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback),
75411f377076SVictor Perevertkin         // WDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback),
75421f377076SVictor Perevertkin         // WDFEXPORT(WdfCxDeviceInitSetRequestAttributes),
75431f377076SVictor Perevertkin         // WDFEXPORT(WdfCxDeviceInitSetFileObjectConfig),
75441f377076SVictor Perevertkin         WdfApiNotImplemented,
75451f377076SVictor Perevertkin         WdfApiNotImplemented,
75461f377076SVictor Perevertkin         WdfApiNotImplemented,
75471f377076SVictor Perevertkin         WdfApiNotImplemented,
75481f377076SVictor Perevertkin         WdfApiNotImplemented,
75491f377076SVictor Perevertkin 
75508a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceWdmDispatchIrp),
75518a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue),
75528a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetRemoveLockOptions),
75538a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback),
75541f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaEnablerConfigureSystemProfile),
75551f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionInitializeUsingOffset),
75561f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionGetTransferInfo),
75571f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback),
75581f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback),
75591f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionSetImmediateExecution),
75601f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionAllocateResources),
75611f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset),
75621f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionFreeResources),
75631f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionCancel),
75641f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionWdmGetTransferContext),
75651f377076SVictor Perevertkin         WdfApiNotImplemented,
75661f377076SVictor Perevertkin         WdfApiNotImplemented,
75671f377076SVictor Perevertkin         WdfApiNotImplemented,
75681f377076SVictor Perevertkin         WdfApiNotImplemented,
75691f377076SVictor Perevertkin         WdfApiNotImplemented,
75701f377076SVictor Perevertkin         WdfApiNotImplemented,
75711f377076SVictor Perevertkin         WdfApiNotImplemented,
75721f377076SVictor Perevertkin         WdfApiNotImplemented,
75731f377076SVictor Perevertkin         WdfApiNotImplemented,
75741f377076SVictor Perevertkin         WdfApiNotImplemented,
75751f377076SVictor Perevertkin         WdfApiNotImplemented,
75761f377076SVictor Perevertkin 
7577*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptQueueWorkItemForIsr),
7578*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptTryToAcquireLock),
75798a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueStopAndPurge),
75808a978a17SVictor Perevertkin         WDFEXPORT(WdfIoQueueStopAndPurgeSynchronously),
75818a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetPurge),
75821f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceCreateWithParameters),
75831f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability),
75841f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceCreateUrb),
75851f377076SVictor Perevertkin         // WDFEXPORT(WdfUsbTargetDeviceCreateIsochUrb),
75861f377076SVictor Perevertkin         WdfApiNotImplemented,
75871f377076SVictor Perevertkin         WdfApiNotImplemented,
75881f377076SVictor Perevertkin         WdfApiNotImplemented,
75891f377076SVictor Perevertkin         WdfApiNotImplemented,
75901f377076SVictor Perevertkin 
75918a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings),
75921f377076SVictor Perevertkin         // WDFEXPORT(WdfDmaTransactionStopSystemTransfer),
75931f377076SVictor Perevertkin         // WDFEXPORT(WdfCxVerifierKeBugCheck),
75941f377076SVictor Perevertkin         WdfApiNotImplemented,
75951f377076SVictor Perevertkin         WdfApiNotImplemented,
75961f377076SVictor Perevertkin 
7597*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptReportActive),
7598*7c734db0SVictor Perevertkin         WDFEXPORT(WdfInterruptReportInactive),
75998a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure),
76001f377076SVictor Perevertkin         // WDFEXPORT(WdfGetTriageInfo),
76011f377076SVictor Perevertkin         WdfApiNotImplemented,
76021f377076SVictor Perevertkin 
76038a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitSetIoTypeEx),
76048a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceQueryPropertyEx),
76058a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceAllocAndQueryPropertyEx),
76068a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceAssignProperty),
76078a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoInitQueryPropertyEx),
76088a978a17SVictor Perevertkin         WDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx),
76098a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceStopIdleActual),
76108a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceResumeIdleActual),
76118a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceGetSelfIoTarget),
76128a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceInitAllowSelfIoTarget),
76138a978a17SVictor Perevertkin         WDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue),
76148a978a17SVictor Perevertkin         WDFEXPORT(WdfDeviceOpenDevicemapKey),
76158a978a17SVictor Perevertkin     }
76168a978a17SVictor Perevertkin };
76178a978a17SVictor Perevertkin 
76188a978a17SVictor Perevertkin #endif // FX_DYNAMICS_GENERATE_TABLE
76198a978a17SVictor Perevertkin 
76208a978a17SVictor Perevertkin #endif // _FXDYNAMICS_H_
76218a978a17SVictor Perevertkin 
7622