estrutura DRM_LICENSE_STATE_DATA (Drmexternals.h)
A estrutura DRM_LICENSE_STATE_DATA contém informações de licença sobre um direito de DRM especificado.
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 DWORDs 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. 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 é retornada (encapsulada em uma estrutura de WM_LICENSE_STATE_DATA ) de uma chamada para IWMDRMReader::GetDRMProperty quando você especifica uma das propriedades de estado da licença DRM. Essas propriedades são:
- DRM_LicenseState_Playback
- DRM_LicenseState_CopyToCD
- DRM_LicenseState_CopyToSDMIDevice
- DRM_LicenseState_CopyToNonSDMIDevice
- DRM_LicenseState_CollaborativePlay
- DRM_LicenseState_Copy
- DRM_LicenseState_PlaylistBurn
Se dwCategory for WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL, a matriz datetime normalmente conterá duas datas, uma data "a partir" e uma data "até". 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 |
---|---|
Cliente mínimo com suporte |
Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows 2000 Server [somente aplicativos da área de trabalho] |
Versão |
SDK do Windows Media Format 7 ou versões posteriores do SDK |
Cabeçalho |
|