ISCPSecureQuery3::MakeDecisionOnClearChannel 메서드(mswmdm.h)
MakeDecisionOnClearChannel 메서드는 콘텐츠에 대한 액세스가 명확한 채널에서 허용되는지 여부를 결정합니다. 액세스가 허용되는 경우 이 메서드는 콘텐츠에 액세스하는 데 사용되는 인터페이스를 반환합니다.
구문
HRESULT MakeDecisionOnClearChannel(
[in] UINT fuFlags,
[in] BYTE *pData,
[in] DWORD dwSize,
[in] DWORD dwAppSec,
[in] BYTE *pbSPSessionKey,
[in] DWORD dwSessionKeyLen,
[in] IMDSPStorageGlobals *pStorageGlobals,
[in] IWMDMProgress3 *pProgressCallback,
[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] 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 인터페이스에 대한 포인터입니다.
[in] pProgressCallback
진행률 콜백 개체에 대한 포인터입니다.
[in] pAppCertApp
애플리케이션 개체의 애플리케이션 인증서에 대한 포인터입니다.
[in] dwAppCertAppLen
애플리케이션 인증서의 길이(바이트)를 포함하는 DWORD입니다.
[in] pAppCertSP
서비스 공급자 개체의 애플리케이션 인증서에 대한 포인터입니다.
[in] dwAppCertSPLen
애플리케이션 인증서의 길이(바이트)를 포함하는 DWORD입니다.
[in, out] pszRevocationURL
해지 URL을 저장할 버퍼에 대한 포인터입니다.
[in, out] pdwRevocationURLLen
rpszRevocationURL 버퍼의 크기를 바이트 단위로 포함하는 DWORD에 대한 포인터입니다.
[out] pdwRevocationBitFlag
해지 비트 플래그가 포함된 DWORD 에 대한 포인터입니다. 플래그 값은 비트 OR을 사용하여 결합된 다음 플래그 이름 중 0개 또는 하나 이상이 됩니다.
값 | 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 개체에 대한 포인터입니다.
반환 값
메서드가 성공하면 S_OK가 반환되고, 메서드가 실패하면 HRESULT 오류 코드가 반환됩니다.
반환 코드 | 설명 |
---|---|
|
이 메서드는 시퀀스에서 호출되었습니다. |
|
메시지 인증 코드가 잘못되었습니다. |
|
Windows Media 장치 관리자 다른 데이터 패킷을 사용하여 이 메서드를 다시 호출해야 합니다. 패킷의 크기는 ISCPSecureQuery::GetDataDemands 메서드의 pdwMinDecisionData 매개 변수에 의해 결정됩니다. |
|
호출자에게 요청된 전송을 수행하는 데 필요한 권한이 없습니다. |
|
매개 변수가 잘못되었거나 NULL 포인터입니다. |
|
지정되지 않은 오류가 발생했습니다. |
설명
이 메서드는 이 메서드에 전달된 매개 변수가 암호화되지 않는다는 점을 제외하고 ISCPSecureQuery2::MakeDecision2 와 동일합니다. 따라서 이 메서드는 더 효율적입니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | mswmdm.h |
라이브러리 | Mssachlp.lib |