Platform SDK: DirectX |
DirectPlay4.SecureOpen メソッドは、保証セッションを作成するか、または参加する。保証セッションに参加するには、このメソッドを使用して、ログオン用の認証情報を渡す。
新しいセッションを作成する場合、ホスト コンピュータは、使用する別のセキュリティ パッケージを指定することができる。セッションに参加する場合、コンピュータは、ユーザー名とパスワードを指定することができる。
object.SecureOpen(sessionDesc DirectPlaySessionData, _ flags As CONST_DPOPENFLAGS, _ security As DPSECURITYDESC, credentials As DPCREDENTIALS))
セッションを作成する場合は、作成するセッションのプロパティ (ただし、DirectPlay が提供する、インスタンスの GUID を除く) を使用して、DirectPlaySessionData オブジェクトを完全に初期化する必要がある。
セッションを開くすべてのコンピュータを認証する必要があることを示すために、DPSESSION_SECURESERVER フラグを設定する。DPSESSION_SECURESERVER フラグを設定しない場合、SecureOpen は、DirectPlay4.Open を呼び出したときと同じように、非保証セッションを開く。
失敗すればエラーが発生し、Err.Number に次のいずれかの値が設定される。
無効な信用情報を使用して呼び出された場合、または信用情報が必要な場合に信用情報なしで呼び出された場合は、DPERR_LOGONDENIED を返す。アプリケーションでは、ユーザーの信用情報を収集して、SecureOpen を再度呼び出す必要がある。
セッションに参加する場合は、まず信用情報を使用せずに SecureOpen を呼び出す。DPERR_LOGONDENIED が返されたら、ユーザーからユーザー名とパスワードを取得して SecureOpen を再度呼び出し、credentials パラメータを介してユーザーに信用情報を渡す必要がある。DP_OK が返されたら、プレーヤーは、システムへのログオン時 (NTLMでは、ネットワーク ログオン) に指定した信用情報を使用して、ログオンできたことになる。