Método IMFInputTrustAuthority::RequestAccess (mfidl.h)

Solicita permissão para executar uma ação especificada no fluxo.

Sintaxe

HRESULT RequestAccess(
  [in]  MFPOLICYMANAGER_ACTION Action,
  [out] IMFActivate            **ppContentEnablerActivate
);

Parâmetros

[in] Action

A ação solicitada, especificada como membro da enumeração MFPOLICYMANAGER_ACTION .

[out] ppContentEnablerActivate

Recebe o valor NULL ou um ponteiro para a interface IMFActivate . A interface IMFActivate é usada para criar um objeto habilitador de conteúdo. O chamador deve liberar a interface . Para obter mais informações, consulte Comentários.

Valor retornado

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O usuário tem permissão para executar essa ação.
NS_E_DRM_NEEDS_INDIVIDUALIZATION
O usuário deve individualizar o aplicativo.
NS_E_LICENSE_REQUIRED
O usuário deve obter uma licença.

Comentários

Esse método verifica se o usuário tem permissão para executar uma ação especificada no fluxo. O ITA faz qualquer trabalho necessário para verificar o direito do usuário de executar a ação, como verificar licenças.

Para verificar os direitos do usuário, o ITA pode precisar executar etapas adicionais que exijam interação com o usuário ou consentimento do usuário. Por exemplo, talvez seja necessário adquirir uma nova licença ou individualizar um componente DRM. Nesse caso, o ITA cria um objeto de ativação para um habilitador de conteúdo e retorna a interface IMFActivate do objeto de ativação no parâmetro ppContentEnablerActivate . O objeto de ativação é responsável por criar um habilitador de conteúdo que expõe a interface IMFContentEnabler . O habilitador de conteúdo é usado da seguinte maneira:

  1. A Sessão de Mídia retorna o ponteiro IMFActivate para o aplicativo.
  2. O aplicativo chama IMFActivate::ActivateObject para ativar o habilitador de conteúdo.
  3. O aplicativo chama métodos IMFContentEnabler para executar quaisquer ações necessárias, como individualização ou obtenção de uma licença. O objeto habilitador de conteúdo deve encapsular essa funcionalidade por meio da interface IMFContentEnabler .
  4. A Sessão de Mídia chama RequestAccess novamente.
O valor retornado sinaliza se o usuário tem permissão para executar a ação:
  • Se o usuário já tiver permissão para executar a ação, o método retornará S_OK e definirá *ppContentEnablerActivate como NULL.
  • Se o usuário não tiver permissão, o método retornará um código de falha e definirá *ppContentEnablerActivate como NULL.
  • Se o ITA precisar executar etapas adicionais que exijam interação com o usuário, o método retornará um código de falha e retornará o ponteiro IMFActivate do habilitador de conteúdo em ppContentEnablerActivate.
A Sessão de Mídia não permitirá a ação, a menos que esse método retorne S_OK. No entanto, um valor retornado de S_OK não garante que a ação será executada, pois alguma outra falha pode ocorrer depois que esse método é chamado. Quando a ação está definitivamente prestes a acontecer, a Sessão de Mídia chama IMFInputTrustAuthority::BindAccess.

Um fluxo pode ir para várias saídas, portanto, esse método pode ser chamado várias vezes com ações diferentes, uma vez para cada saída.

Requisitos

   
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfidl.h
Biblioteca Mfuuid.lib

Confira também

IMFInputTrustAuthority