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

📄 nvpanelapi.h

📁 获取NVidia Control Panel(NV控制面板)参数的源代码 可以获取 显卡id,显存
💻 H
📖 第 1 页 / 共 3 页
字号:
//---------------------------------------------------------------------
// Video Functions
//---------------------------------------------------------------------

BOOL __cdecl NvGetFullScreenVideoMirroringEnabled( IN LPCSTR pszUserDisplay, OUT BOOL* pbEnabled );
typedef BOOL (__cdecl* fNvGetFullScreenVideoMirroringEnabled)( IN LPCSTR pszUserDisplay, OUT BOOL* pbEnabled );

BOOL __cdecl NvSetFullScreenVideoMirroringEnabled( IN LPCSTR pszUserDisplay, IN BOOL bEnabled );
typedef BOOL (__cdecl* fNvSetFullScreenVideoMirroringEnabled)( IN LPCSTR pszUserDisplay, IN BOOL bEnabled );


//---------------------------------------------------------------------
// Power Management Functions
//---------------------------------------------------------------------

BOOL __cdecl NvCplIsExternalPowerConnectorAttached( IN BOOL* pbAttached );
typedef BOOL (__cdecl* fNvCplIsExternalPowerConnectorAttached)( IN BOOL* pbAttached );

BOOL NVAPIENTRY nvGetPwrMzrLevel( OUT DWORD* pdwBatteryLevel, OUT DWORD* pdwACLevel );
typedef BOOL (NVAPIENTRY* fnvGetPwrMzrLevel)( OUT DWORD* pdwBatteryLevel, OUT DWORD* pdwACLevel );

BOOL NVAPIENTRY nvSetPwrMzrLevel( IN DWORD* pdwBatteryLevel, IN DWORD* pdwACLevel );
typedef BOOL (NVAPIENTRY* fnvSetPwrMzrLevel)( IN DWORD* pdwBatteryLevel, IN DWORD* pdwACLevel );


//---------------------------------------------------------------------
// Temperature Monitoring Functions
//---------------------------------------------------------------------

BOOL __cdecl NvCplGetThermalSettings( IN UINT nWindowsMonitorNumber, OUT DWORD* pdwCoreTemp, OUT DWORD* pdwAmbientTemp, OUT DWORD* pdwUpperLimit );
typedef BOOL (__cdecl* fNvCplGetThermalSettings)( IN UINT nWindowsMonitorNumber, OUT DWORD* pdwCoreTemp, OUT DWORD* pdwAmbientTemp, OUT DWORD* pdwUpperLimit );


//---------------------------------------------------------------------
// Data Control Functions
//---------------------------------------------------------------------

#define NVCPL_API_AGP_BUS_MODE                   1    // Graphics card connection to system
                                                      //  Values are:
                                                      //   1 = PCI
                                                      //   4 = AGP
                                                      //   8 = PCI Express
#define NVCPL_API_VIDEO_RAM_SIZE                 2    // Graphics card video RAM in megabytes
#define NVCPL_API_TX_RATE                        3    // Graphics card AGP bus rate (1X, 2X, ...)

#define NVCPL_API_CURRENT_AA_VALUE               4    // Graphics card anti-aliasing setting.
                                                      // Values are:
#define NVCPL_API_AA_METHOD_OFF                  0    //   0 = Off  
#define NVCPL_API_AA_METHOD_2X                   1    //   1 = 2X
#define NVCPL_API_AA_METHOD_2XQ                  2    //   2 = 2XQ
#define NVCPL_API_AA_METHOD_4X                   3    //   3 = 4X
#define NVCPL_API_AA_METHOD_4X_GAUSSIAN          4    //   4 = 4X9T
#define NVCPL_API_AA_METHOD_4XS                  5    //   5 = 4XS
#define NVCPL_API_AA_METHOD_6XS                  6    //   6 = 6XS
#define NVCPL_API_AA_METHOD_8XS                  7    //   7 = 8XS
#define NVCPL_API_AA_METHOD_16XS                 8    //   8 = 16XS   

