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

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

?? drv_wizardaw.cpp

?? 驅動開發Wizard
?? CPP
字號:
// Drv_Wizardaw.cpp : implementation file
//

#include "stdafx.h"
#include "Drv_Wizard.h"
#include "Drv_Wizardaw.h"

#ifdef _PSEUDO_DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

// This is called immediately after the custom AppWizard is loaded.  Initialize
//  the state of the custom AppWizard here.
void CDrv_WizardAppWiz::InitCustomAppWiz()
{
	// There are no steps in this custom AppWizard.
	SetNumberOfSteps(0);

	// TODO: Add any other custom AppWizard-wide initialization here.
}

// This is called just before the custom AppWizard is unloaded.
void CDrv_WizardAppWiz::ExitCustomAppWiz()
{
	// TODO: Add code here to deallocate resources used by the custom AppWizard
}

// This is called when the user clicks "Create..." on the New Project dialog
//  or "Next" on one of the custom AppWizard's steps.
CAppWizStepDlg* CDrv_WizardAppWiz::Next(CAppWizStepDlg* pDlg)
{
	return NULL;
}

void CDrv_WizardAppWiz::CustomizeProject(IBuildProject* pProject)
{
	// TODO: Add code here to customize the project.  If you don't wish
	//  to customize project, you may remove this virtual override.
	
	// This is called immediately after the default Debug and Release
	//  configurations have been created for each platform.  You may customize
	//  existing configurations on this project by using the methods
	//  of IBuildProject and IConfiguration such as AddToolSettings,
	//  RemoveToolSettings, and AddCustomBuildStep. These are documented in
	//  the Developer Studio object model documentation.

	// WARNING!!  IBuildProject and all interfaces you can get from it are OLE
	//  COM interfaces.  You must be careful to release all new interfaces
	//  you acquire.  In accordance with the standard rules of COM, you must
	//  NOT release pProject, unless you explicitly AddRef it, since pProject
	//  is passed as an "in" parameter to this function.  See the documentation
	//  on CCustomAppWiz::CustomizeProject for more information.
	CString		strProjName		= TEXT("testDRV");
	IConfigurations * pAllConf	= 0;
	BSTR bstrProjName = strProjName.AllocSysString();
	pProject->get_Configurations(&pAllConf);
	pProject->get_Name(&bstrProjName);
	strProjName = bstrProjName;
	if( pAllConf != 0 )
	{
		COleVariant var(0L,VT_ERROR);
		var.scode=DISP_E_PARAMNOTFOUND;
		
		CString strToolCl	= TEXT("cl.exe");
		CString strToolLink = TEXT("link.exe");
		CString strToolMFC	= TEXT("mfc");
		CString strToolRes	= TEXT("rc.exe");
		CString strWindows	= TEXT("/subsystem:windows");
		CString strNative	= TEXT("/subsystem:native");
		// __stdcall
		CString	strCallConv = TEXT("/Gz");
		// Enable C++ Exception handling should be removed
		CString	strEH		= TEXT("/GX");
		// not using MFC
		CString strNoMFC	= TEXT("0");
		// pack structs on 8-byte boundary is the DEFAULT setting
		CString	strStructAlign  = TEXT("/Zp8");
		// in my option, the /GZ preprocessor shouldn't be removed
		// but i have to.
		CString	strRelease		= TEXT("/GZ");
		CString strIncrement	= TEXT("/incremental:no");
		// get ddk dir
		char	ddkDir[256] = "\0";
		GetEnvironmentVariable(
					TEXT("BASEDIR"),  // address of environment variable name
					LPTSTR(ddkDir), // address of buffer for variable value
					256// size of buffer, in characters
					);
		CString	strPreprocessor = TEXT("/D _X86_=1 "
									"/D i386=1 "
									"/D STD_CALL=1 "
									"/D CONDITION_HANDLING=1 "
									"/D WIN32LEAN_AND_MEAN=1 "
									"/D NT_UP=1 "
									"/D NT_INST=0 "
									"/D WIN32=100 "
									"/D _NT1X_=100 "
									"/D WINNT=100 "
									"/D _WIN32_WINNT=0x0400 "
									"/D DEVL=1 /D \"NDEBUG\" "
									"/D _DLL=1 "
									"/D \"_IDWBUILD\" "
									"/D \"DBCS\" /D \"PRC\" "
									"/D \"KKBUGFIX\" "
									"/D \"DBCS_VERT\" "
									"/D \"FESB\" ");
		CString tmp;
		tmp.Format("/I \"%s\\inc\"", ddkDir);
		strPreprocessor += tmp;
		CString	strDbgInfo	= TEXT("/debug");
		CString	strDftLib	= TEXT("kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib");
		CString strNoDftLib = TEXT("/nodefaultlib");
		CString	strDDKLib	= TEXT("int64.lib ntoskrnl.lib hal.lib");
		CString strNoPdb	= TEXT("/pdb:none");
		CString strEntry	= TEXT("/entry:\"DriverEntry@8\" /dll");
		
		CString	strResources= TEXT("/d _X86_=1 "
									"/d i386=1 "
									"/d \"STD_CALL\" "
									"/d CONDITION_HANDLING=1 "
									"/d WIN32LEAN_AND_MEAN=1 "
									"/d NT_UP=1 "
									"/d NT_INST=0 "
									"/d WIN32=100 "
									"/d _NT1X_=100 "
									"/d WINNT=1 "
									"/d _WIN32_WINNT=0x0400 "
									"/d DEVL=1 "
									"/d \"NDEBUG\" "
									"/d _DLL=1 "
									"/d \"_IDWBUILD\" "
									"/d \"DBCS\" /D \"PRC\" "
									"/d \"KKBUGFIX\" "
									"/d \"DBCS_VERT\" "
									"/d \"FESB\"");

		tmp.Format("/i \"%s\\inc\"", ddkDir);
		strResources += tmp;

		CString	strDbgC7Compatible = TEXT("/Z7");
		CString strDbgPreprocessor = TEXT("/D DBG=1 /D FPO=0 "
										"/D \"RDRDBG\" "
										"/D \"SRVDBG\" ");
		CString strDbgRes = TEXT("/d DBG=1 /d FPO=0 "
										"/d \"RDRDBG\" "
										"/d \"SRVDBG\"");
		CString strDbgOptions	= TEXT("/GF /QIfdiv- /QIf");
		tmp.Format("/out:\"debug/%s.sys\"", strProjName);
		CString strDbgOutput	= tmp;
		tmp.Format("/libpath:\"%s\\lib\\i386\\checked\"", ddkDir);
		CString	strDbgLibPath	= tmp;
		CString strRlsPreprocessor = TEXT("/D FPO=1");
		CString strRlsRes		= TEXT("/d FPO=1");
		tmp.Format("/out:\"release/%s.sys\"", strProjName);
		CString strRlsOutput	= tmp;
		tmp.Format("/libpath:\"%s\\lib\\i386\\free\"", ddkDir);
		CString	strRlsLibPath	= tmp;
//		CString strCustFile	= TEXT("NTServiceEventLogMsg.mc");
//		CString strCustDesc	= TEXT("Generating Message Catalogue");
//		CString strCustCmd	= TEXT("mc -v -w $(InputName)");
//		CString strCustOut	= TEXT("NTServiceEventLogMsg.rc\nNTServiceEventLogMsg.h");
//		Compiler flags: (Debug) Multithreaded DLL, Enable RTTI
//		CString strCFlagsR	= TEXT("/MD /GR");
//		CString strCFlagsD	= TEXT("/MDd /GR");
		
		BSTR bstrToolCl		= strToolCl.AllocSysString();
		BSTR bstrToolLink	= strToolLink.AllocSysString();
		BSTR bstrToolRes	= strToolRes.AllocSysString();
		BSTR bstrToolMFC	= strToolMFC.AllocSysString();
		BSTR bstrWindows	= strWindows.AllocSysString();
		BSTR bstrNative		= strNative.AllocSysString();
		BSTR bstrCallConv	= strCallConv.AllocSysString();
		BSTR bstrEH			= strEH.AllocSysString();
		BSTR bstrNoMFC		= strNoMFC.AllocSysString();
		BSTR bstrStructAlign= strStructAlign.AllocSysString();
		BSTR bstrRelease	= strRelease.AllocSysString();
		BSTR bstrIncrement	= strIncrement.AllocSysString();
		BSTR bstrPreprocessor= strPreprocessor.AllocSysString();
		BSTR bstrDbgInfo	= strDbgInfo.AllocSysString();
		BSTR bstrDftLib		= strDftLib.AllocSysString();
		BSTR bstrNoDftLib	= strNoDftLib.AllocSysString();
		BSTR bstrDDKLib		= strDDKLib.AllocSysString();
		BSTR bstrNoPdb		= strNoPdb.AllocSysString();
		BSTR bstrEntry		= strEntry.AllocSysString();
		BSTR bstrResources	= strResources.AllocSysString();

		BSTR bstrDbgC7Compatible= strDbgC7Compatible.AllocSysString();
		BSTR bstrDbgPreprocessor= strDbgPreprocessor.AllocSysString();
		BSTR bstrDbgRes			= strDbgRes.AllocSysString();	
		BSTR bstrDbgOptions		= strDbgOptions.AllocSysString();
		BSTR bstrDbgOutput		= strDbgOutput.AllocSysString();
		BSTR bstrDbgLibPath		= strDbgLibPath.AllocSysString();
		BSTR bstrRlsPreprocessor= strRlsPreprocessor.AllocSysString();
		BSTR bstrRlsRes			= strRlsRes.AllocSysString();
		BSTR bstrRlsOutput		= strRlsOutput.AllocSysString();
		BSTR bstrRlsLibPath		= strRlsLibPath.AllocSysString();
//		BSTR bstrCustFile	= strCustFile.AllocSysString();
//		BSTR bstrCustDesc	= strCustDesc.AllocSysString();
//		BSTR bstrCustCmd	= strCustCmd.AllocSysString();
//		BSTR bstrCustOut	= strCustOut.AllocSysString();
//		BSTR bstrCFlagsR	= strCFlagsR.AllocSysString();
//		BSTR bstrCFlagsD	= strCFlagsD.AllocSysString();

		// loop through all the possible configurations and
		// change the settings
		long lCount;
		pAllConf->get_Count(&lCount);
		for( register long i = 1 ; i <= lCount ; ++i )
		{
			IConfiguration * pConf = 0;
			COleVariant idx(i);
			pAllConf->Item(idx, &pConf);
			if( pConf ) 
			{
				BSTR bstrName;
				pConf->get_Name(&bstrName);
				CString strName = bstrName;
				pConf->AddToolSettings(bstrToolMFC, bstrNoMFC, var);
				pConf->RemoveToolSettings(bstrToolLink, bstrWindows, var);
				pConf->AddToolSettings(bstrToolLink, bstrNative, var);
//				pConf->AddCustomBuildStepToFile(bstrCustFile, bstrCustCmd, bstrCustOut, bstrCustDesc, var);
				pConf->AddToolSettings(bstrToolCl, bstrCallConv, var);
				pConf->AddToolSettings(bstrToolCl, bstrStructAlign, var);
				pConf->AddToolSettings(bstrToolCl, bstrPreprocessor, var);
				
				pConf->RemoveToolSettings(bstrToolLink, bstrDbgInfo, var);
				pConf->RemoveToolSettings(bstrToolLink, bstrDftLib, var);
				pConf->AddToolSettings(bstrToolLink, bstrNoDftLib, var);
				pConf->AddToolSettings(bstrToolLink, bstrDDKLib, var);
				pConf->RemoveToolSettings(bstrToolLink, bstrNoPdb, var);
				pConf->AddToolSettings(bstrToolLink, bstrEntry, var);
				pConf->AddToolSettings(bstrToolLink , bstrIncrement, var);
				pConf->RemoveToolSettings(bstrToolCl, bstrEH, var);
				pConf->AddToolSettings(bstrToolRes, bstrResources, var);

				if(strName.Find(TEXT("Debug")) >= 0)
				{
//					pConf->AddToolSettings(bstrToolCl, bstrCFlagsD, var);
					pConf->AddToolSettings(bstrToolCl, bstrDbgC7Compatible, var);
					pConf->AddToolSettings(bstrToolCl, bstrDbgPreprocessor, var);
					pConf->AddToolSettings(bstrToolCl, bstrDbgOptions,		var);
					pConf->RemoveToolSettings(bstrToolCl, bstrRelease,		var);
					pConf->RemoveToolSettings(bstrToolLink , bstrDbgOutput, var);
					pConf->AddToolSettings(bstrToolLink, bstrDbgOutput, var);
					pConf->AddToolSettings(bstrToolLink, bstrDbgLibPath, var);
					pConf->AddToolSettings(bstrToolRes,	 bstrDbgRes, var);
				}
				else
				{
//					pConf->AddToolSettings(bstrToolCl, bstrCFlagsR, var);
					pConf->AddToolSettings(bstrToolCl, bstrRlsPreprocessor, var);
					pConf->RemoveToolSettings(bstrToolLink , bstrRlsOutput, var);
					pConf->AddToolSettings(bstrToolLink, bstrRlsOutput, var);
					pConf->AddToolSettings(bstrToolLink, bstrRlsLibPath, var);
					pConf->AddToolSettings(bstrToolRes,	 bstrRlsRes, var);
				}
				pConf->Release();
				::SysFreeString(bstrName);
			} else
				AfxMessageBox(TEXT("failed to set settings for the new project"));
		}

		// do not forget to free all sys-strings !
		::SysFreeString(bstrProjName);
		::SysFreeString(bstrToolCl);
		::SysFreeString(bstrToolLink);
		::SysFreeString(bstrToolRes);
		::SysFreeString(bstrToolMFC);
		::SysFreeString(bstrNative);
		::SysFreeString(bstrCallConv);
		::SysFreeString(bstrEH);
		::SysFreeString(bstrStructAlign);
		::SysFreeString(bstrRelease);
		::SysFreeString(bstrIncrement);
		::SysFreeString(bstrPreprocessor);
		::SysFreeString(bstrNoMFC);
		::SysFreeString(bstrDbgC7Compatible);
		::SysFreeString(bstrDbgPreprocessor);
		::SysFreeString(bstrDbgRes);
		::SysFreeString(bstrDbgOptions);
		::SysFreeString(bstrDbgOutput);
		::SysFreeString(bstrDbgLibPath);
		::SysFreeString(bstrRlsPreprocessor);
		::SysFreeString(bstrRlsRes);
		::SysFreeString(bstrRlsOutput);
		::SysFreeString(bstrRlsLibPath);
//		::SysFreeString(bstrCustFile);
//		::SysFreeString(bstrCustDesc);
//		::SysFreeString(bstrCustCmd);
//		::SysFreeString(bstrCustOut);
//		::SysFreeString(bstrCFlagsR);
//		::SysFreeString(bstrCFlagsD);
		::SysFreeString(bstrDbgInfo);
		::SysFreeString(bstrDftLib);
		::SysFreeString(bstrNoDftLib);
		::SysFreeString(bstrDDKLib);
		::SysFreeString(bstrNoPdb);
		::SysFreeString(bstrEntry);
		::SysFreeString(bstrResources);

		pAllConf->Release();
	} else
		AfxMessageBox(TEXT("failed to set settings for the new project"));
}


