Pin プロパティ セット
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
pin プロパティ セットは、フィルター上のピンのピン カテゴリを返します。 カテゴリは、ピンを作成するときにフィルターによって設定されます。カテゴリは、ピンがこのピンによって配信または受信するデータの種類を示します。
Label | 値 |
---|---|
[プロパティ セット GUID] | AMPROPSETID_Pin |
プロパティ ID | 説明 |
---|---|
AMPROPERTY_PIN_CATEGORY | ピンのカテゴリを指定します。 |
DirectShow は、Uuids.h ヘッダー ファイルに次のピン カテゴリを定義します。
カテゴリ GUID | 説明 |
---|---|
PIN_CATEGORY_ANALOGVIDEOIN | アナログを受け取ってデジタル化するキャプチャ フィルタの入力ピン。 |
PIN_CATEGORY_CAPTURE | ピンをキャプチャします。 |
PIN_CATEGORY_CC | 21 行目からのクローズド キャプション データを提供するピン。 |
PIN_CATEGORY_EDS | 拡張データ サービスを提供するピン (21 行目、偶数フィールド)。 |
PIN_CATEGORY_NABTS | 北米の Videotext Standard データを提供するピン。 |
PIN_CATEGORY_PREVIEW | ピンのプレビュー。 |
PIN_CATEGORY_STILL | 静止画像を提供するピン。 静止画像ピンが接続される前に、フィルターのキャプチャ ピンを接続する必要があります。 |
PIN_CATEGORY_TELETEXT | テレテキストを提供するピン (クローズド キャプションバリアント)。 |
PIN_CATEGORY_TIMECODE | タイムコード データを提供するピン留め。 |
PIN_CATEGORY_VBI | 垂直ブランキング間隔データを提供するピン。 |
PIN_CATEGORY_VIDEOPORT | オーバーレイ ミキサーの入力ピン 0 に接続するビデオ出力ピン。 |
PIN_CATEGORY_VIDEOPORT_VBI | VBI Surface Allocator に接続するピン。ビデオ ポートが使用されているシナリオでクローズド キャプション オーバーレイなどに適切なビデオ メモリを割り当てるために必要な VBI サーフェス アロケーター フィルター。 PCI、IEEE 1394、USB シナリオでは、このフィルターは使用されません。 |
PINNAME_VIDEO_CC_CAPTURE | ハードウェアスライスクローズドキャプションピン |
このプロパティは読み取り専用です。
コード例
次のコードは、ピンがこのプロパティ セットをサポートしているかどうかをチェックする方法と、サポートされている場合はピン カテゴリを取得する方法を示しています。
HRESULT GetPinCategory(IPin *pPin, GUID *pPinCategory)
{
IKsPropertySet *pKs = NULL;
HRESULT hr = pPin->QueryInterface(IID_PPV_ARGS(&pKs));
if (FAILED(hr))
{
return hr;
}
// Try to retrieve the pin category.
DWORD cbReturned = 0;
hr = pKs->Get(AMPROPSETID_Pin, AMPROPERTY_PIN_CATEGORY, NULL, 0,
pPinCategory, sizeof(GUID), &cbReturned);
// If this succeeded, pPinCategory now contains the category GUID.
SafeRelease(&pKs);
return hr;
}
Note
この例では、 SafeRelease 関数を使用してインターフェイス ポインターを解放します。
関連トピック