2.7にバックポートされた PEP 3118をサポートするために、ライブラリ (Python 2.7 をサポートする) のクラスを拡張している最中です。
ドキュメントから、tp_as_bufferを指すようにフィールドを初期化する必要がありますPyBufferProcs。ただし、2.7 のドキュメントによると、この構造体の説明には古いバッファ プロトコルのエントリしか含まれていません。ソースから、新しいプロトコル (および)の追加エントリがいくつかあることを収集し
ます。 PyBufferProcsbf_getbufferbf_releasebuffer
疑問は残ります:
これらの新しいエントリが有効であることを Python に伝えるために何か特別なことをする必要がありますか?
古いプロトコルのエントリを入力する必要がありますか? (たとえば、2.7 のドキュメントには、
bf_getsegcountnull ではない可能性があると記載されています。ただし、PEP 3118 をサポートしている場合は、このエントリを使用しないでください。)