#define NVCPL_API_AGP_LIMIT                      5    // Graphics card GART size.
#define NVCPL_API_FRAME_QUEUE_LIMIT              6    // Graphics card number of frames to prerender.
#define NVCPL_API_NUMBER_OF_GPUS                 7    // Graphics card number of GPUs.
#define NVCPL_API_NUMBER_OF_SLI_GPUS             8    // Graphics card number of SLI GPU clusters available.


#define NVCPL_API_SLI_MULTI_GPU_RENDERING_MODE   9    // Get/Set SLI multi-GPU redering mode. 

// All of constants below should be used as bit-masks for either NvCplGetDataInt or
// NvCplSetDataInt methods dwValue parameter. 

#define NVCPL_API_SLI_ENABLED                    0x10000000  // SLI enabled, when this bit-mask is set. 

#define NVCPL_API_SLI_RENDERING_MODE_AUTOSELECT  0x00000000  // SLI multi-GPU redering mode - Autoselect.

// For current version of ForceWare setting more then one presented below bit-masks would be 
// equals the setting NVCPL_API_SLI_RENDERING_MODE_AUTOSELECT mode.  

#define NVCPL_API_SLI_RENDERING_MODE_AFR         0x00000001  // SLI multi-GPU redering mode - Alternate Frames.
#define NVCPL_API_SLI_RENDERING_MODE_SFR         0x00000002  // SLI multi-GPU redering mode - Split Frame.
#define NVCPL_API_SLI_RENDERING_MODE_SINGLE_GPU  0x00000004  // SLI multi-GPU redering mode - Single GPU.


BOOL __cdecl NvCplGetDataInt( IN DWORD dwSettingIndex, IN DWORD* pdwValue );
typedef BOOL (__cdecl* fNvCplGetDataInt)( IN DWORD dwSettingIndex, IN DWORD* pdwValue );

BOOL __cdecl NvCplSetDataInt( IN DWORD dwSettingIndex, IN DWORD dwValue );
typedef BOOL (__cdecl* fNvCplSetDataInt)( IN DWORD dwSettingIndex, IN DWORD dwValue );


//---------------------------------------------------------------------
// TV Functions
//---------------------------------------------------------------------

// Flags for NVTVOutManageOverscanConfiguration
#define NVCPL_API_OVERSCAN_SHIFT            0x00000010
#define NVCPL_API_UNDERSCAN                 0x00000020
#define NVCPL_API_NATIVEHD                  0x00000080
                  
// Modes for NvSetHDAspect
#define NVAPI_ASPECT_FULLSCREEN             0   // 4:3 aspect ratio
#define NVAPI_ASPECT_LETTERBOX              1   // 4:3 aspect ratio, letterbox
#define NVAPI_ASPECT_WIDESCREEN             2   // 16:9 aspect ratio

// Flags for NvGetDVIAdvancedTimingSupport
#define NVAPI_HDTV_OVER_DVI_EDID_TIMING     0x000000001
#define NVAPI_HDTV_OVER_DVI_CUSTOM_TIMING   0x000000002

#define NVAPI_HDTV_OVER_DVI_TIMING          ( NVAPI_HDTV_OVER_DVI_EDID_TIMING   | \
                                              NVAPI_HDTV_OVER_DVI_CUSTOM_TIMING )

BOOL __cdecl NVTVOutManageOverscanConfiguration( IN DWORD dwTVFormat, IN OUT DWORD *pdwOverscanFlags, IN BOOL bGet );
typedef BOOL (__cdecl* fNVTVOutManageOverscanConfiguration)( IN DWORD dwTVFormat, IN OUT DWORD *pdwOverscanFlags, IN BOOL bGet );

BOOL __cdecl NvSetHDAspect( IN DWORD* pdwAspect );
typedef BOOL (__cdecl* fNvSetHDAspect)( IN DWORD* pdwAspect );

