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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dllregisterserverimpl.cpp

?? firtext搜索引擎源碼
?? CPP
字號:
#include "com/Com.h"#include "com/comerror.h"#undef FX_STDAPI#undef FX_STDAPIV#undef FX_STDMETHOD#undef FX_STDMETHODCALLTYPE#undef FX_STDMETHODIMP#undef FX_WINOLEAPI#undef FX_WINOLEAPI_#undef FX_WINOLEAUTAPI#undef FX_WINOLEAUTAPI_#define STRICT#include <windows.h>extern HINSTANCE hDllInstance;static firtex::com::FX_HRESULT RegSetValueW( HKEY hKey, LPCWSTR lpValueName, LPCWSTR lpValue ){	return ::RegSetValueW( hKey, lpValueName, REG_SZ, lpValue, (DWORD)wcslen(lpValue) );}static firtex::com::FX_HRESULT SetThreadingModel( HKEY hKey, firtex::com::THREADINGMODEL tm ){	// look up the value	wchar_t const* text = 0;	switch (tm) {	case firtex::com::ThreadingModelApartment: text = L"Apartment"; break;	case firtex::com::ThreadingModelFree:  text = L"Free"; break;	case firtex::com::ThreadingModelBoth:  text = L"Both"; break;	case firtex::com::ThreadingModelNeutral:text = L"Neutral"; break;	};	if ( !text ) return ERROR_SUCCESS;	// open up the sub-key	HKEY hSubKey = 0;	firtex::com::FX_HRESULT hr = RegOpenKeyExW( hKey, 		L"InprocServer32", 		0, 		KEY_ALL_ACCESS, 		&hSubKey );	if ( hr != ERROR_SUCCESS ) return MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,hr);	// set the subvalue	hr = ::RegSetValueExW( hSubKey, L"ThreadingModel", 0, REG_SZ, 		reinterpret_cast<CONST byte*>(text), (DWORD)wcslen(text)*sizeof(*text) );	RegCloseKey( hSubKey );	return hr;}firtex::com::FX_HRESULT FX_STDAPICALLTYPE firtex::com::DllRegisterServerImpl(firtex::com::FX_REFCLSID clsid_, wchar_t const* name, THREADINGMODEL tm, wchar_t const* VersionIndependentProgId, wchar_t const* ProgId ){	// First, we are going to need the DLL filename	wchar_t filename[MAX_PATH+1];	firtex::com::FX_HRESULT hr = GetModuleFileNameW(hDllInstance,filename,sizeof(filename)/sizeof(*filename));	if ( hr == 0 ) return MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,GetLastError());	// need string from clsid	wchar_t clsid[64];	int clsid_len = FX_StringFromGUID2( clsid_, clsid, sizeof(clsid)/sizeof(*clsid) );	clsid_len -= 1;	// setup version independent prog id key	if ( VersionIndependentProgId )	{		HKEY hKey = 0;		DWORD dw;		firtex::com::FX_HRESULT hr = RegCreateKeyExW( HKEY_CLASSES_ROOT, 			VersionIndependentProgId, 			0, 			NULL, 			REG_OPTION_NON_VOLATILE,			KEY_ALL_ACCESS,			NULL,			&hKey,			&dw );		if ( hr != ERROR_SUCCESS ) return MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,hr);		RegSetValueW(	hKey, NULL, REG_SZ, name, (DWORD)wcslen(name) );		RegSetValueW( hKey, L"CLSID", REG_SZ, clsid, clsid_len );		if ( ProgId )			RegSetValueW( hKey, L"CurVer", REG_SZ, ProgId, (DWORD)wcslen(ProgId) );		RegCloseKey( hKey );	}	// setup prog id key	if ( ProgId )	{		HKEY hKey = 0;		DWORD dw;		firtex::com::FX_HRESULT hr = RegCreateKeyExW( HKEY_CLASSES_ROOT, 			ProgId, 			0, 			NULL, 			REG_OPTION_NON_VOLATILE,			KEY_ALL_ACCESS,			NULL,			&hKey,			&dw );		if ( hr != ERROR_SUCCESS ) return MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,hr);		RegSetValueW( hKey, NULL, REG_SZ, name, (DWORD)wcslen(name) );		RegSetValueW( hKey, L"CLSID", REG_SZ, clsid, clsid_len );		RegCloseKey( hKey );	}	// construct key path	wchar_t subkey[6+sizeof(clsid)] = L"CLSID\\";	wcscat( subkey, clsid );	// setup CLSID key	HKEY hKey = 0;	DWORD dw;	hr = RegCreateKeyExW( HKEY_CLASSES_ROOT, 		subkey, 		0, 		NULL, 		REG_OPTION_NON_VOLATILE,		KEY_ALL_ACCESS,		NULL,		&hKey,		&dw );	if ( hr != ERROR_SUCCESS ) return MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,hr);	RegSetValueW( hKey, NULL, REG_SZ, name, (DWORD)wcslen(name) );	RegSetValueW( hKey, L"InprocServer32", filename );	SetThreadingModel( hKey, tm );	if ( ProgId )		RegSetValueW( hKey, L"ProgID", ProgId );	if ( VersionIndependentProgId )		RegSetValueW( hKey, L"VersionIndependentProgID", VersionIndependentProgId );	RegCloseKey( hKey );	return FX_S_OK;}static firtex::com::FX_HRESULT FX_STDAPICALLTYPE MyRegDeleteKey( HKEY hKey, wchar_t const* lpSubKey ){	// open sub key, to check for children	HKEY hSubKey = 0;	firtex::com::FX_HRESULT hr = RegOpenKeyExW(hKey,lpSubKey,0,KEY_ALL_ACCESS,&hSubKey);	if ( hr != ERROR_SUCCESS ) return MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,hr);	// first, delete all sub keys	wchar_t name[MAX_PATH];	DWORD   name_len = sizeof(name)/sizeof(*name);	hr = RegEnumKeyExW( hSubKey, 0, name, &name_len, 0, NULL, NULL, NULL );	while ( hr == ERROR_SUCCESS )	{		// delete the subkey		hr = MyRegDeleteKey( hSubKey, name );		if ( FX_FAILED(hr) ) return hr;		// get next subkey		DWORD   name_len = sizeof(name)/sizeof(*name);		hr = RegEnumKeyExW( hSubKey, 0, name, &name_len, 0, NULL, NULL, NULL );	}	if ( hr != ERROR_NO_MORE_ITEMS ) return MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,hr);;	// close the key, and then delete	RegCloseKey( hSubKey );	hr = RegDeleteKeyW( hKey, lpSubKey );	if ( hr != ERROR_SUCCESS ) return MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,hr);	return FX_S_OK;}firtex::com::FX_HRESULT FX_STDAPICALLTYPE firtex::com::DllUnregisterServerImpl(firtex::com::FX_REFCLSID clsid_){	// first extract prog ids	wchar_t	progid[MAX_PATH] = L"";	wchar_t versionindependentprogid[MAX_PATH] = L"";	// need string from clsid	wchar_t clsid[64];	FX_StringFromGUID2( clsid_, clsid, sizeof(clsid)/sizeof(*clsid) );	// construct key path	wchar_t subkey[6+sizeof(clsid)] = L"CLSID\\";	wcscat( subkey, clsid );	HKEY hKey = 0;	firtex::com::FX_HRESULT hr = RegOpenKeyExW(HKEY_CLASSES_ROOT,subkey,0,KEY_ALL_ACCESS,&hKey);	if ( hr != ERROR_SUCCESS ) return MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,hr);	// extract prog ids	LONG lng = sizeof(progid)/sizeof(*progid);	hr = RegQueryValueW(hKey,L"ProgID",progid,&lng);	if ( hr != ERROR_SUCCESS ) progid[0] = 0;	lng = sizeof(versionindependentprogid)/sizeof(*versionindependentprogid);	hr = RegQueryValueW(hKey,L"VersionIndependentProgID",versionindependentprogid,&lng);	if ( hr != ERROR_SUCCESS ) progid[0] = 0;	// delete the extra info	if ( progid[0] ) 		MyRegDeleteKey( HKEY_CLASSES_ROOT, progid );	if ( versionindependentprogid[0] ) 		MyRegDeleteKey( HKEY_CLASSES_ROOT, versionindependentprogid );	return MyRegDeleteKey( HKEY_CLASSES_ROOT, subkey );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一二三区在线| av一本久道久久综合久久鬼色| 欧美日韩午夜在线视频| 亚洲精品国产第一综合99久久 | 2020国产精品自拍| 国产综合色精品一区二区三区| 精品久久久三级丝袜| 国产乱码精品一品二品| 国产精品国产三级国产普通话蜜臀| 成人黄色网址在线观看| 一区二区三区中文字幕电影| 欧美在线高清视频| 久久超碰97中文字幕| 亚洲国产精品ⅴa在线观看| 在线一区二区三区四区| 午夜精品一区二区三区三上悠亚| 欧美一级搡bbbb搡bbbb| 成人午夜激情片| 丝袜亚洲另类欧美| 久久亚洲影视婷婷| 91亚洲男人天堂| 日本不卡在线视频| 国产欧美日韩中文久久| 91国在线观看| 国产一区二区三区在线观看免费视频 | 日本不卡高清视频| 中文字幕第一区综合| 欧美日韩免费在线视频| 经典三级在线一区| 亚洲一区中文日韩| 久久久亚洲午夜电影| 欧美性欧美巨大黑白大战| 视频一区二区不卡| 国产欧美日韩亚州综合| 精品视频免费看| 国产成人午夜精品影院观看视频| 亚洲宅男天堂在线观看无病毒| 欧美精品一区二| 欧美日韩黄视频| 国产69精品一区二区亚洲孕妇| 亚洲777理论| 国产精品乱人伦| 91麻豆精品91久久久久同性| 9i看片成人免费高清| 国产在线精品一区二区不卡了| 亚洲午夜一区二区| 国产精品久久毛片a| 精品国产一区二区三区四区四 | 9i在线看片成人免费| 久久成人免费网站| 亚洲一区二区欧美| 亚洲欧洲日韩在线| 久久久精品国产免大香伊| 欧美精品日韩一区| 一本色道综合亚洲| 成人激情校园春色| 国产精品99久久久久久久女警| 日本在线播放一区二区三区| 亚洲精品美国一| 中文字幕一区av| 久久久精品影视| www国产精品av| 精品国产乱码久久久久久牛牛| 欧美无人高清视频在线观看| 色综合天天综合狠狠| 成人精品视频一区二区三区 | 久久99久久99精品免视看婷婷| 亚洲成av人片一区二区三区| 亚洲柠檬福利资源导航| 日本一区二区三区在线不卡| 久久影视一区二区| 久久久午夜精品理论片中文字幕| 日韩午夜激情电影| 日韩一区二区视频| 欧美一区二区三级| 日韩一级大片在线观看| 欧美日韩国产首页| 宅男在线国产精品| 欧美一区二区美女| 日韩美女在线视频| 日韩亚洲国产中文字幕欧美| 日韩天堂在线观看| 精品久久五月天| 久久久久久免费网| 中文字幕精品一区二区三区精品| 欧美国产综合一区二区| 中文字幕色av一区二区三区| 亚洲视频一区二区在线观看| 亚洲视频 欧洲视频| 亚洲一区二区美女| 蜜臂av日日欢夜夜爽一区| 精品在线视频一区| 国产成人三级在线观看| 成人av电影在线播放| 一本一道综合狠狠老| 在线播放中文一区| 精品国产亚洲在线| 综合久久给合久久狠狠狠97色| 亚洲欧美激情插| 偷拍自拍另类欧美| 国产一区二区视频在线播放| 99久久精品情趣| 欧美日韩亚洲另类| 精品国产91久久久久久久妲己| 中文字幕欧美日本乱码一线二线 | 久久久精品欧美丰满| 国产精品电影院| 亚洲福利电影网| 激情综合网av| 91麻豆精品视频| 日韩一区二区三区四区五区六区 | 欧美国产日韩a欧美在线观看 | 欧美猛男超大videosgay| 日韩一区二区三区观看| 欧美激情资源网| 首页亚洲欧美制服丝腿| 国产酒店精品激情| 99国产精品久久久久久久久久| 欧美日韩国产美| 国产无一区二区| 亚洲高清不卡在线| 岛国一区二区在线观看| 欧美日韩一区在线| 国产欧美日韩三级| 三级不卡在线观看| www.欧美日韩| 91精品国产综合久久小美女| 日本一区二区三区四区在线视频| 偷拍与自拍一区| 91丝袜呻吟高潮美腿白嫩在线观看| 91精品国产综合久久精品| 最新国产の精品合集bt伙计| 久久se精品一区二区| 91成人免费在线视频| 国产三级欧美三级| 日本成人在线一区| 欧美天堂一区二区三区| 国产精品黄色在线观看| 久久国产精品区| 欧美日韩在线播放一区| 最好看的中文字幕久久| 国产黄色91视频| 精品国产青草久久久久福利| 亚洲国产精品久久一线不卡| 93久久精品日日躁夜夜躁欧美| 精品久久国产字幕高潮| 视频一区视频二区中文| 色欧美日韩亚洲| 国产精品每日更新| 国产成人高清视频| 久久先锋影音av鲁色资源网| 日韩电影在线观看网站| 欧美性生活久久| 亚洲黄网站在线观看| 99视频在线精品| 国产精品久久99| 不卡av免费在线观看| 国产欧美一区视频| 国产一区二区免费视频| 精品日韩av一区二区| 理论电影国产精品| 欧美一区二区三区四区在线观看 | 精品国产免费人成在线观看| 香蕉乱码成人久久天堂爱免费| 色悠悠久久综合| 亚洲欧美国产毛片在线| 91丨porny丨中文| 亚洲日本欧美天堂| 91视视频在线观看入口直接观看www | 日韩黄色免费网站| 欧美日韩二区三区| 日本女人一区二区三区| 日韩欧美区一区二| 国产揄拍国内精品对白| 久久综合久久鬼色中文字| 国产又粗又猛又爽又黄91精品| 久久你懂得1024| 成人一级黄色片| 亚洲人成影院在线观看| 色嗨嗨av一区二区三区| 一二三区精品视频| 日韩一区二区在线看片| 精品一区二区在线看| 久久久精品国产免费观看同学| 成年人午夜久久久| 一区二区日韩av| 91精品视频网| 国产成人精品www牛牛影视| 亚洲欧洲成人自拍| 色婷婷综合久久久中文字幕| 亚洲国产综合在线| 精品国精品自拍自在线| 成人av在线资源| 亚洲国产成人tv| 日韩欧美久久一区| 99久免费精品视频在线观看| 午夜亚洲福利老司机| 精品剧情在线观看| 91视频在线观看| 久久99精品久久久|