Win32 API 日本語リファレンス
ホームMedia.WindowsMediaFormat › IWMReaderNetworkConfig2

IWMReaderNetworkConfig2

COM
IIDd979a853-042b-4050-8387-c939db22013f継承元IWMReaderNetworkConfig自前メソッド開始 vtbl36

公式ドキュメント

IWMReaderNetworkConfig2 インターフェイスは、高度なネットワーク機能を提供します。IWMReaderNetworkConfig2 インターフェイスは、すべてのリーダーオブジェクトに対して存在します。

メソッド 13

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 36 HRESULT GetEnableContentCaching(BOOL* pfEnableContentCaching)

GetEnableContentCaching メソッドは、コンテンツキャッシュが有効かどうかを照会します。コンテンツキャッシュが有効な場合、ストリーミングコンテンツをローカルにキャッシュできます。

pfEnableContentCachingBOOL*outコンテンツキャッシュが有効な場合に True となる Boolean 値へのポインター。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
NULL ポインター引数です。

解説(Remarks)

このメソッドは、Windows Media Services を実行しているサーバーからストリーミングされているコンテンツにのみ適用されます。

vtbl 37 HRESULT SetEnableContentCaching(BOOL fEnableContentCaching)

SetEnableContentCaching メソッドは、コンテンツキャッシュを有効または無効にします。コンテンツキャッシュが有効な場合、ストリーミングされているコンテンツをローカルにキャッシュできます。

fEnableContentCachingBOOLinコンテンツキャッシュを有効にする場合は True となる Boolean 値。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドは、Windows Media Services を実行しているサーバーからストリーミングされているコンテンツにのみ適用されます。

vtbl 38 HRESULT GetEnableFastCache(BOOL* pfEnableFastCache)

GetEnableFastCache メソッドは、Fast Cache ストリーミングが有効かどうかを照会します。Fast Cache ストリーミングを使用すると、帯域幅が許す場合に、ネットワークコンテンツを再生速度よりも速くストリーミングできます。

pfEnableFastCacheBOOL*outBoolean 値を受け取る変数へのポインター。Fast Cache ストリーミングが有効な場合は True、そうでない場合は False になります。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
NULL ポインター引数です。

解説(Remarks)

この機能を使用するには、コンテンツキャッシュも有効になっている必要があります。Fast Cache は、Windows Media Services を実行しているサーバーからストリーミングされているコンテンツにのみ適用されます。

vtbl 39 HRESULT SetEnableFastCache(BOOL fEnableFastCache)

SetEnableFastCache メソッドは、Fast Cache ストリーミングを有効または無効にします。Fast Cache ストリーミングを使用すると、帯域幅が許す場合に、ネットワークコンテンツを再生速度よりも速くストリーミングできます。

fEnableFastCacheBOOLinFast Cache ストリーミングを有効にするか無効にするかを指定します。値が True の場合は Fast Cache を有効にし、False の場合は無効にします。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドを使用すると、サーバーも対応している場合に、リーダーが Fast Cache ストリーミングを使用できるようになります。この機能は、Windows Media Services を実行しているサーバーからコンテンツをストリーミングする場合にのみサポートされます。詳細については、クライアントからの Fast Cache ストリーミングの有効化を参照してください。

このメソッドで設定された Fast Cache の状態にかかわらず、ユーザーは URL の末尾に "?WMCache=1" を追加することでこの機能を有効にできます。ただし、IWMReaderNetworkconfig2::SetEnableContentCaching の呼び出しによってキャッシュが有効になっていない限り、Fast Cache はまったく有効化できません。

vtbl 40 HRESULT GetAcceleratedStreamingDuration(ULONGLONG* pcnsAccelDuration)

GetAcceleratedStreamingDuration メソッドは、現在の高速化ストリーミング期間を取得します。

