PickleBuffer 对象
*****************

Added in version 3.8.

"pickle.PickleBuffer" 对象包装了一个 提供缓冲区的对象 用于配合
"pickle" 模块进行带外数据传输。

PyTypeObject PyPickleBuffer_Type

   这个 "PyTypeObject" 的实例表示 Python pickle 缓冲区类型。这与
   Python 层级的 "pickle.PickleBuffer" 是同一对象。

int PyPickleBuffer_Check(PyObject *op)

   如果 *op* 是一个 pickle 缓冲区实例则返回真值。此函数总是会成功执行
   。

PyObject *PyPickleBuffer_FromObject(PyObject *obj)

   基于 *obj* 创建一个 pickle 缓冲区。

   如果 *obj* 不支持 缓冲区协议 则此函数执行将失败。

   成功时，返回一个新的 pickle 缓冲区实例。失败时，设置一个异常并返回
   "NULL"。

   等同于在 Python 中调用 "pickle.PickleBuffer" 并传入 *obj*。

const Py_buffer *PyPickleBuffer_GetBuffer(PyObject *picklebuf)

   获取一个指向 pickle 缓冲区所包装的底层 "Py_buffer" 的指针。

   只要 *picklebuf* 保持存活而未被释放则返回的指针就将有效。调用方不可
   修改或释放返回的 "Py_buffer"。如果 pickle 缓冲区被释放，则会引发
   "ValueError"。

   成功时，返回一个指向缓冲区视图的指针。失败时，设置一个异常并返回
   "NULL"。

int PyPickleBuffer_Release(PyObject *picklebuf)

   释放由 PickleBuffer 占用的底层缓冲区。

   成功时返回 "0"。失败时，设置一个异常并返回 "-1"。

   等同于在 Python 中调用 "pickle.PickleBuffer.release()"。
