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

📄 getvideoparamreg.c

📁 X-scale 27x 平台
💻 C
字号:
//
// Copyright (c) Chrontel Inc.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Chrontel end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Module Name:  
  SetVideoParamreg.c

Abstract:  
   set up the registry for the Chrontel video output device.

Revision:
   11/27/02 Roger Yu,  Created File

Notes: 
--*/

#include "chrontel.h"


int GetVideoParamRegistry(int* cxScreen, int* cyScreen, int* bpp, int* tft, int* dualpanel,
                          int* hoc)
{

    LONG result;
	HKEY hkDevice;
	DWORD op;
	DWORD cbSize;

	result = RegOpenKeyEx(HKEY_LOCAL_MACHINE , VIDEO_OUTPUT_DEVICE_REG_PATH,0, 0, &hkDevice);
    if (ERROR_SUCCESS != result) return -1;   // no valid value

	// The stream device name has format "XXXn:", so length is 12 including NUL	
	cbSize = sizeof(DWORD);
	RegQueryValueEx(hkDevice, VOD_REG_ROW_RES, NULL, NULL, (PBYTE)&op, &cbSize );
    if (ERROR_SUCCESS == result) *cxScreen = op;;   // no valid value
	
	cbSize = sizeof(DWORD);
	RegQueryValueEx(hkDevice, VOD_REG_COL_RES, NULL, NULL, (PBYTE)&op, &cbSize );
    if (ERROR_SUCCESS == result) *cyScreen = op;;   // no valid value
	

	cbSize = sizeof(DWORD);
	RegQueryValueEx(hkDevice, VOD_REG_BPP, NULL, NULL, (PBYTE)&op, &cbSize );
    if (ERROR_SUCCESS == result) *bpp = op;;   // no valid value
	
	cbSize = sizeof(DWORD);
	RegQueryValueEx(hkDevice, VOD_REG_PANEL_TFT, NULL, NULL, (PBYTE)&op, &cbSize );
    if (ERROR_SUCCESS == result) *tft = op;;   // no valid value
	
	if (op & 0xffff) *dualpanel=0;
	else {
		cbSize = sizeof(DWORD);
		RegQueryValueEx(hkDevice, VOD_REG_PANEL_DUAL, NULL, NULL, (PBYTE)&op, &cbSize );
		if (ERROR_SUCCESS == result) *dualpanel =op;;   // no valid value
	}

    op =0; 
	cbSize = sizeof(DWORD);
	RegQueryValueEx(hkDevice, VOD_REG_SHRINKPIXEL, NULL, NULL, (PBYTE)&op, &cbSize );
    if (ERROR_SUCCESS == result) *tft |= (op<<16);;   // no valid value

	cbSize = sizeof(DWORD);
	RegQueryValueEx(hkDevice, VOD_REG_DEVICE, NULL, NULL, (PBYTE)&op, &cbSize );
    if (ERROR_SUCCESS == result) *hoc = op;;   // no valid output device
  
	RegCloseKey( hkDevice);

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -