// Construction
Renderer::Renderer() {
	_SetupLayersAndExtensions();
	_SetupDebug();
	_InitInstance();
	_InitDebug();
	_InitDevice();
}
Exemple #2
0
/**
 * 函数: getCardDevice 
 * 参数: 
 *
 * 返回值:
 * 成功: 返回抽象卡设备
 * 失败: NULL
 */
struct CardDevice *getCardDevice(const char *System)
{
	DllProbe FunProbe;
	struct CardDevice *result = NULL;
	WIN32_FIND_DATA FindFileData;
	HANDLE hFind;
	char Pattern[MAX_PATH];
	int nProbe = 0;

	// 开始查找
	strcpy(Pattern, System);
	strcat(Pattern, "BHGX_CARD_*");
	hFind = FindFirstFile(Pattern, &FindFileData);
	while (hFind != INVALID_HANDLE_VALUE)
	{
		HINSTANCE hInstLibrary;
		hInstLibrary = LoadLibrary(FindFileData.cFileName);
		if (hInstLibrary != NULL)
		{
			FunProbe = (DllProbe)GetProcAddress(hInstLibrary, "bProbe");
			printf("%s:Probe函数地址:%ll\n", FindFileData.cFileName, &FunProbe);
			nProbe = FunProbe();
			printf("bProbe:%d\n",nProbe);
			if((FunProbe != NULL) && nProbe)
			{
				result = _InitDevice(hInstLibrary);
				break;
			}
			FreeLibrary(hInstLibrary);
		}
		if (0 == FindNextFile(hFind, &FindFileData))
			break;
	}
	FindClose(hFind);

	/**
	 * 如果设备找到,就打开并且嗡鸣一下
	 */
	if(result)
	{
		int ret = result->iOpen();
	}
	return result;
}
Exemple #3
0
Renderer::Renderer()
{
	_InitInstance();
	_InitDevice();
}