sdlIoFromConstMem function iostream
Use this function to prepare a read-only memory buffer for use with SDL_IOStream.
This function sets up an SDL_IOStream struct based on a memory area of a certain size. It assumes the memory area is not writable.
Attempting to write to this SDL_IOStream stream will report an error without writing to the memory buffer.
This memory buffer is not copied by the SDL_IOStream; the pointer you provide must remain valid until you close the stream.
If you need to write to a memory buffer, you should use SDL_IOFromMem() with a writable buffer of memory instead.
The following properties will be set at creation time by SDL:
SDL_PROP_IOSTREAM_MEMORY_POINTER: this will be thememparameter that was passed to this function.SDL_PROP_IOSTREAM_MEMORY_SIZE_NUMBER: this will be thesizeparameter that was passed to this function.
Additionally, the following properties are recognized:
SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER: if this property is set to a non-NULL value it will be interpreted as a function of SDL_free_func type and called with the passedmempointer when closing the stream. By default it is unset, i.e., the memory will not be freed.
\param mem a pointer to a read-only buffer to feed an SDL_IOStream stream. \param size the buffer size, in bytes. \returns a pointer to a new SDL_IOStream structure or NULL on failure; call SDL_GetError() for more information.
\threadsafety It is safe to call this function from any thread.
\since This function is available since SDL 3.2.0.
\sa SDL_IOFromMem \sa SDL_CloseIO \sa SDL_ReadIO \sa SDL_SeekIO \sa SDL_TellIO
extern SDL_DECLSPEC SDL_IOStream * SDLCALL SDL_IOFromConstMem(const void *mem, size_t size)
Implementation
Pointer<SdlIoStream> sdlIoFromConstMem(Pointer<NativeType> mem, int size) {
final sdlIoFromConstMemLookupFunction = _libSdl
.lookupFunction<
Pointer<SdlIoStream> Function(Pointer<NativeType> mem, Uint32 size),
Pointer<SdlIoStream> Function(Pointer<NativeType> mem, int size)
>('SDL_IOFromConstMem');
return sdlIoFromConstMemLookupFunction(mem, size);
}