次の方法で共有


IEnumMediaTypes::Next メソッド (strmif.h)

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

Next メソッドは、指定した数のメディアの種類を取得します。

構文

HRESULT Next(
  [in]  ULONG         cMediaTypes,
  [out] AM_MEDIA_TYPE **ppMediaTypes,
  [out] ULONG         *pcFetched
);

パラメーター

[in] cMediaTypes

取得するメディアの種類の数。

[out] ppMediaTypes

ポインターの配列のアドレス AM_MEDIA_TYPE 。 配列内の要素の数は、 cMediaTypes パラメーターで指定されます。

[out] pcFetched

ppMediaTypes で返されるメディアの種類の数を受け取ります。 cMediaTypes が 1 の場合、このパラメーターは NULL にすることができます

戻り値

次のいずれかの HRESULT 値を 返します。

リターン コード 説明
S_FALSE
要求された数のメディアの種類を取得しませんでした。
S_OK
正常終了しました。
E_INVALIDARG
引数が無効です。
E_POINTER
NULL ポインター引数。
VFW_E_ENUM_OUT_OF_SYNC
ピンの状態が変更され、列挙子と矛盾するようになりました。

注釈

呼び出し元は、ppMediaTypesでAM_MEDIA_TYPE ポインターの配列を渡します。 メソッドは、cMediaTypes と等しい構造体AM_MEDIA_TYPE数、または列挙に残っているメディアの種類の数のいずれか少ない方に割り当てます。 割り当てられた構造体の数は 、pcFetched で返されます。 DeleteMediaType 関数を呼び出して、各構造体を削除します。

メディアの種類のセットが変更されると、列挙子は所有ピンと矛盾します。 その場合、 メソッドは VFW_E_ENUM_OUT_OF_SYNCを返します。 列挙子に対する以前の呼び出しから取得したデータは無効である可能性があるため、破棄します。 IEnumMediaTypes::Reset メソッドを呼び出して列挙子を更新します。 その後、 Next メソッドを安全に呼び出すことができます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

こちらもご覧ください

メディアの種類の列挙

エラーコードと成功コード

IEnumMediaTypes インターフェイス