estrutura DRM_LICENSE_STATE_DATA (Wmdrmsdk.h)
A estrutura DRM_LICENSE_STATE_DATA contém informações sobre as restrições de licença para um direito de DRM.
Sintaxe
typedef struct DRM_LICENSE_STATE_DATA {
DWORD dwStreamId;
DRM_LICENSE_STATE_CATEGORY dwCategory;
DWORD dwNumCounts;
DWORD dwCount[4];
DWORD dwNumDates;
FILETIME datetime[4];
DWORD dwVague;
} ;
Membros
-
dwStreamId
-
Número de fluxo ao qual a licença se aplica. Deve ser 0, o que indica que a licença se aplica a todos os fluxos no arquivo.
-
dwCategory
-
Categoria de cadeia de caracteres a ser exibida. Consulte DRM_LICENSE_STATE_CATEGORY para obter valores possíveis e seu significado.
-
dwNumCounts
-
Número de itens fornecidos em dwCount. Esse valor normalmente é 0 ou 1.
-
dwCount[4]
-
Uma matriz de 0 ou 1 ou mais valores DWORD que representam o número de vezes que a ação especificada em dwCategory pode ser executada. Consulte Observações.
-
dwNumDates
-
Número de itens fornecidos em datetime. Normalmente, não são usadas mais do que duas datas, por exemplo, com uma licença válida de uma data até outra data.
-
datetime[4]
-
Uma matriz de uma ou mais estruturas FILETIME que representam uma ou mais datas na licença. O significado de uma data específica depende do valor de dwCategory.
-
dwVague
-
Zero ou mais dos seguintes sinalizadores combinados com um OR bit a bit:
Sinalizador Descrição DRM_LICENSE_STATE_DATA_VAGUE Se definido, pode haver mais licenças que se aplicam ao conteúdo. A única maneira de ter certeza sobre as licenças individuais que se aplicam a uma determinada ID de chave é enumerar as licenças. Para fazer isso, chame IWMDRMLicenseManagement::CreateLicenseEnumeration, passando a ID da chave como o parâmetro bstrKID. Em seguida, use a interface IWMDRMLicense recuperada para examinar as licenças. DRM_LICENSE_STATE_DATA_OPL_PRESENT Se definida, a licença inclui OPLs (níveis de proteção de saída) que devem ser recuperados e verificados no destino da saída do aplicativo. DRM_LICENSE_STATE_DATA_SAP_PRESENT Se definido, o conteúdo deverá ser entregue usando o SAP (caminho de áudio seguro).
Comentários
Essa estrutura é recuperada chamando IWMDRMLicenseQuery::QueryLicenseState.
Se dwCategory for WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL, a matriz datetime normalmente conterá duas datas: uma data "from" e uma data "until". Dois pares de datas também podem ser especificados para criar licenças mais complexas.
Os elementos da matriz dwCount correspondem às datas ou intervalos de datas especificados na matriz datetime . Se dwCategory for WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL e datetime contiver um par de datas, dwCount conterá um elemento. Se datetime contiver dois pares de data (quatro elementos), dwCount deverá conter dois elementos, um para cada par de datas.
Em alguns casos, os usuários podem ter sido emitidos mais de uma licença para um arquivo. Por exemplo, eles podem ter adquirido uma licença que permitia cinco jogadas até o final do mês e, posteriormente, adquirido uma segunda licença para direitos ilimitados. Nesse caso, o sinalizador DRM_LICENSE_STATE_DATA_VAGUE é definido em dwVague (dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0
) e o componente DRM usará um algoritmo para determinar o conjunto mais provável de direitos que foram aplicados. Quando uma licença expirar, o componente DRM examinará as licenças restantes e assim por diante até que todas as licenças expirem.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|