use ctypes python para interagir com o nvapi (siga o código de demonstração)

Este é um seguimento da minha pergunta anterior: ajuda com ctypes python e nvapi

Estou postando outra pergunta porque já selecionei uma resposta na minha pergunta anterior e a pergunta mudou de direção agor

Usando python, estou tentando consultar o nvapi.dll para obter meu valor de uso de gp

É assim que você faria em C # (referenciado abaixo):http: //code.google.com/p/open-hardware-monitor/source/browse/trunk/Hardware/Nvidia/NVAPI.c

Porque eu só preciso de um pequeno subconjunto da funcionalidade que realmente não quero trocar para usar outro idioma. Eu acho que ctypes deve ser capaz de fazer isso ... Eu simplesmente não consigo descobrir como fazê-lo. Eu nunca usei ctypes Python antes.

Para consultar o uso da GPU, primeiro preciso chamar a função NvAPI_Initialize. É preciso também usar a interface de consulta para referenciar a função:

from ctypes import *
nvapi = WinDLL("nvapi.dll")
nvapi_QueryInterface = nvapi.nvapi_QueryInterface

Usando o código acima, tenho acesso ao nvapi_QueryInterface, mas não consigo descobrir como replicar esta parte:

private static void GetDelegate<T>(uint id, out T newDelegate)
  where T : class
{
    IntPtr ptr = nvapi_QueryInterface(id);
    if (ptr != IntPtr.Zero)
    {
        newDelegate =
          Marshal.GetDelegateForFunctionPointer(ptr, typeof(T)) as T;
    }
    else
    {
        newDelegate = null;
    }
}

para referenciar as funções init e use:

GetDelegate(0x0150E828, out NvAPI_Initialize);
GetDelegate(0x189A1FDF, out NvAPI_GPU_GetUsages);

Meu entendimento disso ainda pode estar errado, mas eu gastei muito tempo tentando descobrir isso, então espero que alguém possa me ajudar na direção certa, porque estou um pouco perdido quanto à forma de proceder.

Alguém pode me ajudar a entender como posso fazer com que essa pequena parte do código funcione diretamente em python? Eu só preciso chamar a função NvAPI_GPU_GetUsages no final do di

Obrigado

questionAnswers(1)

yourAnswerToTheQuestion