comtypes
comtypes copied to clipboard
A pure Python, lightweight COM client and server framework, based on the ctypes Python FFI package.
I'm trying to make a RPC service for calling my script which used **comtypes** package to create a pdf file from docx. When I call my script on the command...
Problems that arise when remote functions are defined in interfaces related to structured storage.
Some of methods in the interfaces generated by `GetModule` are based on remote-side information, which makes them uncallable from the local side. See also #604. ## `IStorage` ### [`OpenStream` and...
I noticed the following while investigating [structured storage](https://learn.microsoft.com/en-us/windows/win32/Stg/structured-storage-start-page) and [monikers](https://learn.microsoft.com/en-us/windows/win32/com/monikers) and verifying with the Python wrapper module for `msvidctl.dll`, which defines those interfaces. When retrieving the `FUNCDESC` that holds the...
Fix https://github.com/enthought/comtypes/issues/480#issuecomment-1565784242 Note that when building the dist (with ``python -m build --sdist``), it won't create a zip file anymore. It will be a tar.gz file. There is an issue...
Remove the dead code that performs an early return with `if bases == (object,)` in `_coclass_meta`.
Whether it’s a remnant of Python 2.x or a legacy from the early stages of this project, there is dead code as shown below. https://github.com/enthought/comtypes/blob/d80810b50eb642053b8dc1c3a2a4735bedf0a059/comtypes/_meta.py#L44-L62 If it can be confirmed...
Hello, `comtypes`ers, [Python 3.14 beta 1 is scheduled for release on May 6, 2025](https://peps.python.org/pep-0745/). We recognize that it's time to begin preparations to ensure that `comtypes` continues to function reliably...
Assigning `0x80020004` to `VARIANT.missing` may not be appropriate. https://github.com/enthought/comtypes/blob/6c1788afb7789b91959fb8ecb039538c90ca0754/comtypes/automation.py#L551-L556 https://github.com/enthought/comtypes/blob/2e94dbca2a579ac0a4b2f9388e5cdca7b113f480/comtypes/automation.py#L551-L553 The line is intended to assign `DISP_E_PARAMNOTFOUND` to a `VARIANT` field to create an instance for missing parameters. `0x80020004` is...
When creating Python wrapper modules for COM libraries, `comtypes` imports symbols specified in `__known_symbols__` from existing modules instead of generating them in the codebase. `__known_symbols__` was introduced in #360 to...
I was investigating the memory leak in #775 and came across this piece of code: https://github.com/enthought/comtypes/blob/ddb2a1cea112bfa0f3c3427cf6b2a036160151c9/comtypes/automation.py#L252-L283 It appears to be dead code since there's already an `elif` handling `int`: https://github.com/enthought/comtypes/blob/ddb2a1cea112bfa0f3c3427cf6b2a036160151c9/comtypes/automation.py#L249-L251...