pcnsAccelDurationULONGLONG*out高速化ストリーミング期間を 100 ナノ秒単位で受け取る QWORD へのポインター。これは、コンテンツの先頭で高速なレートでストリーミングされるデータ量です。既定値はバッファリング期間の 2 倍です。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
NULL ポインター引数です。

解説(Remarks)

Fast Start を使用する場合、Windows Media Services を実行しているサーバーは、コンテンツの先頭の一部のデータを、コンテンツのビットレートで指定された速度よりも速いレートで送信します。

vtbl 41 HRESULT SetAcceleratedStreamingDuration(ULONGLONG cnsAccelDuration)

SetAcceleratedStreamingDuration メソッドは、高速化ストリーミング期間を設定します。この期間は、Windows Media Services の Fast Start 機能に適用されます。Fast Start を使用すると、長い初期バッファリングを待たずにコンテンツをすばやく再生できます。

cnsAccelDurationULONGLONGin高速化ストリーミング期間を 100 ナノ秒単位で指定します。最大値は 1,200,000,000 です。これは、コンテンツの先頭で高速なレートでストリーミングされるデータ量です。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Fast Start を使用する場合、Windows Media Services を実行しているサーバーは、コンテンツの先頭の一部のデータを、コンテンツのビットレートで指定された速度よりも速いレートで送信します。

vtbl 42 HRESULT GetAutoReconnectLimit(DWORD* pdwAutoReconnectLimit)

GetAutoReconnectLimit メソッドは、予期しない切断が発生した場合にリーダーがサーバーへの再接続を試みる最大回数を取得します。

pdwAutoReconnectLimitDWORD*out自動再接続の上限回数を格納する DWORD へのポインター。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
NULL ポインター引数です。
vtbl 43 HRESULT SetAutoReconnectLimit(DWORD dwAutoReconnectLimit)

SetAutoReconnectLimit メソッドは、予期しない切断が発生した場合にリーダーがサーバーへの再接続を試みる最大回数を設定します。

dwAutoReconnectLimitDWORDinリーダーオブジェクトが再接続を試みる最大回数を指定します。自動再接続を無効にするには、この値を 0 に設定します。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドは、Fast Reconnect 機能を構成します。Fast Reconnect を使用すると、リーダーオブジェクトが接続を失った場合に自動的にサーバーへ再接続できます。可能な場合、再生はストリームの同じ位置から再開されます。その精度は、ソースファイルにインデックスが付けられているかどうかに依存する場合があります。ライブコンテンツの場合、ストリームに欠落が生じることがあります。

リーダーは、中断が予期しないものである場合にのみ再接続を試みます。たとえば、認証の失敗によってサーバーがアクセスを拒否した場合、クライアントの非アクティブによってサーバーが接続を終了した場合、サーバー管理者が接続を終了した場合などには、再接続を試みません。

このメソッドは、URL に WMReconnect 修飾子を設定することと同等です。例:

mms://MyServer/MyVideo.wmv?WMReconnect=5

vtbl 44 HRESULT GetEnableResends(BOOL* pfEnableResends)

GetEnableResends メソッドは、再送信が有効かどうかを確認します。

pfEnableResendsBOOL*out再送信が有効な場合に True に設定される Boolean 値へのポインター。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
NULL ポインター引数です。

解説(Remarks)

この機能は、MMSU または RTSPU プロトコルを使用して Windows Media Services を実行しているサーバーからストリーミングされるコンテンツに対してのみ利用できます。

vtbl 45 HRESULT SetEnableResends(BOOL fEnableResends)

SetEnableResends メソッドは、再送信を有効または無効にします。

fEnableResendsBOOLin再送信を有効にする場合に True となる Boolean 値へのポインター。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。

解説(Remarks)

この機能は、MMSU または RTSPU プロトコルを使用して Windows Media Services を実行しているサーバーからストリーミングされるコンテンツに対してのみ利用できます。

vtbl 46 HRESULT GetEnableThinning(BOOL* pfEnableThinning)