BOOL NVAPIENTRY NvGetRealDVIAdvancedTimingSupport( IN LPCSTR pszUserDisplay, IN DWORD dwTimingType );
typedef BOOL (NVAPIENTRY* fNvGetRealDVIAdvancedTimingSupport)( IN LPCSTR pszUserDisplay, IN DWORD dwTimingType );

BOOL __cdecl NvSetDVDOptimalEnabled( IN BOOL bEnable );
typedef BOOL (__cdecl* fNvSetDVDOptimalEnabled)( IN BOOL bEnable );


//---------------------------------------------------------------------
// OEM Specific Functions
//---------------------------------------------------------------------

// Flags for NvSetOEMConfig
#define NVAPI_ENABLE_SVP_BIT        0x00000001 // Prevent transitions to SVP Video Enhancement chip

BOOL __cdecl NvSetOEMConfig( IN DWORD dwOEMConfig );
typedef BOOL (__cdecl* fNvSetOEMConfig)( IN DWORD dwOEMConfig );


//---------------------------------------------------------------------
// Deprecated Functions 
//---------------------------------------------------------------------
//  These functions remain available for legacy compatibility, but
//  the preferred interfaces indicated below are those officially 
//  supported and recommended for use with newer client code.
//---------------------------------------------------------------------

// Preferred: NvCplGetRealConnectedDevicesString() -- older method has issues with inactive connected displays
BOOL NVAPIENTRY NvCplGetConnectedDevicesString( OUT LPSTR lpszTextBuffer, IN DWORD cbTextBuffer, IN BOOL bOnlyActive );
typedef BOOL (NVAPIENTRY* fNvCplGetConnectedDevicesString)( OUT LPSTR lpszTextBuffer, IN DWORD cbTextBuffer, IN BOOL bOnlyActive );

// Preferred: NvColorGetGammaRampEx()
BOOL __cdecl NvColorGetGammaRamp( IN LPCSTR pszUserDisplay, OUT GAMMARAMP* pGammaRamp );
typedef BOOL (__cdecl* fNvColorGetGammaRamp)( IN LPCSTR pszUserDisplay, OUT GAMMARAMP* pGammaRamp );

// Preferred: NvColorSetGammaRampEx()
BOOL __cdecl NvColorSetGammaRamp( IN LPCSTR pszUserDisplay, IN DWORD dwUserRotateFlag, IN const GAMMARAMP* pGammaRamp );
typedef BOOL (__cdecl* fNvColorSetGammaRamp)( IN LPCSTR pszUserDisplay, IN DWORD dwUserRotateFlag, IN const GAMMARAMP* pGammaRamp );

// Preferred: NvGetDisplayInfo()
BOOL __cdecl NvCplGetScalingStatus( IN  LPCSTR pszUserDisplay, OUT DWORD* pdwScalingMode );
typedef BOOL (__cdecl* fNvCplGetScalingStatus)( IN  LPCSTR pszUserDisplay, OUT DWORD* pdwScalingMode );

// Preferred: NvGetDisplayInfo() for DFPs the NVDISPLAYINFO1_MAXIMUMSAFEMODE is native resolution
BOOL NVAPIENTRY NvCplGetFlatPanelNativeRes(IN LPCSTR pszUserDisplay, OUT DWORD *pdwHorizontalPixels, OUT DWORD *pdwVerticalPixels);
typedef BOOL (NVAPIENTRY* fNvCplGetFlatPanelNativeRes)(IN LPCSTR pszUserDisplay, OUT DWORD *pdwHorizontalPixels, OUT DWORD *pdwVerticalPixels);

