[WDF] Enable Resource and Interrupt APIs

This commit is contained in:
Victor Perevertkin 2020-11-04 19:34:14 +03:00
parent ae72f18b55
commit 7c734db034
No known key found for this signature in database
GPG key ID: C750B7222E9C7830
4 changed files with 116 additions and 160 deletions

View file

@ -50,7 +50,7 @@ list(APPEND SOURCE_SHARED
# shared/irphandlers/pnp/devicepwrreqstatemachine.cpp
shared/irphandlers/pnp/eventqueue.cpp
shared/irphandlers/pnp/fdopower.cpp
# shared/irphandlers/pnp/fxinterruptapi.cpp
shared/irphandlers/pnp/fxinterruptapi.cpp
shared/irphandlers/pnp/fxpkgfdo.cpp
shared/irphandlers/pnp/fxpkgpdo.cpp
shared/irphandlers/pnp/fxpkgpnp.cpp
@ -85,7 +85,7 @@ list(APPEND SOURCE_SHARED
shared/support/fxregistryapi.cpp
shared/support/fxregkey.cpp
shared/support/fxrequestbuffer.cpp
# shared/support/fxresourceapi.cpp
shared/support/fxresourceapi.cpp
shared/support/fxresourcecollection.cpp
shared/support/fxspinlock.cpp
shared/support/fxspinlockapi.cpp

View file

@ -189,29 +189,17 @@ typedef struct _WDFFUNCTIONS {
PFN_WDFFILEOBJECTGETFLAGS pfnWdfFileObjectGetFlags;
PFN_WDFFILEOBJECTGETDEVICE pfnWdfFileObjectGetDevice;
PFN_WDFFILEOBJECTWDMGETFILEOBJECT pfnWdfFileObjectWdmGetFileObject;
// PFN_WDFINTERRUPTCREATE pfnWdfInterruptCreate;
// PFN_WDFINTERRUPTQUEUEDPCFORISR pfnWdfInterruptQueueDpcForIsr;
// PFN_WDFINTERRUPTSYNCHRONIZE pfnWdfInterruptSynchronize;
// PFN_WDFINTERRUPTACQUIRELOCK pfnWdfInterruptAcquireLock;
// PFN_WDFINTERRUPTRELEASELOCK pfnWdfInterruptReleaseLock;
// PFN_WDFINTERRUPTENABLE pfnWdfInterruptEnable;
// PFN_WDFINTERRUPTDISABLE pfnWdfInterruptDisable;
// PFN_WDFINTERRUPTWDMGETINTERRUPT pfnWdfInterruptWdmGetInterrupt;
// PFN_WDFINTERRUPTGETINFO pfnWdfInterruptGetInfo;
// PFN_WDFINTERRUPTSETPOLICY pfnWdfInterruptSetPolicy;
// PFN_WDFINTERRUPTGETDEVICE pfnWdfInterruptGetDevice;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptCreate;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptQueueDpcForIsr;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptSynchronize;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptAcquireLock;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptReleaseLock;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptEnable;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptDisable;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptWdmGetInterrupt;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptGetInfo;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptSetPolicy;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptGetDevice;
PFN_WDFINTERRUPTCREATE pfnWdfInterruptCreate;
PFN_WDFINTERRUPTQUEUEDPCFORISR pfnWdfInterruptQueueDpcForIsr;
PFN_WDFINTERRUPTSYNCHRONIZE pfnWdfInterruptSynchronize;
PFN_WDFINTERRUPTACQUIRELOCK pfnWdfInterruptAcquireLock;
PFN_WDFINTERRUPTRELEASELOCK pfnWdfInterruptReleaseLock;
PFN_WDFINTERRUPTENABLE pfnWdfInterruptEnable;
PFN_WDFINTERRUPTDISABLE pfnWdfInterruptDisable;
PFN_WDFINTERRUPTWDMGETINTERRUPT pfnWdfInterruptWdmGetInterrupt;
PFN_WDFINTERRUPTGETINFO pfnWdfInterruptGetInfo;
PFN_WDFINTERRUPTSETPOLICY pfnWdfInterruptSetPolicy;
PFN_WDFINTERRUPTGETDEVICE pfnWdfInterruptGetDevice;
PFN_WDFIOQUEUECREATE pfnWdfIoQueueCreate;
PFN_WDFIOQUEUEGETSTATE pfnWdfIoQueueGetState;
PFN_WDFIOQUEUESTART pfnWdfIoQueueStart;
@ -346,51 +334,28 @@ typedef struct _WDFFUNCTIONS {
PFN_WDFREQUESTREQUEUE pfnWdfRequestRequeue;
PFN_WDFREQUESTSTOPACKNOWLEDGE pfnWdfRequestStopAcknowledge;
PFN_WDFREQUESTWDMGETIRP pfnWdfRequestWdmGetIrp;
// PFN_WDFIORESOURCEREQUIREMENTSLISTSETSLOTNUMBER pfnWdfIoResourceRequirementsListSetSlotNumber;
// PFN_WDFIORESOURCEREQUIREMENTSLISTSETINTERFACETYPE pfnWdfIoResourceRequirementsListSetInterfaceType;
// PFN_WDFIORESOURCEREQUIREMENTSLISTAPPENDIORESLIST pfnWdfIoResourceRequirementsListAppendIoResList;
// PFN_WDFIORESOURCEREQUIREMENTSLISTINSERTIORESLIST pfnWdfIoResourceRequirementsListInsertIoResList;
// PFN_WDFIORESOURCEREQUIREMENTSLISTGETCOUNT pfnWdfIoResourceRequirementsListGetCount;
// PFN_WDFIORESOURCEREQUIREMENTSLISTGETIORESLIST pfnWdfIoResourceRequirementsListGetIoResList;
// PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVE pfnWdfIoResourceRequirementsListRemove;
// PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVEBYIORESLIST pfnWdfIoResourceRequirementsListRemoveByIoResList;
// PFN_WDFIORESOURCELISTCREATE pfnWdfIoResourceListCreate;
// PFN_WDFIORESOURCELISTAPPENDDESCRIPTOR pfnWdfIoResourceListAppendDescriptor;
// PFN_WDFIORESOURCELISTINSERTDESCRIPTOR pfnWdfIoResourceListInsertDescriptor;
// PFN_WDFIORESOURCELISTUPDATEDESCRIPTOR pfnWdfIoResourceListUpdateDescriptor;
// PFN_WDFIORESOURCELISTGETCOUNT pfnWdfIoResourceListGetCount;
// PFN_WDFIORESOURCELISTGETDESCRIPTOR pfnWdfIoResourceListGetDescriptor;
// PFN_WDFIORESOURCELISTREMOVE pfnWdfIoResourceListRemove;
// PFN_WDFIORESOURCELISTREMOVEBYDESCRIPTOR pfnWdfIoResourceListRemoveByDescriptor;
// PFN_WDFCMRESOURCELISTAPPENDDESCRIPTOR pfnWdfCmResourceListAppendDescriptor;
// PFN_WDFCMRESOURCELISTINSERTDESCRIPTOR pfnWdfCmResourceListInsertDescriptor;
// PFN_WDFCMRESOURCELISTGETCOUNT pfnWdfCmResourceListGetCount;
// PFN_WDFCMRESOURCELISTGETDESCRIPTOR pfnWdfCmResourceListGetDescriptor;
// PFN_WDFCMRESOURCELISTREMOVE pfnWdfCmResourceListRemove;
// PFN_WDFCMRESOURCELISTREMOVEBYDESCRIPTOR pfnWdfCmResourceListRemoveByDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceRequirementsListSetSlotNumber;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceRequirementsListSetInterfaceType;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceRequirementsListAppendIoResList;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceRequirementsListInsertIoResList;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceRequirementsListGetCount;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceRequirementsListGetIoResList;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceRequirementsListRemove;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceRequirementsListRemoveByIoResList;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceListCreate;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceListAppendDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceListInsertDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceListUpdateDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceListGetCount;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceListGetDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceListRemove;
PFN_ROSWDFUNIMPLEMENTED pfnWdfIoResourceListRemoveByDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCmResourceListAppendDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCmResourceListInsertDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCmResourceListGetCount;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCmResourceListGetDescriptor;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCmResourceListRemove;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCmResourceListRemoveByDescriptor;
PFN_WDFIORESOURCEREQUIREMENTSLISTSETSLOTNUMBER pfnWdfIoResourceRequirementsListSetSlotNumber;
PFN_WDFIORESOURCEREQUIREMENTSLISTSETINTERFACETYPE pfnWdfIoResourceRequirementsListSetInterfaceType;
PFN_WDFIORESOURCEREQUIREMENTSLISTAPPENDIORESLIST pfnWdfIoResourceRequirementsListAppendIoResList;
PFN_WDFIORESOURCEREQUIREMENTSLISTINSERTIORESLIST pfnWdfIoResourceRequirementsListInsertIoResList;
PFN_WDFIORESOURCEREQUIREMENTSLISTGETCOUNT pfnWdfIoResourceRequirementsListGetCount;
PFN_WDFIORESOURCEREQUIREMENTSLISTGETIORESLIST pfnWdfIoResourceRequirementsListGetIoResList;
PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVE pfnWdfIoResourceRequirementsListRemove;
PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVEBYIORESLIST pfnWdfIoResourceRequirementsListRemoveByIoResList;
PFN_WDFIORESOURCELISTCREATE pfnWdfIoResourceListCreate;
PFN_WDFIORESOURCELISTAPPENDDESCRIPTOR pfnWdfIoResourceListAppendDescriptor;
PFN_WDFIORESOURCELISTINSERTDESCRIPTOR pfnWdfIoResourceListInsertDescriptor;
PFN_WDFIORESOURCELISTUPDATEDESCRIPTOR pfnWdfIoResourceListUpdateDescriptor;
PFN_WDFIORESOURCELISTGETCOUNT pfnWdfIoResourceListGetCount;
PFN_WDFIORESOURCELISTGETDESCRIPTOR pfnWdfIoResourceListGetDescriptor;
PFN_WDFIORESOURCELISTREMOVE pfnWdfIoResourceListRemove;
PFN_WDFIORESOURCELISTREMOVEBYDESCRIPTOR pfnWdfIoResourceListRemoveByDescriptor;
PFN_WDFCMRESOURCELISTAPPENDDESCRIPTOR pfnWdfCmResourceListAppendDescriptor;
PFN_WDFCMRESOURCELISTINSERTDESCRIPTOR pfnWdfCmResourceListInsertDescriptor;
PFN_WDFCMRESOURCELISTGETCOUNT pfnWdfCmResourceListGetCount;
PFN_WDFCMRESOURCELISTGETDESCRIPTOR pfnWdfCmResourceListGetDescriptor;
PFN_WDFCMRESOURCELISTREMOVE pfnWdfCmResourceListRemove;
PFN_WDFCMRESOURCELISTREMOVEBYDESCRIPTOR pfnWdfCmResourceListRemoveByDescriptor;
PFN_WDFSTRINGCREATE pfnWdfStringCreate;
PFN_WDFSTRINGGETUNICODESTRING pfnWdfStringGetUnicodeString;
PFN_WDFOBJECTACQUIRELOCK pfnWdfObjectAcquireLock;
@ -535,9 +500,7 @@ typedef struct _WDFFUNCTIONS {
PFN_WDFDEVICEREMOVEDEPENDENTUSAGEDEVICEOBJECT pfnWdfDeviceRemoveDependentUsageDeviceObject;
PFN_WDFDEVICEGETSYSTEMPOWERACTION pfnWdfDeviceGetSystemPowerAction;
// PFN_WDFINTERRUPTSETEXTENDEDPOLICY pfnWdfInterruptSetExtendedPolicy;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptSetExtendedPolicy;
PFN_WDFINTERRUPTSETEXTENDEDPOLICY pfnWdfInterruptSetExtendedPolicy;
PFN_WDFIOQUEUEASSIGNFORWARDPROGRESSPOLICY pfnWdfIoQueueAssignForwardProgressPolicy;
PFN_WDFPDOINITASSIGNCONTAINERID pfnWdfPdoInitAssignContainerID;
PFN_WDFPDOINITALLOWFORWARDINGREQUESTTOPARENT pfnWdfPdoInitAllowForwardingRequestToParent;
@ -570,8 +533,6 @@ typedef struct _WDFFUNCTIONS {
// PFN_WDFDMATRANSACTIONFREERESOURCES pfnWdfDmaTransactionFreeResources;
// PFN_WDFDMATRANSACTIONCANCEL pfnWdfDmaTransactionCancel;
// PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT pfnWdfDmaTransactionWdmGetTransferContext;
// PFN_WDFINTERRUPTQUEUEWORKITEMFORISR pfnWdfInterruptQueueWorkItemForIsr;
// PFN_WDFINTERRUPTTRYTOACQUIRELOCK pfnWdfInterruptTryToAcquireLock;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaEnablerConfigureSystemProfile;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionInitializeUsingOffset;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionGetTransferInfo;
@ -583,9 +544,9 @@ typedef struct _WDFFUNCTIONS {
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionFreeResources;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionCancel;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionWdmGetTransferContext;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptQueueWorkItemForIsr;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptTryToAcquireLock;
PFN_WDFINTERRUPTQUEUEWORKITEMFORISR pfnWdfInterruptQueueWorkItemForIsr;
PFN_WDFINTERRUPTTRYTOACQUIRELOCK pfnWdfInterruptTryToAcquireLock;
PFN_WDFIOQUEUESTOPANDPURGE pfnWdfIoQueueStopAndPurge;
PFN_WDFIOQUEUESTOPANDPURGESYNCHRONOUSLY pfnWdfIoQueueStopAndPurgeSynchronously;
PFN_WDFIOTARGETPURGE pfnWdfIoTargetPurge;
@ -601,13 +562,11 @@ typedef struct _WDFFUNCTIONS {
PFN_WDFDEVICEWDMASSIGNPOWERFRAMEWORKSETTINGS pfnWdfDeviceWdmAssignPowerFrameworkSettings;
// PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER pfnWdfDmaTransactionStopSystemTransfer;
// PFN_WDFCXVERIFIERKEBUGCHECK pfnWdfCxVerifierKeBugCheck;
// PFN_WDFINTERRUPTREPORTACTIVE pfnWdfInterruptReportActive;
// PFN_WDFINTERRUPTREPORTINACTIVE pfnWdfInterruptReportInactive;
PFN_ROSWDFUNIMPLEMENTED pfnWdfDmaTransactionStopSystemTransfer;
PFN_ROSWDFUNIMPLEMENTED pfnWdfCxVerifierKeBugCheck;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptReportActive;
PFN_ROSWDFUNIMPLEMENTED pfnWdfInterruptReportInactive;
PFN_WDFINTERRUPTREPORTACTIVE pfnWdfInterruptReportActive;
PFN_WDFINTERRUPTREPORTINACTIVE pfnWdfInterruptReportInactive;
PFN_WDFDEVICEINITSETRELEASEHARDWAREORDERONFAILURE pfnWdfDeviceInitSetReleaseHardwareOrderOnFailure;
// PFN_WDFGETTRIAGEINFO pfnWdfGetTriageInfo;
PFN_ROSWDFUNIMPLEMENTED pfnWdfGetTriageInfo;
@ -7259,29 +7218,17 @@ WDFVERSION WdfVersion = {
WDFEXPORT(WdfFileObjectGetFlags),
WDFEXPORT(WdfFileObjectGetDevice),
WDFEXPORT(WdfFileObjectWdmGetFileObject),
// WDFEXPORT(WdfInterruptCreate),
// WDFEXPORT(WdfInterruptQueueDpcForIsr),
// WDFEXPORT(WdfInterruptSynchronize),
// WDFEXPORT(WdfInterruptAcquireLock),
// WDFEXPORT(WdfInterruptReleaseLock),
// WDFEXPORT(WdfInterruptEnable),
// WDFEXPORT(WdfInterruptDisable),
// WDFEXPORT(WdfInterruptWdmGetInterrupt),
// WDFEXPORT(WdfInterruptGetInfo),
// WDFEXPORT(WdfInterruptSetPolicy),
// WDFEXPORT(WdfInterruptGetDevice),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfInterruptCreate),
WDFEXPORT(WdfInterruptQueueDpcForIsr),
WDFEXPORT(WdfInterruptSynchronize),
WDFEXPORT(WdfInterruptAcquireLock),
WDFEXPORT(WdfInterruptReleaseLock),
WDFEXPORT(WdfInterruptEnable),
WDFEXPORT(WdfInterruptDisable),
WDFEXPORT(WdfInterruptWdmGetInterrupt),
WDFEXPORT(WdfInterruptGetInfo),
WDFEXPORT(WdfInterruptSetPolicy),
WDFEXPORT(WdfInterruptGetDevice),
WDFEXPORT(WdfIoQueueCreate),
WDFEXPORT(WdfIoQueueGetState),
WDFEXPORT(WdfIoQueueStart),
@ -7416,51 +7363,28 @@ WDFVERSION WdfVersion = {
WDFEXPORT(WdfRequestRequeue),
WDFEXPORT(WdfRequestStopAcknowledge),
WDFEXPORT(WdfRequestWdmGetIrp),
// WDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber),
// WDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType),
// WDFEXPORT(WdfIoResourceRequirementsListAppendIoResList),
// WDFEXPORT(WdfIoResourceRequirementsListInsertIoResList),
// WDFEXPORT(WdfIoResourceRequirementsListGetCount),
// WDFEXPORT(WdfIoResourceRequirementsListGetIoResList),
// WDFEXPORT(WdfIoResourceRequirementsListRemove),
// WDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList),
// WDFEXPORT(WdfIoResourceListCreate),
// WDFEXPORT(WdfIoResourceListAppendDescriptor),
// WDFEXPORT(WdfIoResourceListInsertDescriptor),
// WDFEXPORT(WdfIoResourceListUpdateDescriptor),
// WDFEXPORT(WdfIoResourceListGetCount),
// WDFEXPORT(WdfIoResourceListGetDescriptor),
// WDFEXPORT(WdfIoResourceListRemove),
// WDFEXPORT(WdfIoResourceListRemoveByDescriptor),
// WDFEXPORT(WdfCmResourceListAppendDescriptor),
// WDFEXPORT(WdfCmResourceListInsertDescriptor),
// WDFEXPORT(WdfCmResourceListGetCount),
// WDFEXPORT(WdfCmResourceListGetDescriptor),
// WDFEXPORT(WdfCmResourceListRemove),
// WDFEXPORT(WdfCmResourceListRemoveByDescriptor),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber),
WDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType),
WDFEXPORT(WdfIoResourceRequirementsListAppendIoResList),
WDFEXPORT(WdfIoResourceRequirementsListInsertIoResList),
WDFEXPORT(WdfIoResourceRequirementsListGetCount),
WDFEXPORT(WdfIoResourceRequirementsListGetIoResList),
WDFEXPORT(WdfIoResourceRequirementsListRemove),
WDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList),
WDFEXPORT(WdfIoResourceListCreate),
WDFEXPORT(WdfIoResourceListAppendDescriptor),
WDFEXPORT(WdfIoResourceListInsertDescriptor),
WDFEXPORT(WdfIoResourceListUpdateDescriptor),
WDFEXPORT(WdfIoResourceListGetCount),
WDFEXPORT(WdfIoResourceListGetDescriptor),
WDFEXPORT(WdfIoResourceListRemove),
WDFEXPORT(WdfIoResourceListRemoveByDescriptor),
WDFEXPORT(WdfCmResourceListAppendDescriptor),
WDFEXPORT(WdfCmResourceListInsertDescriptor),
WDFEXPORT(WdfCmResourceListGetCount),
WDFEXPORT(WdfCmResourceListGetDescriptor),
WDFEXPORT(WdfCmResourceListRemove),
WDFEXPORT(WdfCmResourceListRemoveByDescriptor),
WDFEXPORT(WdfStringCreate),
WDFEXPORT(WdfStringGetUnicodeString),
WDFEXPORT(WdfObjectAcquireLock),
@ -7605,9 +7529,7 @@ WDFVERSION WdfVersion = {
WDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject),
WDFEXPORT(WdfDeviceGetSystemPowerAction),
// WDFEXPORT(WdfInterruptSetExtendedPolicy),
WdfApiNotImplemented,
WDFEXPORT(WdfInterruptSetExtendedPolicy),
WDFEXPORT(WdfIoQueueAssignForwardProgressPolicy),
WDFEXPORT(WdfPdoInitAssignContainerID),
WDFEXPORT(WdfPdoInitAllowForwardingRequestToParent),
@ -7640,10 +7562,6 @@ WDFVERSION WdfVersion = {
// WDFEXPORT(WdfDmaTransactionFreeResources),
// WDFEXPORT(WdfDmaTransactionCancel),
// WDFEXPORT(WdfDmaTransactionWdmGetTransferContext),
// WDFEXPORT(WdfInterruptQueueWorkItemForIsr),
// WDFEXPORT(WdfInterruptTryToAcquireLock),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
@ -7656,6 +7574,8 @@ WDFVERSION WdfVersion = {
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfInterruptQueueWorkItemForIsr),
WDFEXPORT(WdfInterruptTryToAcquireLock),
WDFEXPORT(WdfIoQueueStopAndPurge),
WDFEXPORT(WdfIoQueueStopAndPurgeSynchronously),
WDFEXPORT(WdfIoTargetPurge),
@ -7671,13 +7591,11 @@ WDFVERSION WdfVersion = {
WDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings),
// WDFEXPORT(WdfDmaTransactionStopSystemTransfer),
// WDFEXPORT(WdfCxVerifierKeBugCheck),
// WDFEXPORT(WdfInterruptReportActive),
// WDFEXPORT(WdfInterruptReportInactive),
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WdfApiNotImplemented,
WDFEXPORT(WdfInterruptReportActive),
WDFEXPORT(WdfInterruptReportInactive),
WDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure),
// WDFEXPORT(WdfGetTriageInfo),
WdfApiNotImplemented,

View file

@ -190,6 +190,7 @@ extern "C" {
_Must_inspect_result_
__drv_maxIRQL(DISPATCH_LEVEL)
NTSTATUS
STDCALL
WDFEXPORT(WdfInterruptCreate)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -618,6 +619,7 @@ Returns:
}
BOOLEAN
STDCALL
WDFEXPORT(WdfInterruptQueueDpcForIsr)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -657,6 +659,7 @@ Returns:
}
BOOLEAN
STDCALL
WDFEXPORT(WdfInterruptQueueWorkItemForIsr)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -698,6 +701,7 @@ Returns:
__drv_maxIRQL(DISPATCH_LEVEL)
BOOLEAN
STDCALL
WDFEXPORT(WdfInterruptSynchronize)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -755,6 +759,7 @@ Returns:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfInterruptAcquireLock)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -802,6 +807,7 @@ Returns:
__drv_maxIRQL(DISPATCH_LEVEL + 1)
VOID
STDCALL
WDFEXPORT(WdfInterruptReleaseLock)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -849,6 +855,7 @@ Returns:
__drv_maxIRQL(PASSIVE_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfInterruptEnable)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -895,6 +902,7 @@ Returns:
__drv_maxIRQL(PASSIVE_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfInterruptDisable)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -941,6 +949,7 @@ Returns:
_Must_inspect_result_
struct _KINTERRUPT*
STDCALL
WDFEXPORT(WdfInterruptWdmGetInterrupt)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -977,6 +986,7 @@ Returns:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfInterruptGetInfo)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1037,6 +1047,7 @@ Returns:
}
WDFDEVICE
STDCALL
WDFEXPORT(WdfInterruptGetDevice)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1075,6 +1086,7 @@ Returns:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfInterruptSetPolicy)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1144,6 +1156,7 @@ Returns:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfInterruptSetExtendedPolicy)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1236,6 +1249,7 @@ _Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
_Post_satisfies_(return == 1 || return == 0)
BOOLEAN
STDCALL
WDFEXPORT(WdfInterruptTryToAcquireLock)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1297,6 +1311,7 @@ Returns:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfInterruptReportActive)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1342,6 +1357,7 @@ Returns:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfInterruptReportInactive)(
_In_
PWDF_DRIVER_GLOBALS DriverGlobals,

View file

@ -35,6 +35,7 @@ extern "C" {
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -73,6 +74,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -177,6 +179,7 @@ Return Value:
_Must_inspect_result_
__drv_maxIRQL(DISPATCH_LEVEL)
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListInsertIoResList)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -213,6 +216,7 @@ Return Value:
_Must_inspect_result_
__drv_maxIRQL(DISPATCH_LEVEL)
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListAppendIoResList)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -246,6 +250,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
ULONG
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListGetCount)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -285,6 +290,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
WDFIORESLIST
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListGetIoResList)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -331,6 +337,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListRemove)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -376,6 +383,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -456,6 +464,7 @@ Return Value:
_Must_inspect_result_
__drv_maxIRQL(DISPATCH_LEVEL)
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceListCreate)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -604,6 +613,7 @@ Return Value:
_Must_inspect_result_
__drv_maxIRQL(DISPATCH_LEVEL)
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceListInsertDescriptor)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -640,6 +650,7 @@ Return Value:
_Must_inspect_result_
__drv_maxIRQL(DISPATCH_LEVEL)
NTSTATUS
STDCALL
WDFEXPORT(WdfIoResourceListAppendDescriptor)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -671,6 +682,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfIoResourceListUpdateDescriptor)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -746,6 +758,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
ULONG
STDCALL
WDFEXPORT(WdfIoResourceListGetCount)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -784,6 +797,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
PIO_RESOURCE_DESCRIPTOR
STDCALL
WDFEXPORT(WdfIoResourceListGetDescriptor)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -838,6 +852,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfIoResourceListRemove)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -892,6 +907,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfIoResourceListRemoveByDescriptor)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1041,6 +1057,7 @@ Return Value:
_Must_inspect_result_
__drv_maxIRQL(DISPATCH_LEVEL)
NTSTATUS
STDCALL
WDFEXPORT(WdfCmResourceListInsertDescriptor)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1079,6 +1096,7 @@ Return Value:
_Must_inspect_result_
__drv_maxIRQL(DISPATCH_LEVEL)
NTSTATUS
STDCALL
WDFEXPORT(WdfCmResourceListAppendDescriptor)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1112,6 +1130,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
ULONG
STDCALL
WDFEXPORT(WdfCmResourceListGetCount)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1144,6 +1163,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
PCM_PARTIAL_RESOURCE_DESCRIPTOR
STDCALL
WDFEXPORT(WdfCmResourceListGetDescriptor)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1181,6 +1201,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfCmResourceListRemove)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,
@ -1227,6 +1248,7 @@ Return Value:
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
STDCALL
WDFEXPORT(WdfCmResourceListRemoveByDescriptor)(
__in
PWDF_DRIVER_GLOBALS DriverGlobals,