102 if (pSearchDevice ==
NULL) {
107 "Attributes->ParentObject 0x%p must have WDFDEVICE as an "
108 "eventual ancestor, %!STATUS!",
113 else if (pSearchDevice !=
pDevice) {
118 "Attributes->ParentObject 0x%p ancestor is WDFDEVICE %p, but "
119 "not the same WDFDEVICE 0x%p passed to WdfDmaEnablerCreate, "
142 "For drivers bound to version <= 1.9 "
143 "WdfDmaEnablerCreate uses WDFDEVICE as the "
144 "parent object for the dma enabler object. "
145 "Attributes->ParentObject 0x%p, which is different from "
146 "WDFDEVICE 0x%p, gets ignored. Please note that DmaEnabler "
147 "would be disposed only when device is disposed.",
172 "WDF_DMA_ENABLER_CONFIG Size 0x%x, expected 0x%x, %!STATUS!",
216 "DMA Profile value %d is unknown, %!STATUS!",
226 "Config MaximumLength of zero is invalid, %!STATUS!",
242 "Could not allocate memory for a WDFDMAENABLER, "
294WDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements)(
314WDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements)(
321 size_t MaximumElements
339 if (MaximumElements == 0) {
342 "Cannot set MaximumElements of zero on WDFDMAENABLER %p",
352WDFEXPORT(WdfDmaEnablerGetFragmentLength)(
384 "Invalid value for Dma direction %d, %p",
427 "Invalid value for Dma direction %d, %p",
439WDFEXPORT(WdfDmaEnablerConfigureSystemProfile)(
469 "ProfileConfig must be non-null, %!STATUS!",
480 "WDF_DMA_SYSTEM_PROFILE_CONFIG Size 0x%x, expected 0x%x, %!STATUS!",
493 "ProfileConfig (%p) may not have NULL DmaDescriptor, %!STATUS!",
506 "ConfigDirection 0x%x is an invalid value, %!STATUS!",
static FxDeviceBase * _SearchForDevice(__in FxObject *Object, __out_opt IFxHasCallbacks **Callbacks)
WDFDEVICE __inline GetHandle(VOID)
#define NT_SUCCESS(StatCode)
#define __drv_when(cond, annotes)
#define __drv_reportError(why)
#define __drv_maxIRQL(irql)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
FxVerifierDbgBreakPoint(pFxDriverGlobals)
_Must_inspect_result_ __in WDFDEVICE __in WDF_DMA_ENABLER_CONFIG __in_opt WDF_OBJECT_ATTRIBUTES * Attributes
_Must_inspect_result_ __in WDFDEVICE __in WDF_DMA_ENABLER_CONFIG * Config
__in WDFDMAENABLER __in WDF_DMA_DIRECTION DmaDirection
_Must_inspect_result_ __in WDFDMAENABLER __in PWDF_DMA_SYSTEM_PROFILE_CONFIG ProfileConfig
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), Device, FX_TYPE_DEVICE_BASE,(PVOID *) &pDevice, &pFxDriverGlobals)
_Must_inspect_result_ __in WDFDEVICE __in WDF_DMA_ENABLER_CONFIG __in_opt WDF_OBJECT_ATTRIBUTES __out WDFDMAENABLER * DmaEnablerHandle
_Must_inspect_result_ __in WDFDEVICE Device
FxObjectHandleGetPtr(GetFxDriverGlobals(DriverGlobals), DmaEnabler, FX_TYPE_DMA_ENABLER,(PVOID *) &pDmaEnabler)
_Must_inspect_result_ __in WDFDMAENABLER __in PWDF_DMA_SYSTEM_PROFILE_CONFIG __in WDF_DMA_DIRECTION ConfigDirection
__in WDFDMAENABLER DmaEnabler
WDF_DMA_ENABLER_CONFIG dmaConfig
PFX_DRIVER_GLOBALS pFxDriverGlobals
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
#define FxPointerNotNull(FxDriverGlobals, Ptr)
_Must_inspect_result_ NTSTATUS FxValidateObjectAttributes(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
GLuint GLsizei GLsizei * length
#define _Must_inspect_result_
#define TRACE_LEVEL_WARNING
#define TRACE_LEVEL_ERROR
_Must_inspect_result_ BOOLEAN IsVersionGreaterThanOrEqualTo(__in ULONG Major, __in ULONG Minor)
__inline _Must_inspect_result_ BOOLEAN IsDownlevelVerificationEnabled()
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_INVALID_PARAMETER
#define STATUS_INFO_LENGTH_MISMATCH
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDMAENABLER DmaEnabler
@ WdfDmaProfileScatterGather
@ WdfDmaProfileScatterGatherDuplex
@ WdfDmaProfileSystemDuplex
@ WdfDmaProfileScatterGather64Duplex
@ WdfDmaProfileScatterGather64
FORCEINLINE VOID WDF_DMA_ENABLER_CONFIG_INIT(_Out_ PWDF_DMA_ENABLER_CONFIG Config, _In_ WDF_DMA_PROFILE Profile, _In_ size_t MaximumLength)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DMA_ENABLER_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDMAENABLER * DmaEnablerHandle
struct _WDF_DMA_ENABLER_CONFIG WDF_DMA_ENABLER_CONFIG
_In_ WDFDMAENABLER _In_ WDF_DMA_DIRECTION DmaDirection
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ PWDF_DMA_SYSTEM_PROFILE_CONFIG ProfileConfig
enum _WDF_DMA_DIRECTION WDF_DMA_DIRECTION
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ PWDF_DMA_SYSTEM_PROFILE_CONFIG _In_ WDF_DMA_DIRECTION ConfigDirection
@ WdfDmaDirectionReadFromDevice
@ WdfDmaDirectionWriteToDevice
#define STATUS_WDF_OBJECT_ATTRIBUTES_INVALID