Platform SDK: DirectX |
IDirectPlay4::SecureOpen メソッドは、セキュア セッションを作成したり、そのセッションに参加したりする。セキュア セッションに参加するとき、このメソッドを使用してログオン証明書を指定する。
新しいセッションを作成するとき、ホスト コンピュータは使用する代替セキュリティ パッケージを指定できる。セッションに参加するときは、ユーザー名とパスワードを指定できる。
HRESULT SecureOpen( LPCDPSESSIONDESC2 lpsd, DWORD dwFlags, LPCDPSECURITYDESC lpSecurity, LPCDPCREDENTIALS lpCredentials );
セッションを作成する場合は、アプリケーションで、作成するセッションのプロパティを使用して DPSESSIONDESC2 構造体をすべて設定する必要がある。guidInstance は、DirectPlay により作成される。ただし、セッションを開こうとするコンピュータはすべて認証されていなければならないことを示すために、DPSESSION_SECURESERVER フラグを設定する必要がある。
DPSESSIONDESC2 構造体を設定する場合に DPSESSION_SECURESERVER フラグを指定しなければ、SecureOpen は Open が呼び出されたときと同じように非セキュア セッションを開く。
成功すれば DP_OK、失敗すれば次のエラー値のいずれかを返す。
無効な証明書を使用して呼び出された場合、または証明書が必要なのにそれを指定しないで呼び出された場合は、DPERR_LOGONDENIED を返す。アプリケーションはユーザーの証明書を収集して、SecureOpen を再度呼び出す必要がある。
セッションに参加する場合、最初に証明書を指定しないで SecureOpen を呼び出す。メソッドから DPERR_LOGONDENIED が返されたら、ユーザーにユーザー名とパスワードを入力してもらって、ユーザーの証明書を lpCredentials パラメータに指定して SecureOpen を再度呼び出す必要がある。メソッドから DP_OK が返された場合、プレーヤーは前にシステム ログオン (NTLM でのネットワーク ログオン) 時に指定した証明書を使用してログオンできる。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dplay.h で宣言。
インポート ライブラリ : dplayx.lib を使用。