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

IWMSInternalAdminNetSource

COM
IID8bb23e5f-d127-4afb-8d02-ae5b66d54c78継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IWMSInternalAdminNetSource インターフェースは、キャッシュされたパスワードの管理とプロキシサーバーの検索を行います。このインターフェースのインスタンスへのポインターを取得するには、INSNetSourceCreator::GetNetSourceAdminInterface で取得した IDispatch インターフェースの QueryInterface メソッドを呼び出します。

解説(Remarks)

IWMSInternalAdminNetSource インターフェースのほとんどのメソッドは、IWMSInternalAdminNetSource2 および IWMSInternalAdminNetSource3 で更新されています。これらの新しいインターフェースをサポートするバージョンの Windows Media Format SDK を使用してアプリケーションを開発している場合は、それらを使用してください。

メソッド 11

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

vtbl 3 HRESULT Initialize(IUnknown* pSharedNamespace, IUnknown* pNamespaceNode, INSNetSourceCreator* pNetSourceCreator, BOOL fEmbeddedInServer)
pSharedNamespaceIUnknown*in共有名前空間オブジェクトのIUnknownへのポインタ。
pNamespaceNodeIUnknown*in名前空間ノードを表すIUnknownへのポインタ。
pNetSourceCreatorINSNetSourceCreator*in親となるINSNetSourceCreatorへのポインタ。
fEmbeddedInServerBOOLinサーバー内に組み込まれている場合にTRUEを指定する。
vtbl 4 HRESULT GetNetSourceCreator(INSNetSourceCreator** ppNetSourceCreator)
ppNetSourceCreatorINSNetSourceCreator**out関連付けられたINSNetSourceCreatorを受け取る出力ポインタ。
vtbl 5 HRESULT SetCredentials(LPWSTR bstrRealm, LPWSTR bstrName, LPWSTR bstrPassword, BOOL fPersist, BOOL fConfirmedGood)

SetCredentials メソッドは、パスワードをキャッシュに追加します。

bstrRealmLPWSTRinレルム名を含む文字列。レルム名は、ファイルへのアクセスレベルを区別するためにサーバーによって提供されます。すべてのサーバーがレルム名を持つわけではなく、その場合は DNS 名を使用する必要があります。
bstrNameLPWSTRinユーザー名を含む文字列。
bstrPasswordLPWSTRinパスワードを含む文字列。
fPersistBOOLinこれらの資格情報を永続的に保存する場合に True となるブール値。False を設定すると、資格情報は現在のセッションの間だけ保存されます。
fConfirmedGoodBOOLinサーバーがパスワードを正しいものとして確認済みの場合に True となるブール値。サーバーからの検証を受け取る前にパスワードをキャッシュすることもでき、その場合はこれを False に設定する必要があります。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT GetCredentials(LPWSTR bstrRealm, LPWSTR* pbstrName, LPWSTR* pbstrPassword, BOOL* pfConfirmedGood)

GetCredentials メソッドは、キャッシュされたパスワードを取得します。

bstrRealmLPWSTRinレルム名を含む文字列。レルム名は、ファイルへのアクセスレベルを区別するためにサーバーによって提供されます。すべてのサーバーがレルム名を持つわけではなく、その場合は DNS 名が使用されます。
pbstrNameLPWSTR*outユーザー名を含む文字列へのポインター。
pbstrPasswordLPWSTR*outパスワードを含む文字列へのポインター。
pfConfirmedGoodBOOL*outサーバーによって正しいものとして確認された後にパスワードがキャッシュされた場合に True に設定されるブール値へのポインター。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT DeleteCredentials(LPWSTR bstrRealm)

DeleteCredentials メソッドは、パスワードをキャッシュから削除します。

bstrRealmLPWSTRinレルム名を含む文字列。レルム名は、ファイルへのアクセスレベルを区別するためにサーバーによって提供されます。すべてのサーバーがレルム名を持つわけではなく、その場合は DNS 名が使用されます。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT GetCredentialFlags(DWORD* lpdwFlags)

GetCredentialFlags メソッドは、IWMSInternalAdminNetSource::SetCredentialFlags と組み合わせて使用し、ユーザーが既定の動作としてパスワードの保存を望んでいるかどうかを判断できます。このメソッドは、以前に設定されたフラグを取得します。

lpdwFlagsDWORD*out資格情報フラグを含む DWORD。現時点でサポートされている唯一のフラグは 0x1 で、これはユーザーがパスワードを自動的に保存することを望むという設定を表明したことを示します。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。

vtbl 9 HRESULT SetCredentialFlags(DWORD dwFlags)

SetCredentialFlags メソッドは、パスワードの自動キャッシュに関するユーザー設定を設定するために使用します。

