CImagePalette.PreparePalette メソッド
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
メソッドは PreparePalette
、所有フィルターのメディアの種類に基づいてパレットを設定します。
構文
HRESULT PreparePalette(
const CMediaType *pmtNew,
const CMediaType *pmtOld,
LPSTR szDevice
);
パラメーター
-
pmtNew
-
新しいメディアの種類へのポインター。 フォーマット ブロックは VIDEOINFOHEADER 構造体である必要があります。
-
pmtOld
-
古いメディアの種類へのポインター。 メディアの種類を初めて設定する場合、このパラメーターには、書式ブロックのない空の型を指定できます。 それ以外の場合、フォーマット ブロックは VIDEOINFOHEADER 構造体である必要があります。
-
szDevice
-
GDI EnumDisplayDevices 関数によって返される、表示デバイスの名前を含む文字列へのポインター。 メインディスプレイ デバイスを使用するには、このパラメーターを NULL に設定します。
戻り値
パレットが更新された場合はS_OKを返し、パレットが変更されなかった場合はS_FALSEを返します。
解説
パレットを更新する必要がある場合、このメソッドは次のアクションを実行します。
- CImagePalette::MakePalette を呼び出して、新しい論理パレットを作成します。
- フィルター グラフ マネージャーに EC_PALETTE_CHANGED イベントを送信します。
- CBaseWindow オブジェクトで CBaseWindow::SetPalette を呼び出します。
- CDrawImage オブジェクトで CDrawImage::IncrementPaletteVersion を呼び出します。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|