in src/framework/shared/core/fxmemorybufferpreallocatedapi.cpp [144:175]
_Pre_notnull_ _Pre_writable_byte_size_(BufferSize)
PVOID Buffer,
_In_
__drv_when(BufferSize == 0, __drv_reportError(BufferSize cannot be zero))
size_t BufferSize
)
{
DDI_ENTRY();
PFX_DRIVER_GLOBALS pFxDriverGlobals;
NTSTATUS status;
FxMemoryBufferPreallocated* pMemory;
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals),
Memory,
FX_TYPE_MEMORY_PREALLOCATED,
(PVOID*) &pMemory,
&pFxDriverGlobals);
FxPointerNotNull(pFxDriverGlobals, Buffer);
if (BufferSize == 0) {
status = STATUS_INVALID_PARAMETER;
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_ERROR, TRACINGDEVICE,
"Zero BufferSize not allowed, %!STATUS!", status);
return status;
}
pMemory->UpdateBuffer(Buffer, BufferSize);
return STATUS_SUCCESS;
}