Interface IBufferAllocator

ImageBuffer オブジェクトで使用されるメモリの割り当て方法をカスタマイズするための、バッファアロケータのインターフェースです。

Namespace: ic4
Assembly: ic4dotnet.dll

構文

public interface IBufferAllocator

解説

このインターフェースを実装したクラスのオブジェクトは、以下のライブラリ関数に渡すことができます。

メソッド

Allocate(ulong, ulong, out IntPtr, out object)

イメージバッファ用に、指定されたバイト数のメモリを割り当てます。

宣言

bool Allocate(ulong bufferSize, ulong alignment, out IntPtr buffer, out object tag)

パラメータ

名前 説明
ulong bufferSize メモリバッファのサイズ
ulong alignment 割り当て時に要求されるアライメント
IntPtr buffer メモリアドレスを受け取る出力パラメータ。関数によって設定されます。 メモリアドレスは alignment で割り切れる必要があります。
object tag イメージバッファの一部として保存される object への参照を受け取る出力パラメータ。 メモリ解放時に Free(IntPtr, object) に渡されます。

戻り値

説明
bool 割り当てに成功した場合は true、それ以外の場合は false

Free(IntPtr, object)

Allocate(ulong, ulong, out IntPtr, out object) の呼び出しによって正常に割り当てられたメモリブロックを解放します。

宣言

void Free(IntPtr buffer, object tag)

パラメータ

名前 説明
IntPtr buffer 割り当てられたバッファのメモリアドレス
object tag メモリ割り当て時の tag パラメータとして返された object