次の方法で共有


資格情報キャッシュの使用

Media Foundation には、 IMFNetCredentialCache インターフェイスの既定の実装が用意されています。 IMFNetCredentialManager インターフェイスを実装するアプリケーションでは、既定の資格情報キャッシュ オブジェクトを使用して、ユーザーの資格情報を格納できます。

既定の資格情報キャッシュ オブジェクトを作成するには、 MFCreateCredentialCache 関数を呼び出します。

HRESULT hr = S_OK;
IMFNetCredentialCache *pCredentialCache = NULL;
hr = MFCreateCredentialCache(&pCredentialCache);

資格情報キャッシュが作成されると、アプリケーションは次のメソッドを使用して資格情報オブジェクトを取得し、ユーザー資格情報を設定し、キャッシュ オプションを指定できます。

  • URL の資格情報オブジェクトを取得するには、 IMFNetCredentialCache::GetCredential を呼び出します。

    hr = pCredentialCache-> GetCredential(
            pszUrl,
            pszRealm,
            dwAuthenticationFlags,
            &pCredential,
            &dwRequirementsFlags);
    

    指定した URL の資格情報が資格情報キャッシュに存在しない場合、 GetCredential は空のユーザー名とパスワード値を持つ新しい資格情報オブジェクトを作成します。

  • 資格情報オブジェクトにユーザー名とパスワードを設定するには、 IMFNetCredential::SetUserIMFNetCredential::SetPassword を呼び出します。

  • 資格情報オブジェクトにキャッシュ オプションを設定するには、 IMFNetCredentialCache::SetUserOptions を呼び出します。

    hr = pCredentialCache-> SetUserOptions( 
            pCredentialCache,
            MFNET_CREDENTIAL_SAVE);
    

    dwOptionsFlags パラメーター値は、MFNetCredentialOptions 列挙で定義されます。 永続的ストレージ内の URL のユーザー資格情報を保存するには、MFNET_CREDENTIAL_SAVE フラグを設定します。 SetUserOptions 呼び出しが正常に完了すると、その後の GetCredential の呼び出しで永続ストレージ内の資格情報が検索されます。 一致するものが見つかった場合、このメソッドは情報を含む資格情報オブジェクトへのポインターを返します。

    既定では、ネットワーク経由で送信されたユーザー資格情報は暗号化されます。 これをクリア テキストに変更するには、MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT フラグを設定します。

    レジストリから情報を削除するには、 GetCredential を 呼び出して資格情報オブジェクトを取得し、 SetUserOption を 呼び出して dwOptionsFlags をMFNET_CREDENTIAL_DONT_CACHEに設定します。

ネットワーク ソース認証