// Here we define one instance of the CDrv_WizardAppWiz class.  You can access
//  m_Dictionary and any other public members of this class through the
//  global Drv_Wizardaw.
CDrv_WizardAppWiz Drv_Wizardaw;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合色在线视频区| 欧美三级欧美一级| 国产精品免费看片| 国模冰冰炮一区二区| 国产日产欧美一区| 成人在线综合网站| 1区2区3区精品视频| 91小视频在线免费看| 一区二区三区四区激情| 欧美性色aⅴ视频一区日韩精品| 亚洲女与黑人做爰| 欧美一卡二卡在线| av在线不卡网| 午夜一区二区三区视频| 久久亚洲捆绑美女| 99精品欧美一区二区蜜桃免费| 亚洲精品菠萝久久久久久久| 678五月天丁香亚洲综合网| 精品一区二区综合| 亚洲欧美另类在线| 日韩精品资源二区在线| 99久久精品费精品国产一区二区| 亚洲制服丝袜av| 久久这里只有精品首页| 色噜噜偷拍精品综合在线| 美日韩黄色大片| 亚洲女女做受ⅹxx高潮| 国产精品色在线| 欧美日韩一区二区在线观看视频| 国产麻豆精品视频| 婷婷激情综合网| 亚洲色图.com| 国产欧美日韩在线观看| 精品国产一区二区三区不卡 | 日韩激情一二三区| 日韩毛片一二三区| 国产精品日韩成人| 中文字幕欧美激情一区| 欧美精品一区二区三区在线| 欧美精品日韩一区| 色妹子一区二区| 一本一道久久a久久精品综合蜜臀| 国产精品羞羞答答xxdd| 国产精品原创巨作av| 国产一区二区在线观看视频| 精品在线视频一区| 久久99久久久欧美国产| 日本午夜一区二区| 青青草原综合久久大伊人精品优势| 亚洲一区二区三区精品在线| 亚洲国产欧美日韩另类综合| 亚洲国产aⅴ天堂久久| 五月激情综合网| 毛片av一区二区三区| 欧美久久久久中文字幕| 91免费在线播放| 91麻豆精品在线观看| 欧美日韩国产精品自在自线| 欧美精品v国产精品v日韩精品| 91.com视频| 国产午夜精品一区二区三区四区| 亚洲视频免费观看| 日韩av电影免费观看高清完整版在线观看| 天天做天天摸天天爽国产一区| 久草精品在线观看| 99久久国产综合色|国产精品| 欧美白人最猛性xxxxx69交| 免费av成人在线| 成人美女视频在线看| 欧美日韩一卡二卡| 国产视频亚洲色图| 免费av网站大全久久| 日本高清不卡视频| 欧美激情一区在线| 国内偷窥港台综合视频在线播放| 日本伦理一区二区| 中文字幕亚洲一区二区av在线| 美女诱惑一区二区| 欧美写真视频网站| 亚洲美女淫视频| 波多野结衣中文字幕一区二区三区| 日韩一区二区三免费高清| 亚洲一区二区三区小说| 色欧美日韩亚洲| 自拍av一区二区三区| 国产精品自拍在线| 久久久久久一级片| 麻豆专区一区二区三区四区五区| 欧美日韩在线精品一区二区三区激情| 中文字幕一区av| av激情成人网| 欧美国产一区二区在线观看| 精品亚洲欧美一区| 欧美大片日本大片免费观看| 秋霞影院一区二区| 777久久久精品| 丝袜亚洲精品中文字幕一区| 欧美三级日韩三级国产三级| 亚洲中国最大av网站| 欧美亚洲日本国产| 亚洲在线成人精品| 欧美日本一区二区在线观看| 午夜不卡在线视频| 555www色欧美视频| 免费不卡在线观看| 欧美精品一区二区蜜臀亚洲| 狠狠色丁香久久婷婷综| 国产亚洲女人久久久久毛片| 国产精品一二三四| 中文一区一区三区高中清不卡| 国产成人日日夜夜| 一区在线中文字幕| 日本高清不卡在线观看| 亚洲国产精品久久人人爱 | 最新国产成人在线观看| 成人va在线观看| 亚洲三级在线观看| 色视频一区二区| 五月天网站亚洲| 精品国产自在久精品国产| 国产精品自拍网站| 国产精品拍天天在线| 日本韩国欧美国产| 另类小说图片综合网| 国产校园另类小说区| 色婷婷久久久综合中文字幕| 亚洲福利一区二区| 精品女同一区二区| 成人精品视频一区| 亚洲一级电影视频| 精品99一区二区| 波多野结衣亚洲一区| 亚洲一二三四区| 日韩欧美在线影院| 成人免费三级在线| 亚洲国产综合在线| 久久久天堂av| 在线观看日韩av先锋影音电影院| 日本成人在线电影网| 欧美极品美女视频| 欧美日韩黄色一区二区| 国产精品亚洲第一| 亚洲国产精品久久久久秋霞影院 | 亚洲黄色av一区| 欧美一区二区三区系列电影| 粉嫩高潮美女一区二区三区 | 经典三级在线一区| 亚洲日本一区二区| 91精品国产全国免费观看| 成人免费看视频| 日韩电影在线一区| 国产精品福利影院| 日韩欧美国产一区二区三区 | 91麻豆精品国产| 国产精品 日产精品 欧美精品| 亚洲精品视频自拍| wwww国产精品欧美| 欧美日韩一区二区三区免费看| 狠狠久久亚洲欧美| 亚洲第一主播视频| 国产精品久久久久影院色老大| 欧美高清视频www夜色资源网| 国产成人av一区二区三区在线| 亚洲一区二区三区中文字幕| 国产偷国产偷精品高清尤物| 在线不卡中文字幕| 一本到三区不卡视频| 国产一区亚洲一区| 日韩激情中文字幕| 亚洲精品videosex极品| 欧美国产成人精品| 精品久久久久久久久久久久包黑料 | 国产一区999| 亚洲国产精品一区二区久久| 国产精品久久久久久久久搜平片| 日韩一区二区在线看片| 欧美天堂亚洲电影院在线播放| 成人黄色777网| 国产酒店精品激情| 免费人成精品欧美精品| 夜夜夜精品看看| 国产精品毛片大码女人| 久久久久久久综合色一本| 亚洲精品成人精品456| 国产欧美精品国产国产专区 | 性做久久久久久| 亚洲人成网站影音先锋播放| 国产欧美一区二区三区在线看蜜臀| 欧美电影免费观看高清完整版在| 欧美色中文字幕| 91色porny在线视频| 成人涩涩免费视频| 大陆成人av片| 国产69精品久久99不卡| 国产一区在线视频| 精品在线观看视频| 激情都市一区二区| 韩国精品在线观看| 韩国v欧美v日本v亚洲v| 美日韩一区二区三区|