다음을 통해 공유


ISCPSecureQuery2::MakeDecision2 메서드(mswmdm.h)

MakeDecision2 메서드는 Windows Media 장치 관리자 이 메서드에 전달하는 데이터를 검사하여 보안 콘텐츠 공급자가 콘텐츠에 대한 책임이 있는지 여부를 결정합니다. 이 메서드는 오류 처리를 위한 두 개의 출력 매개 변수, 해지된 구성 요소를 업데이트하기 위한 기본 위치 및 해지된 구성 요소를 나타내는 비트 플래그를 제공합니다.

구문

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를 사용하여 다음 플래그 중 하나 이상을 결합할 수 있습니다.

플래그 설명
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을 사용하여 결합된 다음 플래그 이름 중 하나 이상이 됩니다.

Description
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

교환 인터페이스를 수신하는 exchange 개체에 대한 포인터입니다.

[in, out] abMac

이 메서드의 매개 변수 데이터에 대한 메시지 인증 코드를 포함하는 8바이트 배열입니다. (WMDM_MAC_LENGTH 8로 정의됩니다.

반환 값

메서드가 성공하면 S_OK가 반환되고, 실패하면 HRESULT 오류 코드가 반환됩니다.

반환 코드 설명
WMDM_E_REVOKED
보안 콘텐츠 공급자가 DRM 클라이언트와 통신하는 데 사용하는 애플리케이션 인증서가 해지되었습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 mswmdm.h
라이브러리 Mssachlp.lib

추가 정보

ISCPSecureQuery 인터페이스

ISCPSecureQuery2 인터페이스

ISCPSecureQuery::MakeDecision