79 (FxDriverGlobals->FxVerifierOn && FxDriverGlobals->FxPoolTrackingOn) ||
121 __in size_t SourceBufferLength,
137 "Target WDFMEMORY 0x%p is ReadOnly",
GetHandle());
158 __in size_t DestinationBufferLength,
198 DestinationBufferLength,
207 __in size_t SourceBufferLength,
210 __in size_t DestinationBufferLength,
244 size_t srcSize, copyLength;
247 if (SourceBuffer ==
NULL) {
251 pSrcBuf = (
PUCHAR) SourceBuffer;
252 srcSize = SourceBufferLength;
254 pDstBuf = (
PUCHAR) DestinationBuffer;
255 copyLength = DestinationBufferLength;
257 if (SourceOffsets !=
NULL) {
258 if (SourceOffsets->BufferOffset != 0) {
259 if (SourceOffsets->BufferOffset >= srcSize) {
270 pSrcBuf += SourceOffsets->BufferOffset;
271 srcSize -= SourceOffsets->BufferOffset;
275 if (DestinationOffsets !=
NULL) {
276 if (DestinationOffsets->BufferOffset != 0) {
277 if (DestinationOffsets->BufferOffset >= copyLength) {
288 pDstBuf += DestinationOffsets->BufferOffset;
289 copyLength -= DestinationOffsets->BufferOffset;
295 if (DestinationOffsets->BufferLength != 0) {
300 if (DestinationOffsets->BufferLength > copyLength) {
304 copyLength = DestinationOffsets->BufferLength;
312 if (copyLength > srcSize) {
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __in POOL_TYPE PoolType, __in ULONG PoolTag, __in size_t BufferSize, __out FxMemoryObject **Buffer)
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS DriverGlobals, __in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG PoolTag, __in size_t BufferSize, __in POOL_TYPE PoolType, __out FxMemoryObject **Object)
FxMemoryObject(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in USHORT ObjectSize, __in size_t BufferSize)
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS DriverGlobals, __in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __in POOL_TYPE PoolType, __in ULONG PoolTag, __in size_t BufferSize, __out FxMemoryObject **Object)
VOID AllocateTagTracker(__in WDFTYPE Type)
virtual size_t GetBufferSize(VOID)=0
virtual USHORT GetFlags(VOID)=0
virtual PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)=0
_Must_inspect_result_ NTSTATUS CopyToPtr(__in_opt PWDFMEMORY_OFFSET SourceOffsets, __out_bcount(DestinationBufferLength) PVOID DestinationBuffer, __in size_t DestinationBufferLength, __in_opt PWDFMEMORY_OFFSET DestinationOffsets)
_Must_inspect_result_ NTSTATUS CopyFromPtr(__in_opt PWDFMEMORY_OFFSET DestinationOffsets, __in_bcount(SourceBufferLength) PVOID SourceBuffer, __in size_t SourceBufferLength, __in_opt PWDFMEMORY_OFFSET SourceOffsets)
static _Must_inspect_result_ NTSTATUS _CopyPtrToPtr(__in_bcount(SourceBufferLength) PVOID SourceBuffer, __in size_t SourceBufferLength, __in_opt PWDFMEMORY_OFFSET SourceOffsets, __out_bcount(DestinationBufferLength) PVOID DestinationBuffer, __in size_t DestinationBufferLength, __in_opt PWDFMEMORY_OFFSET DestinationOffsets)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
PFX_DRIVER_GLOBALS pFxDriverGlobals
FxVerifierDbgBreakPoint(pFxDriverGlobals)
return pMemory GetBuffer()
BOOLEAN FxIsPagedPoolType(__in POOL_TYPE Type)
#define _Must_inspect_result_
#define STATUS_INVALID_BUFFER_SIZE
#define STATUS_ACCESS_VIOLATION
#define STATUS_BUFFER_TOO_SMALL
#define TRACE_LEVEL_ERROR
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_INVALID_PARAMETER
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG PoolTag
@ NonPagedPoolBaseCacheAlignedMustS
@ NonPagedPoolBaseMustSucceed
@ NonPagedPoolBaseCacheAligned