⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmem.c

📁 See Hanoi.cpp for the implementation of this cla
💻 C
字号:
/* 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -