IWMSInternalAdminNetSource2
COM公式ドキュメント
IWMSInternalAdminNetSource2 インターフェースは、パスワードキャッシュのための改良されたメソッドを提供します。
メソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
SetCredentialsEx メソッドは、パスワードをキャッシュに追加します。
| bstrRealm | LPWSTR | in | レルム名を格納する文字列。レルム名は、ファイルへのアクセスレベルの違いを区別するためにサーバーによって提供されます。すべてのサーバーがレルム名を持つわけではなく、その場合は DNS 名を使用してください。 fProxy が False の場合、このレルムはホストサーバーを指します。fProxy が True の場合、このレルムはプロキシサーバーを指します。 |
| bstrUrl | LPWSTR | in | 資格情報が適用される URL を格納する文字列。 |
| fProxy | BOOL | in | bstrUrl で指定されたサイトにアクセスするためにプロキシサーバーを使用する場合にパスワードが適用されるなら True となるブール値。 |
| bstrName | LPWSTR | in | ユーザー名を格納する文字列。 |
| bstrPassword | LPWSTR | in | パスワードを格納する文字列。 |
| fPersist | BOOL | in | これらの資格情報を永続的に保存する場合は True となるブール値。これを False に設定した場合、資格情報は現在のセッションの間のみ保持されます。 |
| fConfirmedGood | BOOL | in | サーバーがパスワードを正しいものとして確認済みの場合は True となるブール値。サーバーからの検証を受け取る前にパスワードをキャッシュすることもでき、その場合はこれを False に設定してください。 |
戻り値
メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
GetCredentialsEx メソッドは、キャッシュされたパスワードを取得します。
| bstrRealm | LPWSTR | in | レルム名を格納する文字列。レルム名は、ファイルへのアクセスレベルの違いを区別するためにサーバーによって提供されます。すべてのサーバーがレルム名を持つわけではなく、その場合は DNS 名が使用されます。 fProxy が False の場合、このレルムはホストサーバーを指します。fProxy が True の場合、このレルムはプロキシサーバーを指します。 |
| bstrUrl | LPWSTR | in | 資格情報が適用される URL を格納する文字列。 |
| fProxy | BOOL | in | bstrUrl で指定されたサイトにアクセスするためにプロキシサーバーを使用する場合にパスワードが適用されるなら True となるブール値。 |
| pdwUrlPolicy | NETSOURCE_URLCREDPOLICY_SETTINGS* | out | NETSOURCE_URLCREDPOLICY_SETTINGS 列挙型のメンバーを 1 つ格納する DWORD へのポインター。この値はユーザーのネットワークセキュリティ設定に基づいており、資格情報をキャッシュしている場合にアプリケーションがユーザーに代わってサイトへ自動的にログインできるかどうかを決定します。 |
| pbstrName | LPWSTR* | out | ユーザー名を格納する文字列へのポインター。 |
| pbstrPassword | LPWSTR* | out | パスワードを格納する文字列へのポインター。 |
| pfConfirmedGood | BOOL* | out | サーバーによって正しいと確認された後にパスワードがキャッシュされた場合は True となるブール値。 |
戻り値
メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
DeleteCredentialsEx メソッドは、パスワードをキャッシュから削除します。
| bstrRealm | LPWSTR | in | レルム名を格納する文字列。レルム名は、ファイルへのアクセスレベルの違いを区別するためにサーバーによって提供されます。すべてのサーバーがレルム名を持つわけではなく、その場合は DNS 名が使用されます。 |
| bstrUrl | LPWSTR | in | 資格情報が適用される URL を格納する文字列。 |
| fProxy | BOOL | in | bstrUrl で指定されたサイトにアクセスするためにプロキシサーバーを使用する場合にパスワードが適用されるなら True となるブール値。 |
戻り値
メソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
| bstrProtocol | LPWSTR | in | プロキシ判定対象のプロトコル名を示す文字列。 |
| bstrHost | LPWSTR | in | 接続先ホスト名を示す文字列。 |
| bstrUrl | LPWSTR | in | 接続先URL全体を示す文字列。 |
| pfProxyEnabled | BOOL* | out | プロキシ使用が有効ならTRUEを受け取るBOOL出力ポインタ。 |
| pbstrProxyServer | LPWSTR* | out | 使用するプロキシサーバー名を受け取る出力ポインタ。 |
| pdwProxyPort | DWORD* | out | プロキシサーバーのポート番号を受け取る出力ポインタ。 |
| pdwProxyContext | DWORD* | inout | 後続呼び出しで参照するプロキシコンテキスト値を受け取る出力ポインタ。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWMSInternalAdminNetSource2 "{E74D58C3-CF77-4B51-AF17-744687C43EAE}" #usecom global IWMSInternalAdminNetSource2 IID_IWMSInternalAdminNetSource2 "{}" #comfunc global IWMSInternalAdminNetSource2_SetCredentialsEx 3 wstr,wstr,int,wstr,wstr,int,int #comfunc global IWMSInternalAdminNetSource2_GetCredentialsEx 4 wstr,wstr,int,var,var,var,var #comfunc global IWMSInternalAdminNetSource2_DeleteCredentialsEx 5 wstr,wstr,int #comfunc global IWMSInternalAdminNetSource2_FindProxyForURLEx 6 wstr,wstr,wstr,var,var,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWMSInternalAdminNetSource2 "{E74D58C3-CF77-4B51-AF17-744687C43EAE}" #usecom global IWMSInternalAdminNetSource2 IID_IWMSInternalAdminNetSource2 "{}" #comfunc global IWMSInternalAdminNetSource2_SetCredentialsEx 3 wstr,wstr,int,wstr,wstr,int,int #comfunc global IWMSInternalAdminNetSource2_GetCredentialsEx 4 wstr,wstr,int,sptr,sptr,sptr,sptr #comfunc global IWMSInternalAdminNetSource2_DeleteCredentialsEx 5 wstr,wstr,int #comfunc global IWMSInternalAdminNetSource2_FindProxyForURLEx 6 wstr,wstr,wstr,sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。