rmem.c

来自「wince下的源代码集合打包」· C语言 代码 · 共 86 行

C
86
字号
/* Copyright (c) 1999-2000 Microsoft Corporation.  All rights reserved. */#include <windows.h>HLOCAL WINAPI RemoteLocalAlloc(UINT uFlags, UINT uBytes) {    CALLBACKINFO CallbackInfo;    HANDLE hCallerProcess;    if (!(CallbackInfo.hProc = GetCallerProcess()))    	CallbackInfo.hProc = (HANDLE)GetCurrentProcessId();    hCallerProcess = CallbackInfo.hProc;    CallbackInfo.pfn = (FARPROC)LocalAlloc;    CallbackInfo.pvArg0 = (PVOID)uFlags;    return (HLOCAL)MapPtrToProcess((LPVOID)PerformCallBack4(&CallbackInfo, uBytes), hCallerProcess);}HLOCAL WINAPI RemoteLocalReAlloc(HLOCAL hMem, UINT uBytes, UINT uFlags) {    CALLBACKINFO CallbackInfo;    HANDLE hCallerProcess;    if (!(CallbackInfo.hProc = GetCallerProcess()))    	CallbackInfo.hProc = (HANDLE)GetCurrentProcessId();    hCallerProcess = CallbackInfo.hProc;    CallbackInfo.pfn = (FARPROC)LocalReAlloc;    CallbackInfo.pvArg0 = (PVOID)UnMapPtr(hMem);    return (HLOCAL)MapPtrToProcess((LPVOID)PerformCallBack4(&CallbackInfo, uBytes, uFlags),		hCallerProcess);}UINT WINAPI RemoteLocalSize(HLOCAL hMem) {    CALLBACKINFO CallbackInfo;    if (!(CallbackInfo.hProc = GetCallerProcess()))    	CallbackInfo.hProc = (HANDLE)GetCurrentProcessId();    CallbackInfo.pfn = (FARPROC)LocalSize;    CallbackInfo.pvArg0 = (PVOID)UnMapPtr(hMem);    return (UINT)PerformCallBack4(&CallbackInfo);}HLOCAL WINAPI RemoteLocalFree(HLOCAL hMem) {    CALLBACKINFO CallbackInfo;    if (!(CallbackInfo.hProc = GetCallerProcess()))    	CallbackInfo.hProc = (HANDLE)GetCurrentProcessId();    CallbackInfo.pfn = (FARPROC)LocalFree;    CallbackInfo.pvArg0 = (PVOID)UnMapPtr(hMem);    return (HLOCAL)PerformCallBack4(&CallbackInfo);}HLOCAL WINAPI LocalAllocInProcess(	UINT		uFlags,	UINT		uBytes,	HPROCESS	hProc	){    CALLBACKINFO CallbackInfo;    CallbackInfo.hProc = hProc;    CallbackInfo.pfn = (FARPROC)LocalAlloc;    CallbackInfo.pvArg0 = (PVOID)uFlags;    return (HLOCAL)MapPtrUnsecure((LPVOID)PerformCallBack4(&CallbackInfo, uBytes),		CallbackInfo.hProc);}HLOCAL WINAPI LocalFreeInProcess(	HLOCAL		hMem,	HPROCESS	hProc	){    CALLBACKINFO CallbackInfo;    CallbackInfo.hProc = hProc;    CallbackInfo.pfn = (FARPROC)LocalFree;    CallbackInfo.pvArg0 = (PVOID)UnMapPtr(hMem);    return (HLOCAL)PerformCallBack4(&CallbackInfo);}UINT WINAPI LocalSizeInProcess(	HLOCAL 		hMem,	HPROCESS	hProc	){    CALLBACKINFO CallbackInfo;    CallbackInfo.hProc = hProc;    CallbackInfo.pfn = (FARPROC)LocalSize;    CallbackInfo.pvArg0 = (PVOID)UnMapPtr(hMem);    return (UINT)PerformCallBack4(&CallbackInfo);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?