Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2014, 01:13   #11
calypso
Форумчанин
 
Регистрация: 02.12.2012
Сообщений: 250
По умолчанию

На Visual Studio 2012 эта функция работает:
Код:
NvU32 nSpeed;
status=NvAPI_GPU_GetTachReading(phys,&nSpeed);
NvAPI_GetErrorMessage(status,errorDesc);
MessageBox::Show("Результат запроса функции GetTachReading: "+Marshal::PtrToStringAnsi((IntPtr) (char *) errorDesc));
MessageBox::Show("Скорость вентилятора: "+Convert::ToString(unsigned int(nSpeed)));
Вроде тоже самое,что и на Delphi. Единственное, &nSpeed вместо nSpeed, там же всё-таки указатель. Но я и на Делфи делал &nSpeed, всё равно выдавало неверный аргумент.
calypso вне форума Ответить с цитированием
Старый 13.06.2014, 11:49   #12
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Смотрите на прототип функции NvAPI_GPU_GetTachReading.
Кроме того, а вы уверены, что параметр phys у вас правильный?
waleri вне форума Ответить с цитированием
Старый 13.06.2014, 12:08   #13
calypso
Форумчанин
 
Регистрация: 02.12.2012
Сообщений: 250
По умолчанию

Пробовал и &phys[n],и &phys, и phys[n], и &nSpeed и nSpeed - одинаково ошибка неверный параметр.
По идее надо в отладчике смотреть, что он хочет увидеть там вместо моих параметров.
Код:
// A single physical GPU
  NvPhysicalGpuHandle__ = record end;
  PNvPhysicalGpuHandle = ^NvPhysicalGpuHandle__;
Код:
const
  NVAPI_MAX_PHYSICAL_GPUS            = 64;
type
  TNvPhysicalGpuHandleArray = array[0..NVAPI_MAX_PHYSICAL_GPUS - 1] of PNvPhysicalGpuHandle;
Код:
 NvAPI_GPU_GetTachReading: function (hPhysicalGPU: PNvPhysicalGpuHandle; PValue: NvU32 ): NvApi_Status; cdecl;
Что должно быть:
Код:
///////////////////////////////////////////////////////////////////////////////
//
// FUNCTION NAME: NvAPI_GPU_GetTachReading
//
//!   DESCRIPTION: This API retrieves the fan speed tachometer reading for the specified physical GPU.
//!
//!   HOW TO USE:   
//!                 - NvU32 Value = 0;
//!                 - ret = NvAPI_GPU_GetTachReading(hPhysicalGpu, &Value);  
//!                 - On call success:
//!                 - Value contains the tachometer reading
//!
//! SUPPORTED OS:  Windows XP and higher
//!
//!
//! \param [in]    hPhysicalGpu   GPU selection.
//! \param [out]   pValue         Pointer to a variable to get the tachometer reading
//!
//! \retval ::NVAPI_OK - completed request
//! \retval ::NVAPI_ERROR - miscellaneous error occurred
//! \retval ::NVAPI_NOT_SUPPORTED - functionality not supported 
//! \retval ::NVAPI_API_NOT_INTIALIZED - nvapi not initialized
//! \retval ::NVAPI_INVALID_ARGUMENT - invalid argument passed
//! \retval ::NVAPI_HANDLE_INVALIDATED - handle passed has been invalidated (see user guide)
//! \retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE - handle passed is not a physical GPU handle
//!
//! \ingroup gpucooler
///////////////////////////////////////////////////////////////////////////////
NVAPI_INTERFACE NvAPI_GPU_GetTachReading(NvPhysicalGpuHandle hPhysicalGPU, NvU32 *pValue);

Последний раз редактировалось calypso; 13.06.2014 в 12:14.
calypso вне форума Ответить с цитированием
Старый 13.06.2014, 21:43   #14
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Еще они обнуляют переменную перед вызовом.
И в документации смотреть откуда брать NvPhysicalGpuHandle
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как использовать UNICODE функции? dolphin705 Общие вопросы Delphi 6 04.04.2013 00:21
Как использовать функции для формирования ссылок в формулах? Buchhalter Microsoft Office Excel 5 24.08.2012 18:29
Можно ли задать глобальную переменную из функции или как-то напрямую использовать память для хранения переменных из функции? Suny-o Общие вопросы Delphi 2 14.06.2012 11:45
Как в Си использовать двумерный массив в качестве аргумента функции? Hornet_nsk Помощь студентам 7 05.02.2012 09:46
Как использовать функции FindWindow и CloseWindow? __Demon__ Общие вопросы C/C++ 4 14.08.2009 15:29