亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? memmapproxylib.cpp

?? 一個(gè)培訓(xùn)的代碼
?? CPP
字號(hào):
// MemMapProxyLib.cpp
//
///////////////////////////////////////////////////////////////////////////////

/**
 * demo project for the MemMapProxyLib.dll
 */
#include <windows.h>
#include <tchar.h>
#include <process.h>
#include "MemMapProxyLib.h"

#define UWM_DATA_READY_MSG _T("UWM_DATA_READY_MSG-{7FDB2CB4-5510-4d30-99A9-CD7752E0D680}")

// data ready message
UINT UWM_DATA_READY;

// thread id
UINT uThreadId;
// cache for the JNIEnv* pointer
JNIEnv* g_pEnv = NULL;
// cache for the JavaVM* pointer
JavaVM* g_pJvm = NULL;
// cache for the jobject(MemMapProxy) pointer
jobject g_jobj = NULL;

// cache for the instance handle
HINSTANCE hInstance;

// forward declaration
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
void RegisterWindowClass();
unsigned WINAPI CreateWndThread(LPVOID);
void Callback();
void ErrorHandler(LPCTSTR);


BOOL APIENTRY DllMain(HINSTANCE hinstDll, DWORD dwReasion, LPVOID lpReserved) {
	if(dwReasion == DLL_PROCESS_ATTACH) {
		hInstance = hinstDll;
		UWM_DATA_READY = RegisterWindowMessage(UWM_DATA_READY_MSG);
		RegisterWindowClass();
	}

	return TRUE;
}

void RegisterWindowClass() {
	WNDCLASSEX wcex;

	wcex.cbSize = sizeof(WNDCLASSEX);
	wcex.style			= CS_HREDRAW | CS_VREDRAW;
	wcex.lpfnWndProc	= WndProc;
	wcex.cbClsExtra		= 0;
	wcex.cbWndExtra		= 0;
	wcex.hInstance		= hInstance;
	wcex.hIcon			= 0;
	wcex.hCursor		= 0;
	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW + 1);
	wcex.lpszMenuName	= 0;
	wcex.lpszClassName	= _T("dummy window");
	wcex.hIconSm		= 0;

	RegisterClassEx(&wcex);
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) {
	if(Msg == UWM_DATA_READY) {
		Callback();
	}
	else return DefWindowProc(hWnd, Msg, wParam, lParam);

	return 0;
}

unsigned WINAPI CreateWndThread(LPVOID pThreadParam) {
	HANDLE hWnd = CreateWindow(_T("dummy window"), NULL, WS_OVERLAPPEDWINDOW,
						CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
						NULL, NULL, hInstance, NULL);
	if(hWnd == NULL) {
		MessageBox(NULL, _T("Failed create dummy window"), "Failed", MB_OK | MB_ICONERROR);
		return 0;
	}

	jint nSize = 1;
	jint nVms;
	jint nStatus = JNI_GetCreatedJavaVMs(&g_pJvm, nSize, &nVms);

	if(nStatus == 0) {
		nStatus = g_pJvm->AttachCurrentThread(reinterpret_cast<void**>(&g_pEnv), NULL);
		if(nStatus != 0) ErrorHandler(_T("Can not attach thread"));
	}
	else {
		ErrorHandler(_T("Can not get the jvm"));
	}

	MSG Msg;
	while(GetMessage(&Msg, 0, 0, 0)) {
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}
	return Msg.wParam;
}

JNIEXPORT jboolean JNICALL Java_com_stanley_memmap_MemMapProxy_init
	(JNIEnv * pEnv, jobject jobj) {

	HANDLE hThread;
	hThread = (HANDLE)_beginthreadex(NULL, 0, &CreateWndThread, NULL, 0, &uThreadId);
	if(!hThread)
	{
		MessageBox(NULL, _T("Fail creating thread"), NULL, MB_OK);
		return false;
	}

	g_jobj = pEnv->NewGlobalRef(jobj);

	return true;
}

JNIEXPORT void JNICALL Java_com_stanley_memmap_MemMapProxy_destroy
	(JNIEnv * pEnv, jobject) {

	if(g_jobj) pEnv->DeleteGlobalRef(g_jobj);
	PostThreadMessage(uThreadId, WM_QUIT, 0, 0);
}

void Callback() {
	if(g_pEnv == NULL || g_jobj == NULL) return;

	jclass cls = g_pEnv->GetObjectClass(g_jobj);
	jmethodID mid = g_pEnv->GetMethodID(cls, "fireDataReadyEvent", "()V");
	g_pEnv->CallVoidMethod(g_jobj, mid, NULL);

}

