J'accède à une DLL à partir de Python en utilisant la bibliothèque ctypes. Les fonctions de la DLL sont accessibles par ordinal plutôt que par nom. Je peux inspecter la DLL en utilisant Dependency Walker et relier les ordinaux aux noms de fonctions. Il y a une variable de numéro d'erreur globale dans la DLL à laquelle je souhaite accéder. Dépendance Walker montre qu'il a une valeur ordinale de 13.Comment puis-je obtenir la valeur d'une variable globale dans une DLL qui est décrite par un ordinal pas un nom en utilisant ctypes en Python?
Il semble qu'il n'y ait aucun moyen d'accéder à une variable globale par un ordinal en utilisant ctypes.
Si la variable globale ont été nommés alors il semble que je serais capable de faire quelque chose comme:
ERROR_VALUE = c_int.in_dll (my_dll_handle, "my_error_value") (https://docs.python.org/3/library/ctypes.html#accessing-values-exported-from-dlls)
Toutes les idées comment j'accède à la variable globale donnée seulement un ordinal?
Je ne l'ai jamais utilisé ce mais il y a une section sur la page que vous avez liée qui semble en discuter. Je viens de chercher ordininal. Voir si cela fonctionne. – FamousJameous
La page liée montre comment utiliser ordinaux pour les fonctions, pas de variables –