in src/framework/shared/core/fxrequestmemory.cpp [209:259]
_Pre_notnull_ _Pre_writable_byte_size_(BufferSize) PVOID Buffer,
_In_ PMDL BackingMdl,
_In_ size_t BufferSize,
_In_ BOOLEAN ReadOnly
)
/*++
Routine Description:
Updates the internal pointer to a new value.
Arguments:
Request - new Request.
Buffer - new buffer
BackingMdl - associated MDL.
BufferSize - length of Buffer in bytes
ReadOnly - TRUE if read only buffer.
Return Value:
None.
--*/
{
ASSERT(m_pBuffer == NULL);
ASSERT(m_Request == NULL);
ASSERT(m_Mdl == NULL);
ASSERT(Request != NULL);
m_pBuffer = Buffer;
m_Mdl = BackingMdl;
m_BufferSize = BufferSize;
m_Request = Request;
//
// A single FxRequest IRP reference
// is outstanding until destroy
//
m_Request->AddIrpReference();
// Set access checking if its a readonly buffer
if (ReadOnly) {
SetFlags(IFxMemoryFlagReadOnly);
}
}