Grabber::newMemBufferCollection Method [非推奨]
新しいメモリバッファコレクションを作成します。
構文
tMemBufferCollectionPtr newMemBufferCollection( DWORD count = 1 ) const;
tMemBufferCollectionPtr newMemBufferCollection( SIZE size, tColorformatEnum colorformat,
DWORD count = 1 ) const;
tMemBufferCollectionPtr newMemBufferCollection( SIZE size, tColorformatEnum colorformat,
DWORD buffersize, BYTE* buffers[], DWORD count ) const;
tMemBufferCollectionPtr newMemBufferCollection( DWORD buffersize, BYTE* buffers [], DWORD count ) const;
パラメータ | 説明 |
---|---|
size | コレクション内に格納されるフレームのサイズを指定します。 |
count | コレクション内に格納されるフレーム数を指定します。値は最低で1となります。 |
colorformat | コレクション内に格納されるフレームのカラーフォーマットを指定します。 |
buffers | ユーザーが割り当てるバッファへのポインタの配列です。 |
buffersize | ユーザーが割り当てるシングルバッファのサイズです。 |
備考
このメソッドは新しいMemBufferCollectionクラスライブラリリファレンス>クラス>MemBufferCollectionを作成します。
countが0の場合、エラーが生成されます。
引数としてcountの値だけを与えた場合、現在のデバイスのセッティングに合わせたMemBufferCollectionクラスライブラリリファレンス>クラス>MemBufferCollectionを作成します。
そこにはcount で指定した数のMemBufferクラスライブラリリファレンス>クラス>MemBufferが含まれます。必要なメモリがこのメソッドによって割り当てられます。
size, colorformat, countのパラメータをコンストラクタに渡すと、それらの値に対応したMemBufferCollectionが作成され、そのバッファ用のメモリが割り当てられます。
ポインタの配列と各バッファサイズの情報をコンストラクタに渡すことで、以前にアプリケーション内のどこかに割り当てたMemBufferCollectionクラスライブラリリファレンス>クラス>MemBufferCollectionへバッファを与えることも可能です。ただしMemBufferCollectionクラスライブラリリファレンス>クラス>MemBufferCollectionへの処理はkernel-modeにて行われるため慎重に行う必要がございます。間違ったbuffersizeの情報をコンストラクタに送った場合、システムはほぼ間違いなくクラッシュしてしまします。
インフォメーション
このメソッドはIC Imaging Control 3.0より非推奨となりました
FrameGrabberSinkクラスライブラリリファレンス>クラス>FrameGrabberSinkの代わりにFrameHandlerSinkクラスライブラリリファレンス>クラス>FrameHandlerSinkを使用し、FrameHandlerSink::createクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink::create Method か MemBufferCollection::createクラスライブラリリファレンス>クラス>MemBufferCollection>MemBufferCollection::create を使って MemBufferCollectionクラスライブラリリファレンス>クラス>MemBufferCollectionを作成してください。