Compartir a través de


Método ISCPSecureQuery::MakeDecision (mswmdm.h)

El método MakeDecision determina si se permite el acceso al contenido. Si se permite el acceso, este método devuelve la interfaz que se usará para acceder al contenido.

Sintaxis

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
);

Parámetros

[in] fuFlags

Marcas que describen los datos ofrecidos al proveedor de contenido seguro para tomar decisiones. Este parámetro debe incluirse en el código de autenticación del mensaje de entrada. Las marcas siguientes pueden estar presentes.

Marca Descripción
WMDM_SCP_DECIDE_DATA El parámetro pData apunta a los datos que se van a examinar.
WMDM_MODE_TRANSFER_PROTECTED Los datos del objeto de salida de la interfaz ISCPSecureExchange deben estar protegidos. Si Windows Media Administrador de dispositivos establece ninguna o ambas marcas de modo, DRM decide si los datos del objeto de salida de la interfaz ISCPSecureExchange deben estar protegidos o no protegidos.
WMDM_MODE_TRANSFER_UNPROTECTED Los datos del objeto de salida de la interfaz ISCPSecureExchange deben estar desprotegidos. Si Windows Media Administrador de dispositivos establece ninguna o ambas marcas de modo, DRM decide si los datos del objeto de salida de la interfaz ISCPSecureExchange deben estar protegidos o no protegidos.

[in] pData

Puntero a un objeto de datos que contiene los datos que se van a examinar. Este parámetro debe incluirse en el código de autenticación del mensaje de entrada y debe cifrarse.

[in] dwSize

DWORD que contiene la longitud, en bytes, de los datos que se van a examinar. Este parámetro debe incluirse en el código de autenticación del mensaje de entrada.

[in] dwAppSec

DWORD que indica el nivel actual de seguridad de Windows Media Administrador de dispositivos. Este es el menor de los niveles de seguridad actuales de la aplicación y el proveedor de servicios de destino. Este parámetro debe incluirse en el código de autenticación del mensaje de entrada.

[in] pbSPSessionKey

Puntero a una matriz de bytes que contiene la clave de sesión para proteger la comunicación con el proveedor de servicios al que apunta pStgGlobals . Este parámetro debe incluirse en el código de autenticación del mensaje de entrada y debe cifrarse.

[in] dwSessionKeyLen

Longitud de la matriz de bytes a la que apunta pbSPSessionKey . Este parámetro debe incluirse en el código de autenticación del mensaje de entrada.

[in] pStorageGlobals

Puntero a la interfaz IWMDMStorageGlobals en el almacenamiento raíz del medio o dispositivo hacia o desde el que se transfiere el archivo. Este parámetro debe incluirse en el código de autenticación del mensaje de entrada.

[out] ppExchange

Puntero a un objeto de intercambio que recibe la interfaz de intercambio.

[in, out] abMac

Matriz de ocho bytes que contiene el código de autenticación de mensajes para los datos de parámetros de este método. (WMDM_MAC_LENGTH se define como 8).

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, devuelve un código de error HRESULT .

Código devuelto Descripción
WMDM_E_CALL_OUT_OF_SEQUENCE
Este método se ha llamado fuera de secuencia.
WMDM_E_MAC_CHECK_FAILED
El código de autenticación del mensaje no es válido.
WMDM_E_MOREDATA
Windows Media Administrador de dispositivos debe llamar de nuevo a este método con otro paquete de datos. El tamaño del paquete viene determinado por el parámetro pdwMinDecisionData en el método ISCPSecureQuery::GetDataDemands .
S_FALSE
El autor de la llamada no tiene los derechos necesarios para realizar la transferencia solicitada.
E_INVALIDARG
Un parámetro no es válido o es un puntero NULL .
E_FAIL
Se ha producido un error no especificado.

Comentarios

Se llama a este método después del método ISCPSecureQuery::ExamineData y toma la decisión final de si se permite el acceso al contenido.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado mswmdm.h
Library Mssachlp.lib

Consulte también

Interfaz ISCPSecureExchange

Interfaz ISCPSecureQuery

ISCPSecureQuery2::MakeDecision2

Interfaz IWMDMStorageGlobals