VOID NTAPI RtlpFreeMemory ( _In_ PVOID Mem, _In_ ULONG Tag ) { UNREFERENCED_PARAMETER(Tag); BlMmFreeHeap(Mem); } NTSTATUS NTAPI RtlpSafeCopyMemory ( _Out_writes_bytes_all_(Length) VOID UNALIGNED *Destination, _In_reads_bytes_(Length) CONST VOID UNALIGNED *Source, _In_ SIZE_T Length ) { RtlCopyMemory(Destination, Source, Length); return STATUS_SUCCESS; } VOID NTAPI RtlAssert ( IN PVOID FailedAssertion, IN PVOID FileName, IN ULONG LineNumber, IN PCHAR Message OPTIONAL
#include "win32k.h" _IRQL_requires_max_(APC_LEVEL) NTSTATUS _MmCopyFromCaller( _Out_writes_bytes_all_(Bytes) PVOID Target, _In_reads_bytes_(Bytes) PVOID Source, _In_ UINT Bytes) { NTSTATUS Status; PAGED_CODE(); ASSERT(ExGetPreviousMode() == UserMode); Status = STATUS_SUCCESS; _SEH2_TRY { ProbeForRead(Source, Bytes, 1); RtlCopyMemory(Target, Source, Bytes); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { Status = _SEH2_GetExceptionCode(); } _SEH2_END; return Status; } _IRQL_requires_max_(APC_LEVEL) NTSTATUS