Протокол буфера¶Buffer Protocol
- int PyObject_AsCharBuffer(PyObject *obj, const char **buffer, Py_ssize_t *buffer_len)¶
- Возвращает указатель на область памяти только для чтения, пригодную для ввода на основе символов. Аргумент obj должен поддерживать односегментный символьный буферный интерфейс. В случае успеха возвращает 0, устанавливает buffer на адрес памяти и buffer_len на длину буфера. В случае ошибки возвращает -1 и устанавливает TypeError.
- int PyObject_AsReadBuffer(PyObject *obj, const void **buffer, Py_ssize_t *buffer_len)¶
- Возвращает указатель на область памяти только для чтения, содержащую произвольные данные. Аргумент obj должен поддерживать односегментный читаемый буферный интерфейс. В случае успеха возвращает 0, устанавливает buffer на адрес памяти и buffer_len на длину буфера. В случае ошибки возвращает -1 и устанавливает TypeError.
- int PyObject_CheckReadBuffer(PyObject *o)¶
- Возвращает 1, если o поддерживает интерфейс односегментного читаемого буфера. В противном случае возвращает 0.
- int PyObject_AsWriteBuffer(PyObject *obj, void **buffer, Py_ssize_t *buffer_len)¶
- Возвращает указатель на область памяти для записи. Аргумент obj должен поддерживать односегментный символьный буферный интерфейс. В случае успеха возвращает 0, устанавливает buffer на адрес памяти и buffer_len на длину буфера. В случае ошибки возвращает -1 и устанавливает TypeError.