次の方法で共有


ISCPSecureQuery2::MakeDecision2 メソッド (mswmdm.h)

MakeDecision2 メソッドは、Windows Media デバイス マネージャーがこのメソッドに渡すデータを調べることによって、セキュリティで保護されたコンテンツ プロバイダーがコンテンツを担当しているかどうかを判断します。 このメソッドは、エラー処理用の 2 つの出力パラメーター、取り消されたコンポーネントを更新するための既定の場所、および取り消されたコンポーネントを示すビット フラグを提供します。

構文

HRESULT MakeDecision2(
  [in]      UINT                fuFlags,
  [in]      BYTE                *pData,
  [in]      DWORD               dwSize,
  [in]      DWORD               dwAppSec,
  [in]      BYTE                *pbSPSessionKey,
  [in]      DWORD               dwSessionKeyLen,
  [in]      IMDSPStorageGlobals *pStorageGlobals,
  [in]      BYTE                *pAppCertApp,
  [in]      DWORD               dwAppCertAppLen,
  [in]      BYTE                *pAppCertSP,
  [in]      DWORD               dwAppCertSPLen,
  [in, out] LPWSTR              *pszRevocationURL,
  [in, out] DWORD               *pdwRevocationURLLen,
  [out]     DWORD               *pdwRevocationBitFlag,
  [in, out] ULONGLONG           *pqwFileSize,
  [in]      IUnknown            *pUnknown,
  [out]     ISCPSecureExchange  **ppExchange,
  [in, out] BYTE [8]            abMac
);

パラメーター

[in] fuFlags

意思決定のためにセキュリティで保護されたコンテンツ プロバイダーに提供されるデータを記述するフラグ。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。 ビットごとの OR を使用して、次のフラグの 1 つ以上を組み合わせることができます。

フラグ 説明
WMDM_SCP_DECIDE_DATA pData パラメーターは、検査するデータを指します。
WMDM_MODE_TRANSFER_PROTECTED ISCPSecureExchange インターフェイスからの出力オブジェクト データを保護する必要があります。 Windows Media デバイス マネージャーがどちらのモード フラグも設定しない場合、Windows Media Digital Rights Manager は ISCPSecureExchange インターフェイスからの出力オブジェクト データを保護するか保護解除する必要があるかを決定します。
WMDM_MODE_TRANSFER_UNPROTECTED ISCPSecureExchange インターフェイスからの出力オブジェクト データは保護されていない必要があります。 Windows Media デバイス マネージャーがどちらのモード フラグも設定しない場合、Windows Media Digital Rights Manager は ISCPSecureExchange インターフェイスからの出力オブジェクト データを保護するか保護解除する必要があるかを決定します。

[in] pData

調べるデータを含むデータ オブジェクトへのポインター。 このパラメーターは、入力メッセージ認証コードに含まれている必要があり、暗号化する必要があります。

[in] dwSize

ファイル データのサイズを含む DWORD

[in] dwAppSec

検証対象のサービス プロバイダーおよびセキュリティで保護されたコンテンツ プロバイダーの WMDMRIGHTS 構造体の dwAppSec メンバーの長さをバイト単位で格納する DWORD。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。

[in] pbSPSessionKey

pStgGlobals が指すサービス プロバイダーとの通信をセキュリティで保護するためのセッション キーを含むバイト配列へのポインター。 このパラメーターは、入力メッセージ認証コードに含まれている必要があり、暗号化する必要があります。

[in] dwSessionKeyLen

セッション キーの長さを含む DWORD

[in] pStorageGlobals

ファイルの転送元または転送元のメディアまたはデバイスのルート ストレージ上の IWMDMStorageGlobals インターフェイスへのポインター。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。

[in] pAppCertApp

アプリケーション オブジェクトのアプリケーション証明書へのポインター。

[in] dwAppCertAppLen

アプリケーション証明書の長さ (バイト単位) を含む DWORD

[in] pAppCertSP

サービス プロバイダー オブジェクトのアプリケーション証明書へのポインター。

[in] dwAppCertSPLen

アプリケーション証明書の長さ (バイト単位) を含む DWORD

[in, out] pszRevocationURL

失効 URL を保持するバッファーへのポインター。

[in, out] pdwRevocationURLLen

rpszRevocationURL バッファーのサイズ (バイト単位) を含む DWORD へのポインター。

[out] pdwRevocationBitFlag

失効ビット フラグを含む DWORD へのポインター。 フラグ値は 0 であるか、ビットごとの OR を使用して組み合わされた次のフラグ名の 1 つ以上になります。

説明
WMDM_WMDM_REVOKED Windows Media デバイス マネージャー自体が取り消されました。
WMDM_APP_REVOKED アプリケーションは取り消され、DRM で保護されたコンテンツを転送する前に更新する必要があります。
WMDM_SP_REVOKED サービス プロバイダーは取り消され、DRM で保護されたコンテンツを転送する前に更新する必要があります。
WMDM_SCP_REVOKED セキュリティで保護されたコンテンツ プロバイダーは取り消されており、DRM で保護されたコンテンツを転送する前に更新する必要があります。

[in, out] pqwFileSize

ファイル サイズを含む QWORD へのポインター。 セキュリティで保護されたコンテンツ プロバイダーは、この値を更新するか、この時点で宛先ファイルのサイズを決定できない場合は 0 に設定する必要があります。

[in] pUnknown

アプリケーションからの不明なインターフェイスへのポインター。

[out] ppExchange

交換インターフェイスを受け取る交換オブジェクトへのポインター。

[in, out] abMac

このメソッドのパラメーター データのメッセージ認証コードを含む 8 バイトの配列。 (WMDM_MAC_LENGTHは 8 と定義されます。

戻り値

メソッドが成功した場合は、S_OK を返します。 失敗した場合は、 HRESULT エラー コードが返されます。

リターン コード 説明
WMDM_E_REVOKED
セキュリティで保護されたコンテンツ プロバイダーが DRM クライアントとの通信に使用するアプリケーション証明書が取り消されました。

要件

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

こちらもご覧ください

ISCPSecureQuery インターフェイス

ISCPSecureQuery2 インターフェイス

ISCPSecureQuery::MakeDecision