VOID GetDriverVersion(VOID) { NvStatus status = NVAPI_ERROR; NV_DISPLAY_DRIVER_VERSION versionInfo = { 0 }; versionInfo.Version = NV_DISPLAY_DRIVER_VERSION_VER; status = NvAPI_GetDisplayDriverVersion(dispHandle, &versionInfo); if (NV_SUCCESS(status)) { PH_STRING_BUILDER strb = { 0 }; PhInitializeStringBuilder(&strb, 30); PhAppendFormatStringBuilder(&strb, L"Driver Version: %d", versionInfo.drvVersion / 100); PhAppendFormatStringBuilder(&strb, L".%d", versionInfo.drvVersion % 100); //PhAppendFormatStringBuilder(&strb, L" Driver Branch: %ls", versionInfo.szBuildBranchString); PhDeleteStringBuilder(&strb); } else { LogEvent(L"gfxinfo: (GetDriverVersion) NvAPI_GetDisplayDriverVersion failed (%s)", status); } }
PPH_STRING NvGpuQueryDriverVersion(VOID) { if (NvAPI_SYS_GetDriverAndBranchVersion) { NvU32 driverVersion = 0; NvAPI_ShortString driverAndBranchString = ""; if (NvAPI_SYS_GetDriverAndBranchVersion(&driverVersion, driverAndBranchString) == NVAPI_OK) { return PhFormatString(L"%lu.%lu [%hs]", driverVersion / 100, driverVersion % 100, driverAndBranchString ); } } if (NvAPI_GetDisplayDriverVersion) { NV_DISPLAY_DRIVER_VERSION nvDisplayDriverVersion = { NV_DISPLAY_DRIVER_VERSION_VER }; if (NvAPI_GetDisplayDriverVersion(NvGpuDisplayHandleList->Items[0], &nvDisplayDriverVersion) == NVAPI_OK) { return PhFormatString(L"%lu.%lu [%hs]", nvDisplayDriverVersion.drvVersion / 100, nvDisplayDriverVersion.drvVersion % 100, nvDisplayDriverVersion.szBuildBranchString ); } } return PhCreateString(L"N/A"); }
BEGIN_NAMESPACE_XEVOL3D xNvRenderer::xNvRenderer() { NvAPI_Status ret = NvAPI_Initialize(); if(NVAPI_OK != ret) { XEVOL_LOG(eXL_ERROR_NORMAL , L"Initialize NvApi Failed\n"); return ; } NvAPI_Status nvapiStatus; m_nvDisplayCount = 0; // Enumerate all display handles for(int i=0,nvapiStatus=NVAPI_OK; nvapiStatus == NVAPI_OK; i++) { nvapiStatus = NvAPI_EnumNvidiaDisplayHandle(i, &m_hDisplay[i]); if (nvapiStatus == NVAPI_OK) m_nvDisplayCount++; } for(int i=0; i< m_nvDisplayCount; i++) { NvAPI_GetDisplayDriverVersion(m_hDisplay[i] , &m_DrvVersion); } }