dwFlagsDWORDin資格情報フラグを含む DWORD。現時点でサポートされている唯一のフラグは 0x1 で、これはユーザーがパスワードを自動的に保存することを望むという設定を表明したことを示します。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。

vtbl 10 HRESULT FindProxyForURL(LPWSTR bstrProtocol, LPWSTR bstrHost, BOOL* pfProxyEnabled, LPWSTR* pbstrProxyServer, DWORD* pdwProxyPort, DWORD* pdwProxyContext)

FindProxyForURL メソッドは、クライアントが使用するプロキシサーバー名とポートを検索します。

bstrProtocolLPWSTRinプロキシサーバーを検索する対象のプロトコルを含む文字列。通常は "http" または "mms" のいずれかです。
bstrHostLPWSTRin通信したいサーバーの DNS 名または IP アドレスを含む文字列。サーバーによっては、プロキシが異なる場合があります。
pfProxyEnabledBOOL*out指定されたプロトコルとホストに適用されるプロキシをユーザーが有効にしている場合に True となるブール値へのポインター。
pbstrProxyServerLPWSTR*outプロキシサーバーの DNS 名を含む文字列へのポインター。
pdwProxyPortDWORD*outプロキシポート番号を含む DWORD へのポインター。
pdwProxyContextDWORD*inout

返されるプロキシサーバーを表す DWORDFindProxyForURL を複数回呼び出すことで、構成されているすべてのプロキシサーバーを検索できます。最初の呼び出しでは、コンテキストをゼロに設定します。呼び出しから戻ると、情報が返されたプロキシを表す値にコンテキストが設定されます。次の呼び出しでは、最初の呼び出しで取得したコンテキスト値をコンテキストに設定します。呼び出しが S_FALSE を返すまで、このプロセスを続けます。

このメソッドには、プロキシサーバーの検索方法を決定する内部アルゴリズムがあります。コンテキストを 3 に設定することで、これを上書きし、クライアントの Web ブラウザーで設定されたプロキシサーバーを検索させることができます。

戻り値

このメソッドは HRESULT を返します。指定可能な値には、以下の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドが成功しました。
S_FALSE
このメソッドを複数回呼び出して構成済みのすべてのプロキシを検索する場合、構成済みのプロキシサーバーがこれ以上存在しないときにこの値が返されます。

解説(Remarks)

FindProxyForURL の呼び出しを終えたら、IWMSInternalAdminNetSource::ShutdownProxyContext を呼び出して、使用された内部リソースを解放する必要があります。

vtbl 11 HRESULT RegisterProxyFailure(HRESULT hrParam, DWORD dwProxyContext)

プロキシの失敗を登録します。

hrParamHRESULTin失敗の HRESULT コード。
dwProxyContextDWORDinプロキシサーバーを表します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 12 HRESULT ShutdownProxyContext(DWORD dwProxyContext)

ShutdownProxyContext メソッドは、IWMSInternalAdminNetSource::FindProxyForURL によって使用された内部リソースを解放します。メモリリークを回避するため、FindProxyForURL の呼び出しを終えた後にこのメソッドを呼び出す必要があります。

dwProxyContextDWORDinプロキシコンテキストを含む DWORDFindProxyForURL から最後に受け取ったプロキシコンテキストを設定します。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。

vtbl 13 HRESULT IsUsingIE(DWORD dwProxyContext, BOOL* pfIsUsingIE)
dwProxyContextDWORDin判定対象のプロキシコンテキスト値。
pfIsUsingIEBOOL*outInternet Explorerの設定を使用中ならTRUEを受け取るBOOL出力ポインタ。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWMSInternalAdminNetSource "{8BB23E5F-D127-4AFB-8D02-AE5B66D54C78}"
#usecom global IWMSInternalAdminNetSource IID_IWMSInternalAdminNetSource "{}"
#comfunc global IWMSInternalAdminNetSource_Initialize            3 sptr,sptr,sptr,int
#comfunc global IWMSInternalAdminNetSource_GetNetSourceCreator   4 sptr
#comfunc global IWMSInternalAdminNetSource_SetCredentials        5 wstr,wstr,wstr,int,int
#comfunc global IWMSInternalAdminNetSource_GetCredentials        6 wstr,var,var,var
#comfunc global IWMSInternalAdminNetSource_DeleteCredentials     7 wstr
#comfunc global IWMSInternalAdminNetSource_GetCredentialFlags    8 var
#comfunc global IWMSInternalAdminNetSource_SetCredentialFlags    9 int
#comfunc global IWMSInternalAdminNetSource_FindProxyForURL       10 wstr,wstr,var,var,var,var
#comfunc global IWMSInternalAdminNetSource_RegisterProxyFailure  11 int,int
#comfunc global IWMSInternalAdminNetSource_ShutdownProxyContext  12 int
#comfunc global IWMSInternalAdminNetSource_IsUsingIE             13 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。