[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
クラスは 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 | 割り当てるバッファーの数と各バッファーのサイズを指定します。 |
要件
| 要件 | 値 |
|---|---|
| ヘッダー |
|
| ライブラリ |
|