次の方法で共有


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 エラー コードが返されます。

リターン コード 説明
WMDM_E_CALL_OUT_OF_SEQUENCE
このメソッドは順番に呼び出されました。
WMDM_E_MAC_CHECK_FAILED
メッセージ認証コードが無効です。
WMDM_E_MOREDATA
Windows Media デバイス マネージャーは、別のデータ パケットを使用してこのメソッドを再度呼び出す必要があります。 パケットのサイズは、ISCPSecureQuery::GetDataDemands メソッドの pdwMinDecisionData パラメーターによって決まります。
S_FALSE
呼び出し元には、要求された転送を実行するために必要な権限がありません。
E_INVALIDARG
パラメーターが無効であるか、 NULL ポインターです。
E_FAIL
未指定のエラーが発生しました。

解説

このメソッドは ISCPSecureQuery::ExamineData メソッドの後に呼び出され、コンテンツへのアクセスが許可されるかどうかを最終的に判断します。

要件

要件
対象プラットフォーム Windows
ヘッダー mswmdm.h
Library Mssachlp.lib

こちらもご覧ください

ISCPSecureExchange インターフェイス

ISCPSecureQuery インターフェイス

ISCPSecureQuery2::MakeDecision2

IWMDMStorageGlobals インターフェイス