mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
gh-127255: Make CopyComPointer
public and add to ctypes
doc. (GH-127275)
This commit is contained in:
parent
979bf2489d
commit
412e11fe6e
5 changed files with 26 additions and 4 deletions
|
@ -1949,6 +1949,24 @@ Utility functions
|
|||
It behaves similar to ``pointer(obj)``, but the construction is a lot faster.
|
||||
|
||||
|
||||
.. function:: CopyComPointer(src, dst)
|
||||
|
||||
Copies a COM pointer from *src* to *dst* and returns the Windows specific
|
||||
:c:type:`!HRESULT` value.
|
||||
|
||||
If *src* is not ``NULL``, its ``AddRef`` method is called, incrementing the
|
||||
reference count.
|
||||
|
||||
In contrast, the reference count of *dst* will not be decremented before
|
||||
assigning the new value. Unless *dst* is ``NULL``, the caller is responsible
|
||||
for decrementing the reference count by calling its ``Release`` method when
|
||||
necessary.
|
||||
|
||||
.. availability:: Windows
|
||||
|
||||
.. versionadded:: next
|
||||
|
||||
|
||||
.. function:: cast(obj, type)
|
||||
|
||||
This function is similar to the cast operator in C. It returns a new instance
|
||||
|
|
|
@ -313,9 +313,12 @@ ctypes
|
|||
to help match a non-default ABI.
|
||||
(Contributed by Petr Viktorin in :gh:`97702`.)
|
||||
|
||||
* The :exc:`~ctypes.COMError` exception is now public.
|
||||
* On Windows, the :exc:`~ctypes.COMError` exception is now public.
|
||||
(Contributed by Jun Komoda in :gh:`126686`.)
|
||||
|
||||
* On Windows, the :func:`~ctypes.CopyComPointer` function is now public.
|
||||
(Contributed by Jun Komoda in :gh:`127275`.)
|
||||
|
||||
datetime
|
||||
--------
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ if __version__ != _ctypes_version:
|
|||
raise Exception("Version number mismatch", __version__, _ctypes_version)
|
||||
|
||||
if _os.name == "nt":
|
||||
from _ctypes import COMError, FormatError
|
||||
from _ctypes import COMError, CopyComPointer, FormatError
|
||||
|
||||
DEFAULT_MODE = RTLD_LOCAL
|
||||
if _os.name == "posix" and _sys.platform == "darwin":
|
||||
|
|
|
@ -9,8 +9,7 @@ if sys.platform != "win32":
|
|||
raise unittest.SkipTest("Windows-specific test")
|
||||
|
||||
|
||||
from _ctypes import COMError, CopyComPointer
|
||||
from ctypes import HRESULT
|
||||
from ctypes import COMError, CopyComPointer, HRESULT
|
||||
|
||||
|
||||
COINIT_APARTMENTTHREADED = 0x2
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
The :func:`~ctypes.CopyComPointer` function is now public.
|
||||
Previously, this was private and only available in ``_ctypes``.
|
Loading…
Add table
Add a link
Reference in a new issue