Files
naksyn 9bb2f6761d Added control and moved folder
Added control for empty passed argument and moved windows folder out for easier importing.
2023-12-16 13:03:40 +01:00

68 lines
2.3 KiB
Python

import ctypes
import windows.generated_def as gdef
from ..apiproxy import ApiProxy, NeededParameter
from ..error import fail_on_zero
class VersionProxy(ApiProxy):
APIDLL = "version"
default_error_check = staticmethod(fail_on_zero)
@VersionProxy()
def GetFileVersionInfoA(lptstrFilename, dwHandle=0, dwLen=None, lpData=NeededParameter):
if dwLen is None and lpData is not None:
dwLen = len(lpData)
return GetFileVersionInfoA.ctypes_function(lptstrFilename, dwHandle, dwLen, lpData)
@VersionProxy()
def GetFileVersionInfoW(lptstrFilename, dwHandle=0, dwLen=None, lpData=NeededParameter):
if dwLen is None and lpData is not None:
dwLen = len(lpData)
return GetFileVersionInfoW.ctypes_function(lptstrFilename, dwHandle, dwLen, lpData)
@VersionProxy()
def GetFileVersionInfoExA(dwFlags, lpwstrFilename, dwHandle, dwLen, lpData):
return GetFileVersionInfoExA.ctypes_function(dwFlags, lpwstrFilename, dwHandle, dwLen, lpData)
@VersionProxy()
def GetFileVersionInfoExW(dwFlags, lpwstrFilename, dwHandle, dwLen, lpData):
return GetFileVersionInfoExW.ctypes_function(dwFlags, lpwstrFilename, dwHandle, dwLen, lpData)
@VersionProxy()
def GetFileVersionInfoSizeA(lptstrFilename, lpdwHandle=None):
if lpdwHandle is None:
lpdwHandle = ctypes.byref(gdef.DWORD())
return GetFileVersionInfoSizeA.ctypes_function(lptstrFilename, lpdwHandle)
@VersionProxy()
def GetFileVersionInfoSizeW(lptstrFilename, lpdwHandle=None):
if lpdwHandle is None:
lpdwHandle = ctypes.byref(gdef.DWORD())
return GetFileVersionInfoSizeW.ctypes_function(lptstrFilename, lpdwHandle)
@VersionProxy()
def GetFileVersionInfoSizeExA(dwFlags, lpwstrFilename, lpdwHandle=None):
return GetFileVersionInfoSizeExA.ctypes_function(dwFlags, lpwstrFilename, lpdwHandle)
@VersionProxy()
def GetFileVersionInfoSizeExW(dwFlags, lpwstrFilename, lpdwHandle=None):
return GetFileVersionInfoSizeExW.ctypes_function(dwFlags, lpwstrFilename, lpdwHandle)
@VersionProxy()
def VerQueryValueA(pBlock, lpSubBlock, lplpBuffer, puLen):
return VerQueryValueA.ctypes_function(pBlock, lpSubBlock, lplpBuffer, puLen)
@VersionProxy()
def VerQueryValueW(pBlock, lpSubBlock, lplpBuffer, puLen):
return VerQueryValueW.ctypes_function(pBlock, lpSubBlock, lplpBuffer, puLen)