GetEnableThinning メソッドは、Intelligent Streaming が有効かどうかを確認します。Intelligent Streaming は、リーダーとストリーミングサーバーとの間の通信であり、利用可能な帯域幅に基づいてサーバーが送信するコンテンツを変更できるようにします。

pfEnableThinningBOOL*outBoolean 値を受け取る変数へのポインター。間引き (thinning) が有効な場合は TRUE、無効な場合は FALSE になります。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
NULL ポインター引数です。

解説(Remarks)

Intelligent Streaming が有効な場合、リーダーは帯域幅が不足すると、次のいずれかの手法を使用してビットレートを下げるようサーバーに要求することで対応します。ある手法で問題が解決しない場合、リーダーは次の手法を試みます。

Intelligent Streaming が pfEnableThinningFALSE に設定して無効にされている場合、リーダーは帯域幅の補正を一切要求しません。

この機能は、Windows Media Services を実行しているサーバーからストリーミングされるコンテンツにのみ適用されます。

vtbl 47 HRESULT SetEnableThinning(BOOL fEnableThinning)

SetEnableThinning メソッドは、Intelligent Streaming を有効または無効にします。Intelligent Streaming は、リーダーとストリーミングサーバーとの間の通信であり、利用可能な帯域幅に基づいてサーバーが送信するコンテンツを変更できるようにします。

fEnableThinningBOOLin間引き (thinning) を有効にする場合は True、無効にする場合は False を指定します。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Intelligent Streaming が有効な場合、リーダーは帯域幅が不足すると、次のいずれかの手法を使用してビットレートを下げるようサーバーに要求することで対応します。ある手法で問題が解決しない場合、リーダーは次の手法を試みます。

Intelligent Streaming が pfEnableThinningFALSE に設定して無効にされている場合、リーダーは帯域幅の補正を一切要求しません。

この機能は、Windows Media Services を実行しているサーバーからストリーミングされるコンテンツにのみ適用されます。

このメソッドは、URL に WMThinning 修飾子を指定することと同等です。修飾子 WMThinning=1 は間引きを有効にし、WMThinning=0 は無効にします。例:

mms://MyServer/MyVideo.wmv?WMThinning=1

WMThinning URL 修飾子を使用すると、このメソッドで指定された設定が上書きされます。

vtbl 48 HRESULT GetMaxNetPacketSize(DWORD* pdwMaxNetPacketSize)

GetMaxNetPacketSize メソッドは、ネットワーク経由でストリーミングされるパケットの最大サイズを取得します。

pdwMaxNetPacketSizeDWORD*outネットワークパケットの最大サイズをバイト単位で格納する DWORD へのポインター。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表の値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
NULL ポインター引数です。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWMReaderNetworkConfig2 "{D979A853-042B-4050-8387-C939DB22013F}"
#usecom global IWMReaderNetworkConfig2 IID_IWMReaderNetworkConfig2 "{}"
#comfunc global IWMReaderNetworkConfig2_GetEnableContentCaching          36 var
#comfunc global IWMReaderNetworkConfig2_SetEnableContentCaching          37 int
#comfunc global IWMReaderNetworkConfig2_GetEnableFastCache               38 var
#comfunc global IWMReaderNetworkConfig2_SetEnableFastCache               39 int
#comfunc global IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration  40 var
#comfunc global IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration  41 int64
#comfunc global IWMReaderNetworkConfig2_GetAutoReconnectLimit            42 var
#comfunc global IWMReaderNetworkConfig2_SetAutoReconnectLimit            43 int
#comfunc global IWMReaderNetworkConfig2_GetEnableResends                 44 var
#comfunc global IWMReaderNetworkConfig2_SetEnableResends                 45 int
#comfunc global IWMReaderNetworkConfig2_GetEnableThinning                46 var
#comfunc global IWMReaderNetworkConfig2_SetEnableThinning                47 int
#comfunc global IWMReaderNetworkConfig2_GetMaxNetPacketSize              48 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。