PyCObject
PyObject
represents an opaque value, useful for C extension modules who need to pass an opaque value (as a void*
pointer) through Python code to other C code. It is often used to make a C function pointer defined in one module available to other modules, so the regular import mechanism can be used to access C APIs defined in dynamically loaded modules.PyCObject_FromVoidPtr
(void* cobj, void (*destr)(void *))Return value: New reference.
Create a PyCObject
from the void *
cobj. The destr function
will be called when the object is reclaimed, unless it is NULL.
PyCObject_FromVoidPtrAndDesc
(void* cobj, void* desc, void (*destr)(void *, void *))Return value: New reference.
Create a PyCObject
from the void *
cobj. The destr
function will be called when the object is reclaimed. The desc argument can
be used to pass extra callback data for the destructor function.
PyCObject_AsVoidPtr
(PyObject* self)void *
that the PyCObject
self was created with.PyCObject_GetDesc
(PyObject* self)void *
that the PyCObject
self was created with.PyCObject_SetVoidPtr
(PyObject* self, void* cobj)PyCObject
must not have an associated destructor. Return true on success, false on failure.