Are there any use cases for `DllCanUnloadNow` and `DllGetClassObject`?
In the discussions in https://github.com/python/cpython/pull/127210 and https://github.com/python/cpython/pull/127369, it was noted that the Python standard library's ctypes functions ctypes.DllCanUnloadNow and ctypes.DllGetClassObject depend on functions of the same name in comtypes.server.inprocserver (DllCanUnloadNow and DllGetClassObject).
Eventually, these functions might either be redesigned to remove the dependency on comtypes or be deprecated and removed from ctypes altogether after a few years.
Users currently relying on these ctypes APIs might need to switch to using the equivalent APIs provided by comtypes.
However, I have never directly called these functions (neither in ctypes nor in comtypes), so I am not aware of the use cases or expected behaviors associated with them.
To help with adding tests and providing proper migration guidance, I encourage anyone familiar with the use cases of these APIs to share their insights by commenting on this issue.
@bennyrowland
As you mentioned in #565, you are using this package to create COM servers:
for making several local servers to provide plugins for another application
In that case, I think that ctypes.DllCanUnloadNow and ctypes.DllGetClassObject might be appropriately hooked as needed.
It would be helpful if you could share how the hooks for DllCanUnloadNow and DllGetClassObject have been beneficial (or not) to your project.
And please join the discussion at https://github.com/python/cpython/pull/127369 if possible.