IWMSInternalAdminNetSource
COM公式ドキュメント
IWMSInternalAdminNetSource インターフェースは、キャッシュされたパスワードの管理とプロキシサーバーの検索を行います。このインターフェースのインスタンスへのポインターを取得するには、INSNetSourceCreator::GetNetSourceAdminInterface で取得した IDispatch インターフェースの QueryInterface メソッドを呼び出します。
解説(Remarks)
IWMSInternalAdminNetSource インターフェースのほとんどのメソッドは、IWMSInternalAdminNetSource2 および IWMSInternalAdminNetSource3 で更新されています。これらの新しいインターフェースをサポートするバージョンの Windows Media Format SDK を使用してアプリケーションを開発している場合は、それらを使用してください。
メソッド 11
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pSharedNamespace | IUnknown* | in | 共有名前空間オブジェクトのIUnknownへのポインタ。 |
| pNamespaceNode | IUnknown* | in | 名前空間ノードを表すIUnknownへのポインタ。 |
| pNetSourceCreator | INSNetSourceCreator* | in | 親となるINSNetSourceCreatorへのポインタ。 |
| fEmbeddedInServer | BOOL | in | サーバー内に組み込まれている場合にTRUEを指定する。 |
| ppNetSourceCreator | INSNetSourceCreator** | out | 関連付けられたINSNetSourceCreatorを受け取る出力ポインタ。 |
SetCredentials メソッドは、パスワードをキャッシュに追加します。
| bstrRealm | LPWSTR | in | レルム名を含む文字列。レルム名は、ファイルへのアクセスレベルを区別するためにサーバーによって提供されます。すべてのサーバーがレルム名を持つわけではなく、その場合は DNS 名を使用する必要があります。 |
| bstrName | LPWSTR | in | ユーザー名を含む文字列。 |
| bstrPassword | LPWSTR | in | パスワードを含む文字列。 |
| fPersist | BOOL | in | これらの資格情報を永続的に保存する場合に True となるブール値。False を設定すると、資格情報は現在のセッションの間だけ保存されます。 |
| fConfirmedGood | BOOL | in | サーバーがパスワードを正しいものとして確認済みの場合に True となるブール値。サーバーからの検証を受け取る前にパスワードをキャッシュすることもでき、その場合はこれを False に設定する必要があります。 |
戻り値
メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
GetCredentials メソッドは、キャッシュされたパスワードを取得します。
| bstrRealm | LPWSTR | in | レルム名を含む文字列。レルム名は、ファイルへのアクセスレベルを区別するためにサーバーによって提供されます。すべてのサーバーがレルム名を持つわけではなく、その場合は DNS 名が使用されます。 |
| pbstrName | LPWSTR* | out | ユーザー名を含む文字列へのポインター。 |
| pbstrPassword | LPWSTR* | out | パスワードを含む文字列へのポインター。 |
| pfConfirmedGood | BOOL* | out | サーバーによって正しいものとして確認された後にパスワードがキャッシュされた場合に True に設定されるブール値へのポインター。 |
戻り値
メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
DeleteCredentials メソッドは、パスワードをキャッシュから削除します。
| bstrRealm | LPWSTR | in | レルム名を含む文字列。レルム名は、ファイルへのアクセスレベルを区別するためにサーバーによって提供されます。すべてのサーバーがレルム名を持つわけではなく、その場合は DNS 名が使用されます。 |
戻り値
メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
GetCredentialFlags メソッドは、IWMSInternalAdminNetSource::SetCredentialFlags と組み合わせて使用し、ユーザーが既定の動作としてパスワードの保存を望んでいるかどうかを判断できます。このメソッドは、以前に設定されたフラグを取得します。
| lpdwFlags | DWORD* | out | 資格情報フラグを含む DWORD。現時点でサポートされている唯一のフラグは 0x1 で、これはユーザーがパスワードを自動的に保存することを望むという設定を表明したことを示します。 |
戻り値
メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
SetCredentialFlags メソッドは、パスワードの自動キャッシュに関するユーザー設定を設定するために使用します。
| dwFlags | DWORD | in | 資格情報フラグを含む DWORD。現時点でサポートされている唯一のフラグは 0x1 で、これはユーザーがパスワードを自動的に保存することを望むという設定を表明したことを示します。 |
戻り値
メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
FindProxyForURL メソッドは、クライアントが使用するプロキシサーバー名とポートを検索します。
| bstrProtocol | LPWSTR | in | プロキシサーバーを検索する対象のプロトコルを含む文字列。通常は "http" または "mms" のいずれかです。 |
| bstrHost | LPWSTR | in | 通信したいサーバーの DNS 名または IP アドレスを含む文字列。サーバーによっては、プロキシが異なる場合があります。 |
| pfProxyEnabled | BOOL* | out | 指定されたプロトコルとホストに適用されるプロキシをユーザーが有効にしている場合に True となるブール値へのポインター。 |
| pbstrProxyServer | LPWSTR* | out | プロキシサーバーの DNS 名を含む文字列へのポインター。 |
| pdwProxyPort | DWORD* | out | プロキシポート番号を含む DWORD へのポインター。 |
| pdwProxyContext | DWORD* | inout | 返されるプロキシサーバーを表す DWORD。FindProxyForURL を複数回呼び出すことで、構成されているすべてのプロキシサーバーを検索できます。最初の呼び出しでは、コンテキストをゼロに設定します。呼び出しから戻ると、情報が返されたプロキシを表す値にコンテキストが設定されます。次の呼び出しでは、最初の呼び出しで取得したコンテキスト値をコンテキストに設定します。呼び出しが S_FALSE を返すまで、このプロセスを続けます。 このメソッドには、プロキシサーバーの検索方法を決定する内部アルゴリズムがあります。コンテキストを 3 に設定することで、これを上書きし、クライアントの Web ブラウザーで設定されたプロキシサーバーを検索させることができます。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には、以下の表に示すものが含まれますが、これらに限定されません。
| Return code | Description |
|---|---|
| メソッドが成功しました。 | |
| このメソッドを複数回呼び出して構成済みのすべてのプロキシを検索する場合、構成済みのプロキシサーバーがこれ以上存在しないときにこの値が返されます。 |
解説(Remarks)
FindProxyForURL の呼び出しを終えたら、IWMSInternalAdminNetSource::ShutdownProxyContext を呼び出して、使用された内部リソースを解放する必要があります。
プロキシの失敗を登録します。
| hrParam | HRESULT | in | 失敗の HRESULT コード。 |
| dwProxyContext | DWORD | in | プロキシサーバーを表します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ShutdownProxyContext メソッドは、IWMSInternalAdminNetSource::FindProxyForURL によって使用された内部リソースを解放します。メモリリークを回避するため、FindProxyForURL の呼び出しを終えた後にこのメソッドを呼び出す必要があります。
| dwProxyContext | DWORD | in | プロキシコンテキストを含む DWORD。FindProxyForURL から最後に受け取ったプロキシコンテキストを設定します。 |
戻り値
メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
| dwProxyContext | DWORD | in | 判定対象のプロキシコンテキスト値。 |
| pfIsUsingIE | BOOL* | out | Internet Explorerの設定を使用中ならTRUEを受け取るBOOL出力ポインタ。 |
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 指定が可能。#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,sptr,sptr,sptr #comfunc global IWMSInternalAdminNetSource_DeleteCredentials 7 wstr #comfunc global IWMSInternalAdminNetSource_GetCredentialFlags 8 sptr #comfunc global IWMSInternalAdminNetSource_SetCredentialFlags 9 int #comfunc global IWMSInternalAdminNetSource_FindProxyForURL 10 wstr,wstr,sptr,sptr,sptr,sptr #comfunc global IWMSInternalAdminNetSource_RegisterProxyFailure 11 int,int #comfunc global IWMSInternalAdminNetSource_ShutdownProxyContext 12 int #comfunc global IWMSInternalAdminNetSource_IsUsingIE 13 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。