CObjects
- type PyCObject
- PyObject のこのサブタイプは不透明な値を表し、Pythonコードを介して他のCコードに不透明な値を(
void*
ポインターとして)渡す必要があるC拡張モジュールに役立ちます。 これは、あるモジュールで定義されたC関数ポインターを他のモジュールで使用できるようにするためによく使用されるため、通常のインポートメカニズムを使用して、動的にロードされたモジュールで定義されたCAPIにアクセスできます。
- int PyCObject_Check(PyObject *p)
- 引数が PyCObject の場合はtrueを返します。
- PyObject *PyCObject_FromVoidPtr(void *cobj, void (*destr)(void*))
void *
cobj から PyCObject を作成します。 destr 関数は、 NULL でない限り、オブジェクトが再利用されるときに呼び出されます。
- PyObject *PyCObject_FromVoidPtrAndDesc(void *cobj, void *desc, void (*destr)(void*, void*))
void *
cobj から PyCObject を作成します。 destr 関数は、オブジェクトが再利用されるときに呼び出されます。 desc 引数を使用して、デストラクタ関数の追加のコールバックデータを渡すことができます。
- void *PyCObject_AsVoidPtr(PyObject *self)
- PyCObject self が作成されたオブジェクト
void *
を返します。
- void *PyCObject_GetDesc(PyObject *self)
- PyCObject self が作成された説明
void *
を返します。
- int PyCObject_SetVoidPtr(PyObject *self, void *cobj)
- self 内のvoidポインタを cobj に設定します。 PyCObject にはデストラクタが関連付けられていてはなりません。 成功した場合はtrueを返し、失敗した場合はfalseを返します。