void ErrorHandler(LPCTSTR pszErrorMessage) {
	MessageBox(NULL, pszErrorMessage, _T("Error"), MB_OK | MB_ICONERROR);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产高清无密码一区二区三区| 欧美精品一区二区高清在线观看| 亚洲欧洲日韩在线| 91精品国产欧美日韩| 久久综合五月天婷婷伊人| 中文字幕欧美三区| 偷拍一区二区三区| 午夜久久久影院| 狠狠色狠狠色综合系列| 国产精品69久久久久水密桃| 欧美日韩综合色| 136国产福利精品导航| 亚洲免费资源在线播放| 92国产精品观看| 国产精品国产馆在线真实露脸| 大胆亚洲人体视频| 亚洲天堂中文字幕| 欧美日韩精品欧美日韩精品| 亚洲一区二区三区免费视频| 色哟哟一区二区| 欧美亚洲国产bt| 亚洲va韩国va欧美va| 欧美一级欧美三级在线观看| 国产一区二区三区免费| 亚洲国产成人自拍| 欧美三级中文字幕在线观看| 老司机一区二区| 中文字幕永久在线不卡| 在线不卡欧美精品一区二区三区| 亚洲一卡二卡三卡四卡无卡久久| 成人av动漫在线| 亚洲一区二区偷拍精品| 欧美巨大另类极品videosbest| 亚洲在线中文字幕| 不卡一卡二卡三乱码免费网站| 中文字幕国产精品一区二区| 色综合婷婷久久| 亚洲va欧美va人人爽| 欧美精品乱码久久久久久| 免费美女久久99| 久久久午夜电影| 粉嫩一区二区三区在线看| 中文字幕久久午夜不卡| 国产亚洲精品超碰| 国产亚洲精品资源在线26u| 久久精品人人爽人人爽| 91精品啪在线观看国产60岁| 午夜伊人狠狠久久| 精品免费日韩av| 成人三级在线视频| 国产精品网曝门| 色综合欧美在线视频区| 亚洲成va人在线观看| 精品欧美久久久| 99久久综合国产精品| 亚洲一区在线看| 久久综合国产精品| 一本色道久久综合狠狠躁的推荐| 亚洲大片精品永久免费| 337p粉嫩大胆噜噜噜噜噜91av| 欧美中文字幕久久| 欧美视频中文字幕| 91蜜桃传媒精品久久久一区二区| 视频一区二区欧美| 日韩电影在线看| 日韩精品视频网| 七七婷婷婷婷精品国产| 日本成人在线看| 午夜久久久久久| 日韩一区精品字幕| 久久er精品视频| 国产91精品久久久久久久网曝门 | 国产精品女人毛片| 中国色在线观看另类| 亚洲视频一二三区| 亚洲福利电影网| 极品少妇xxxx精品少妇| 99视频一区二区三区| 欧美三级中文字幕| 欧美va亚洲va国产综合| 972aa.com艺术欧美| 欧美日韩国产在线观看| 亚洲丝袜制服诱惑| 国产ts人妖一区二区| 久久久久久黄色| 国产精品一区在线| 欧美激情一区在线观看| 久久福利资源站| 久久香蕉国产线看观看99| 亚洲已满18点击进入久久| 亚洲精品亚洲人成人网| 久久国产福利国产秒拍| 欧美另类变人与禽xxxxx| 亚洲免费观看高清完整版在线观看 | 91麻豆国产自产在线观看| 精品久久久三级丝袜| 日产精品久久久久久久性色| 色999日韩国产欧美一区二区| 国产精品国产三级国产a| 极品少妇xxxx精品少妇偷拍| 欧美三级日韩三级国产三级| 日韩午夜激情视频| 日本欧美大码aⅴ在线播放| 欧美日韩视频专区在线播放| 首页国产欧美日韩丝袜| 欧美日韩国产免费一区二区| 亚洲精品视频一区| 欧美日韩国产区一| 国产露脸91国语对白| 国产亚洲精品aa| 国产精品一二三| 在线不卡中文字幕| 懂色av一区二区三区免费看| 亚洲三级在线观看| 亚洲精品一区二区三区影院| 在线观看国产日韩| 欧美性色黄大片| 在线观看免费亚洲| 欧美丰满美乳xxx高潮www| 色狠狠色狠狠综合| 精品视频色一区| 欧美日韩成人综合在线一区二区| 91视频观看视频| 欧美日韩国产123区| 日韩午夜电影av| 欧美变态tickling挠脚心| 欧美一级片在线看| 久久综合一区二区| 欧美国产1区2区| 亚洲三级久久久| 天天综合日日夜夜精品| 奇米一区二区三区| 国模娜娜一区二区三区| 国产精品乡下勾搭老头1| 97精品久久久久中文字幕| 欧美日韩亚洲综合一区 | 亚洲午夜免费福利视频| 捆绑调教一区二区三区| 国产精品一区二区三区网站| 一本色道综合亚洲| 欧美不卡一二三| 亚洲电影一级黄| 高清不卡一二三区| 久久99热99| 成人丝袜18视频在线观看| 色香蕉成人二区免费| 欧洲在线/亚洲| 在线视频中文字幕一区二区| 国产精品久久久久国产精品日日| 亚洲国产精品久久久男人的天堂| 一区二区三区在线视频观看| 午夜精品在线看| 看片的网站亚洲| av影院午夜一区| 欧美日韩一区二区三区视频| 久久你懂得1024| 五月天久久比比资源色| av在线播放一区二区三区| 久久免费精品国产久精品久久久久 | 欧美白人最猛性xxxxx69交| 日韩av在线发布| 9l国产精品久久久久麻豆| 久久久久久久综合狠狠综合| 懂色av一区二区三区蜜臀| 男人的天堂亚洲一区| 91麻豆6部合集magnet| √…a在线天堂一区| 成人午夜在线免费| 国产婷婷色一区二区三区四区| 精品亚洲国内自在自线福利| 欧美一卡二卡在线| 国产曰批免费观看久久久| 亚洲国产高清在线观看视频| 成人高清av在线| 亚洲18色成人| 成人午夜大片免费观看| 欧美伊人久久久久久久久影院 | 色域天天综合网| 777久久久精品| 中文字幕av在线一区二区三区| 美国十次综合导航| 欧美视频三区在线播放| 成人免费在线视频| 国产99久久久久久免费看农村| 精品国产凹凸成av人网站| 首页欧美精品中文字幕| 91国产免费观看| 国产亚洲精久久久久久| 精品一区二区三区香蕉蜜桃| 欧美人妖巨大在线| 日本人妖一区二区| 精品国精品自拍自在线| 国产精品1区2区3区| 国产夜色精品一区二区av| 国产aⅴ精品一区二区三区色成熟| 2023国产精华国产精品| 国产精品99久久久久久有的能看 | 欧美日韩不卡一区二区| 亚洲国产日韩在线一区模特| 欧美日韩国产免费|