ISCPSecureQuery::MakeDecision メソッド (mswmdm.h)
MakeDecision メソッドは、コンテンツへのアクセスを許可するかどうかを決定します。 アクセスが許可されている場合、このメソッドはコンテンツへのアクセスに使用されるインターフェイスを返します。
構文
HRESULT MakeDecision(
[in] UINT fuFlags,
[in] BYTE *pData,
[in] DWORD dwSize,
[in] DWORD dwAppSec,
[in] BYTE *pbSPSessionKey,
[in] DWORD dwSessionKeyLen,
[in] IMDSPStorageGlobals *pStorageGlobals,
[out] ISCPSecureExchange **ppExchange,
[in, out] BYTE [8] abMac
);
パラメーター
[in] fuFlags
意思決定のためにセキュリティで保護されたコンテンツ プロバイダーに提供されるデータを記述するフラグ。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。 次のフラグを指定できます。
フラグ | 説明 |
---|---|
WMDM_SCP_DECIDE_DATA | pData パラメーターは、検査対象のデータを指します。 |
WMDM_MODE_TRANSFER_PROTECTED | ISCPSecureExchange インターフェイスからの出力オブジェクト データを保護する必要があります。 Windows Media デバイス マネージャーがどちらのモード フラグも設定しない場合、DRM は ISCPSecureExchange インターフェイスからの出力オブジェクト データを保護するか保護されていないかを決定します。 |
WMDM_MODE_TRANSFER_UNPROTECTED | ISCPSecureExchange インターフェイスからの出力オブジェクト データは保護されていない必要があります。 Windows Media デバイス マネージャーがどちらのモード フラグも設定しない場合、DRM は ISCPSecureExchange インターフェイスからの出力オブジェクト データを保護するか保護されていないかを決定します。 |
[in] pData
調べるデータを含むデータ オブジェクトへのポインター。 このパラメーターは、入力メッセージ認証コードに含まれている必要があり、暗号化する必要があります。
[in] dwSize
調べるデータの長さ (バイト単位) を含む DWORD。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。
[in] dwAppSec
Windows Media デバイス マネージャーの現在のセキュリティ レベルを示す DWORD。 これは、アプリケーションとターゲット サービス プロバイダーの現在のセキュリティ レベルの小さい方です。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。
[in] pbSPSessionKey
pStgGlobals が指すサービス プロバイダーとの通信をセキュリティで保護するためのセッション キーを含むバイト配列へのポインター。 このパラメーターは、入力メッセージ認証コードに含まれている必要があり、暗号化する必要があります。
[in] dwSessionKeyLen
pbSPSessionKey が指すバイト配列の長さ。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。
[in] pStorageGlobals
ファイルの転送元または転送元のメディアまたはデバイスのルート ストレージ上の IWMDMStorageGlobals インターフェイスへのポインター。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。
[out] ppExchange
交換インターフェイスを受け取る交換オブジェクトへのポインター。
[in, out] abMac
このメソッドのパラメーター データのメッセージ認証コードを含む 8 バイトの配列。 (WMDM_MAC_LENGTHは 8 と定義されています。
戻り値
メソッドが成功した場合は、S_OK を返します。 失敗した場合は、 HRESULT エラー コードが返されます。
リターン コード | 説明 |
---|---|
|
このメソッドは順番に呼び出されました。 |
|
メッセージ認証コードが無効です。 |
|
Windows Media デバイス マネージャーは、別のデータ パケットを使用してこのメソッドを再度呼び出す必要があります。 パケットのサイズは、ISCPSecureQuery::GetDataDemands メソッドの pdwMinDecisionData パラメーターによって決まります。 |
|
呼び出し元には、要求された転送を実行するために必要な権限がありません。 |
|
パラメーターが無効であるか、 NULL ポインターです。 |
|
未指定のエラーが発生しました。 |
解説
このメソッドは ISCPSecureQuery::ExamineData メソッドの後に呼び出され、コンテンツへのアクセスが許可されるかどうかを最終的に判断します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | mswmdm.h |
Library | Mssachlp.lib |