mirror of
https://github.com/naksyn/PythonMemoryModule
synced 2026-06-06 16:24:25 +00:00
9bb2f6761d
Added control for empty passed argument and moved windows folder out for easier importing.
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
import ctypes
|
|
import windows.generated_def as gdef
|
|
|
|
from ..apiproxy import ApiProxy, NeededParameter
|
|
from ..error import no_error_check
|
|
|
|
# IMPORTANT:
|
|
# Functions that returns HRESULT (like CoInitializeEx) will raise if HRESULT is an error
|
|
# even if there is no error check on the return value
|
|
|
|
class Ole32Proxy(ApiProxy):
|
|
APIDLL = "ole32"
|
|
default_error_check = staticmethod(no_error_check)
|
|
|
|
|
|
@Ole32Proxy()
|
|
def CoInitializeEx(pvReserved=None, dwCoInit=gdef.COINIT_MULTITHREADED):
|
|
return CoInitializeEx.ctypes_function(pvReserved, dwCoInit)
|
|
|
|
|
|
@Ole32Proxy()
|
|
def CoInitializeSecurity(pSecDesc, cAuthSvc, asAuthSvc, pReserved1, dwAuthnLevel, dwImpLevel, pAuthList, dwCapabilities, pReserved3):
|
|
return CoInitializeSecurity.ctypes_function(pSecDesc, cAuthSvc, asAuthSvc, pReserved1, dwAuthnLevel, dwImpLevel, pAuthList, dwCapabilities, pReserved3)
|
|
|
|
|
|
@Ole32Proxy()
|
|
def CoCreateInstance(rclsid, pUnkOuter=None, dwClsContext=gdef.CLSCTX_INPROC_SERVER, riid=NeededParameter, ppv=NeededParameter):
|
|
return CoCreateInstance.ctypes_function(rclsid, pUnkOuter, dwClsContext, riid, ppv)
|
|
|
|
@Ole32Proxy()
|
|
def CoCreateInstanceEx(rclsid, punkOuter, dwClsCtx, pServerInfo, dwCount, pResults):
|
|
return CoCreateInstanceEx.ctypes_function(rclsid, punkOuter, dwClsCtx, pServerInfo, dwCount, pResults)
|
|
|
|
|
|
@Ole32Proxy()
|
|
def CoGetClassObject(rclsid, dwClsContext, pvReserved, riid, ppv):
|
|
return CoGetClassObject.ctypes_function(rclsid, dwClsContext, pvReserved, riid, ppv)
|
|
|
|
@Ole32Proxy()
|
|
def CoGetInterceptor(iidIntercepted, punkOuter, iid, ppv):
|
|
return CoGetInterceptor.ctypes_function(iidIntercepted, punkOuter, iid, ppv)
|
|
|
|
@Ole32Proxy()
|
|
def CLSIDFromProgID(lpszProgID, lpclsid):
|
|
return CLSIDFromProgID.ctypes_function(lpszProgID, lpclsid)
|
|
|
|
@Ole32Proxy()
|
|
def CoTaskMemFree(pv):
|
|
return CoTaskMemFree.ctypes_function(pv) |