ホーム › System.Com.ChannelCredentials › IChannelCredentials
IChannelCredentials
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 10
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 7 HRESULT SetWindowsCredential(LPWSTR domain, LPWSTR username, LPWSTR password, INT impersonationLevel, BOOL allowNtlm)
| domain | LPWSTR | in | 認証に使用する Windows 資格情報のドメイン名を指定する。 |
| username | LPWSTR | in | 認証に使用するユーザー名を指定する。 |
| password | LPWSTR | in | 認証に使用するパスワードを指定する。 |
| impersonationLevel | INT | in | サーバーに許可する偽装レベルを指定する。 |
| allowNtlm | BOOL | in | NTLM 認証へのフォールバックを許可するかどうかを指定する。 |
| username | LPWSTR | in | 認証に使用するユーザー名を指定する。 |
| password | LPWSTR | in | 認証に使用するパスワードを指定する。 |
vtbl 9 HRESULT SetClientCertificateFromStore(LPWSTR storeLocation, LPWSTR storeName, LPWSTR findYype, VARIANT findValue)
| storeLocation | LPWSTR | in | クライアント証明書を検索する証明書ストアの場所(CurrentUser または LocalMachine)を指定する。 |
| storeName | LPWSTR | in | クライアント証明書を検索する証明書ストアの名前を指定する。 |
| findYype | LPWSTR | in | 証明書の検索方法(検索条件の種類)を指定する。 |
| findValue | VARIANT | in | 検索条件として照合する値を格納した VARIANT を指定する。 |
vtbl 10 HRESULT SetClientCertificateFromStoreByName(LPWSTR subjectName, LPWSTR storeLocation, LPWSTR storeName)
| subjectName | LPWSTR | in | クライアント証明書を特定するためのサブジェクト名を指定する。 |
| storeLocation | LPWSTR | in | 証明書を検索する証明書ストアの場所(CurrentUser または LocalMachine)を指定する。 |
| storeName | LPWSTR | in | 証明書を検索する証明書ストアの名前を指定する。 |
vtbl 11 HRESULT SetClientCertificateFromFile(LPWSTR filename, LPWSTR password, LPWSTR keystorageFlags)
| filename | LPWSTR | in | クライアント証明書を読み込むファイルのパスを指定する。 |
| password | LPWSTR | in | 証明書ファイルを保護しているパスワードを指定する。 |
| keystorageFlags | LPWSTR | in | 秘密鍵の格納方法を制御するフラグを指定する。 |
vtbl 12 HRESULT SetDefaultServiceCertificateFromStore(LPWSTR storeLocation, LPWSTR storeName, LPWSTR findType, VARIANT findValue)
| storeLocation | LPWSTR | in | 既定のサービス証明書を検索する証明書ストアの場所を指定する。 |
| storeName | LPWSTR | in | 既定のサービス証明書を検索する証明書ストアの名前を指定する。 |
| findType | LPWSTR | in | 証明書の検索方法(検索条件の種類)を指定する。 |
| findValue | VARIANT | in | 検索条件として照合する値を格納した VARIANT を指定する。 |
vtbl 13 HRESULT SetDefaultServiceCertificateFromStoreByName(LPWSTR subjectName, LPWSTR storeLocation, LPWSTR storeName)
| subjectName | LPWSTR | in | 既定のサービス証明書を特定するためのサブジェクト名を指定する。 |
| storeLocation | LPWSTR | in | 証明書を検索する証明書ストアの場所を指定する。 |
| storeName | LPWSTR | in | 証明書を検索する証明書ストアの名前を指定する。 |
vtbl 14 HRESULT SetDefaultServiceCertificateFromFile(LPWSTR filename, LPWSTR password, LPWSTR keystorageFlags)
| filename | LPWSTR | in | 既定のサービス証明書を読み込むファイルのパスを指定する。 |
| password | LPWSTR | in | 証明書ファイルを保護しているパスワードを指定する。 |
| keystorageFlags | LPWSTR | in | 秘密鍵の格納方法を制御するフラグを指定する。 |
vtbl 15 HRESULT SetServiceCertificateAuthentication(LPWSTR storeLocation, LPWSTR revocationMode, LPWSTR certificateValidationMode)
| storeLocation | LPWSTR | in | サービス証明書の検証に使用する証明書ストアの場所を指定する。 |
| revocationMode | LPWSTR | in | 証明書失効の確認モードを指定する。 |
| certificateValidationMode | LPWSTR | in | 証明書の検証モードを指定する。 |
vtbl 16 HRESULT SetIssuedToken(LPWSTR localIssuerAddres, LPWSTR localIssuerBindingType, LPWSTR localIssuerBinding)
| localIssuerAddres | LPWSTR | in | ローカルの発行者(セキュリティトークンサービス)のアドレスを指定する。 |
| localIssuerBindingType | LPWSTR | in | ローカル発行者との通信に使用するバインディングの種類を指定する。 |
| localIssuerBinding | LPWSTR | in | ローカル発行者との通信に使用するバインディングの構成を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IChannelCredentials "{181B448C-C17C-4B17-AC6D-06699B93198F}"
#usecom global IChannelCredentials IID_IChannelCredentials "{}"
#comfunc global IChannelCredentials_SetWindowsCredential 7 wstr,wstr,wstr,int,int
#comfunc global IChannelCredentials_SetUserNameCredential 8 wstr,wstr
#comfunc global IChannelCredentials_SetClientCertificateFromStore 9 wstr,wstr,wstr,int
#comfunc global IChannelCredentials_SetClientCertificateFromStoreByName 10 wstr,wstr,wstr
#comfunc global IChannelCredentials_SetClientCertificateFromFile 11 wstr,wstr,wstr
#comfunc global IChannelCredentials_SetDefaultServiceCertificateFromStore 12 wstr,wstr,wstr,int
#comfunc global IChannelCredentials_SetDefaultServiceCertificateFromStoreByName 13 wstr,wstr,wstr
#comfunc global IChannelCredentials_SetDefaultServiceCertificateFromFile 14 wstr,wstr,wstr
#comfunc global IChannelCredentials_SetServiceCertificateAuthentication 15 wstr,wstr,wstr
#comfunc global IChannelCredentials_SetIssuedToken 16 wstr,wstr,wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。