次の方法で共有


CImageAllocator クラス

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

cimageallocator クラス階層

クラスは CImageAllocator 、GDI デバイスに依存しないビットマップ (DIB) を管理するアロケーターを実装します。 このクラスは 、CBaseAllocator クラスから派生します。 CImageSample クラスを使用して実装されるメディア サンプルを作成します。

アロケーターは 2 つの接続されたピンで共有されますが、接続内のフィルターの 1 つによって常に所有されます。 を使用 CImageAllocator するフィルターでは、アロケーターが単独で提供されたか、もう一方のフィルターによって提供されたかを追跡する必要があります。 アロケーターが単独で提供された場合、所有フィルターは、アロケーターからのすべてのメディア サンプルが CImageSample オブジェクトであるという事実に依存できます。 したがって、 CImageSample オブジェクトを使用して、DIBDATA 構造体に格納されている DIB に関する情報を取得できます。

所有フィルターは、メディアの種類が変更されるたびに NotifyMediaType を呼び出す必要があります。

保護されたメンバー変数 説明
m_pFilter 所有フィルターへのポインター。
m_pMediaType 現在のメディアの種類へのポインター。
プロテクト メソッド 説明
Alloc バッファーのメモリを割り当てます。
CheckSizes 現在のメディアの種類に対してアロケーター プロパティを確認します。
CreateDIB DIB を作成します。
CreateImageSample メディア サンプルを作成します。 仮想。
Free すべてのバッファー メモリを解放します。
パブリック メソッド 説明
CImageAllocator コンストラクター メソッド。
NotifyMediaType 現在のメディアの種類をオブジェクトに通知します。
IMemAllocator メソッド 説明
SetProperties 割り当てるバッファーの数と各バッファーのサイズを指定します。

要件

要件
ヘッダー
Winutil.h (include Streams.h)
ライブラリ
Strmbase.lib (小売ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

CDrawImage クラス