// Preferred: NvGetDisplayInfo()
#define NVGWDS_VIEW_UNKNOWN   -1    // Unknown state
#define NVGWDS_FAILED          0    // Internal error
#define NVGWDS_NOT_FOUND       1    // Unrecognized windows monitor number
#define NVGWDS_UNATTACHED      2    // Graphics card not attached to desktop
#define NVGWDS_ATTACHED        3    // Graphics card attached to desktop but not an NVIDIA device
#define NVGWDS_STANDARD        4    // Graphics card in Single-Display mode (not in DualView)
#define NVGWDS_DUALVIEW        5    // Graphics card in DualView mode (not in Single-Display mode)
#define NVGWDS_CLONE           6    // Graphics card in Clone mode
#define NVGWDS_HSPAN           7    // Graphics card in Horizontal Span mode
#define NVGWDS_VSPAN           8    // Graphics card in Vertical Span mode
int NVAPIENTRY NvGetWindowsDisplayState( IN UINT nWindowsMonitorNumber );
typedef int (NVAPIENTRY* fNvGetWindowsDisplayState)( IN UINT nWindowsMonitorNumber );

// Preferred: NvGetDisplayInfo()
#define NVAPI_TVFORMAT_NTSC_M       0
#define NVAPI_TVFORMAT_NTSC_J       1
#define NVAPI_TVFORMAT_PAL_M        2
#define NVAPI_TVFORMAT_PAL_ABDGHI   3
#define NVAPI_TVFORMAT_PAL_N        4
#define NVAPI_TVFORMAT_PAL_NC       5
#define NVAPI_TVFORMAT_HD576I       8
#define NVAPI_TVFORMAT_HD480I       9
#define NVAPI_TVFORMAT_HD480P       10
#define NVAPI_TVFORMAT_HD576P       11
#define NVAPI_TVFORMAT_HD720P       12
#define NVAPI_TVFORMAT_HD1080I      13
#define NVAPI_TVFORMAT_HD1080P      14
#define NVAPI_TVFORMAT_HD720I       16
#define NVAPI_TVFORMAT_D1           NVAPI_TVFORMAT_HD480I
#define NVAPI_TVFORMAT_D2           NVAPI_TVFORMAT_HD480P
#define NVAPI_TVFORMAT_D3           NVAPI_TVFORMAT_HD1080I
#define NVAPI_TVFORMAT_D4           NVAPI_TVFORMAT_HD720P
#define NVAPI_TVFORMAT_D5           NVAPI_TVFORMAT_HD1080P
BOOL __cdecl NvGetCurrentTVFormat(OUT DWORD* pdwFormat);
typedef BOOL (__cdecl* fNvGetCurrentTVFormat)(OUT DWORD* pdwFormat);

// Preferred: NvGetDisplayInfo()
#define NVAPI_TV_ENCODER_CONNECTOR_UNKNOWN       0x0
#define NVAPI_TV_ENCODER_CONNECTOR_SDTV          0x1
#define NVAPI_TV_ENCODER_CONNECTOR_HDTV          0x2
#define NVAPI_TV_ENCODER_CONNECTOR_HDTV_AND_SDTV 0x3 
BOOL __cdecl NvGetTVConnectedStatus(OUT DWORD* pdwConnected);
typedef BOOL (__cdecl* fNvGetTVConnectedStatus)(OUT DWORD* pdwConnected);

// Preferred: NvGetRealDVIAdvancedTimingSupport() -- older method has issues with inactive connected displays
BOOL __cdecl NvGetDVIAdvancedTimingSupport( IN UINT nWindowsMonitorNumber, IN DWORD dwTimingType );
typedef BOOL (__cdecl* fNvGetDVIAdvancedTimingSupport)( IN UINT nWindowsMonitorNumber, IN DWORD dwTimingType );


///////////////////////////////////////////////////////////////////////

#ifdef REDEFINED_PGAMMARAMP
#   undef GAMMARAMP
#   undef PGAMMARAMP
#   undef REDEFINED_PGAMMARAMP
#endif//REDEFINED_PGAMMARAMP

#ifdef __cplusplus
#   define _cplusplus
} //extern "C" {
#endif

#endif  // __NVPANELAPI_H__

⌨️ 快捷键说明

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