Condividi tramite


PlayReadyContentHeader Costruttori

Definizione

Overload

PlayReadyContentHeader(Byte[])

Inizializza una nuova istanza della classe PlayReadyContentHeader .

PlayReadyContentHeader(Byte[], Uri, Uri, String, Guid)

Inizializza una nuova istanza della classe PlayReadyContentHeader .

PlayReadyContentHeader(Guid, String, PlayReadyEncryptionAlgorithm, Uri, Uri, String, Guid)

Inizializza una nuova istanza della classe PlayReadyContentHeader .

PlayReadyContentHeader(UInt32, Guid[], String[], PlayReadyEncryptionAlgorithm, Uri, Uri, String, Guid)

Inizializza una nuova istanza della classe PlayReadyContentHeader.

PlayReadyContentHeader(Byte[])

Inizializza una nuova istanza della classe PlayReadyContentHeader .

public:
 PlayReadyContentHeader(Platform::Array <byte> ^ headerBytes);
 PlayReadyContentHeader(winrt::array_view <byte> const& headerBytes);
public PlayReadyContentHeader(byte[] headerBytes);
function PlayReadyContentHeader(headerBytes)
Public Sub New (headerBytes As Byte())

Parametri

headerBytes

Byte[]

byte[]

Byte di dati non elaborati che rappresentano un'intestazione di contenuto PlayReady.

Si applica a

PlayReadyContentHeader(Byte[], Uri, Uri, String, Guid)

Inizializza una nuova istanza della classe PlayReadyContentHeader .

public:
 PlayReadyContentHeader(Platform::Array <byte> ^ headerBytes, Uri ^ licenseAcquisitionUrl, Uri ^ licenseAcquisitionUserInterfaceUrl, Platform::String ^ customAttributes, Platform::Guid domainServiceId);
 PlayReadyContentHeader(winrt::array_view <byte> const& headerBytes, Uri const& licenseAcquisitionUrl, Uri const& licenseAcquisitionUserInterfaceUrl, winrt::hstring const& customAttributes, winrt::guid const& domainServiceId);
public PlayReadyContentHeader(byte[] headerBytes, System.Uri licenseAcquisitionUrl, System.Uri licenseAcquisitionUserInterfaceUrl, string customAttributes, Guid domainServiceId);
function PlayReadyContentHeader(headerBytes, licenseAcquisitionUrl, licenseAcquisitionUserInterfaceUrl, customAttributes, domainServiceId)
Public Sub New (headerBytes As Byte(), licenseAcquisitionUrl As Uri, licenseAcquisitionUserInterfaceUrl As Uri, customAttributes As String, domainServiceId As Guid)

Parametri

headerBytes

Byte[]

byte[]

Byte di dati non elaborati che rappresentano un'intestazione WMDRM legacy.

licenseAcquisitionUrl
Uri Uri

URL per il servizio Web di acquisizione delle licenze invisibile all'utente (nessuna interazione dell'utente).

licenseAcquisitionUserInterfaceUrl
Uri Uri

URL per una pagina Web di acquisizione delle licenze non invisibile all'utente.

customAttributes
String

Platform::String

winrt::hstring

Contiene dati personalizzati utilizzati dal provider di contenuti. L'autore del contenuto può aggiungere codice XML arbitrario all'interno di questo elemento. Il codice Microsoft non agisce sui dati contenuti in questo elemento.

domainServiceId
Guid

Platform::Guid

winrt::guid

Identificatore del servizio per il servizio di dominio.

Commenti

Questo costruttore deve essere usato per convertire un'intestazione WMDRM legacy in un'intestazione PlayReady.

Il parametro domainServiceId è sensibile all'endianness della piattaforma sottostante. Testare attentamente l'app in tutte le piattaforme che si intende supportare per garantire che venga usata la correttezza endianness in ogni piattaforma.

Si applica a

PlayReadyContentHeader(Guid, String, PlayReadyEncryptionAlgorithm, Uri, Uri, String, Guid)

Inizializza una nuova istanza della classe PlayReadyContentHeader .

public:
 PlayReadyContentHeader(Platform::Guid contentKeyId, Platform::String ^ contentKeyIdString, PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, Uri ^ licenseAcquisitionUrl, Uri ^ licenseAcquisitionUserInterfaceUrl, Platform::String ^ customAttributes, Platform::Guid domainServiceId);
 PlayReadyContentHeader(winrt::guid const& contentKeyId, winrt::hstring const& contentKeyIdString, PlayReadyEncryptionAlgorithm const& contentEncryptionAlgorithm, Uri const& licenseAcquisitionUrl, Uri const& licenseAcquisitionUserInterfaceUrl, winrt::hstring const& customAttributes, winrt::guid const& domainServiceId);
public PlayReadyContentHeader(Guid contentKeyId, string contentKeyIdString, PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, System.Uri licenseAcquisitionUrl, System.Uri licenseAcquisitionUserInterfaceUrl, string customAttributes, Guid domainServiceId);
function PlayReadyContentHeader(contentKeyId, contentKeyIdString, contentEncryptionAlgorithm, licenseAcquisitionUrl, licenseAcquisitionUserInterfaceUrl, customAttributes, domainServiceId)
Public Sub New (contentKeyId As Guid, contentKeyIdString As String, contentEncryptionAlgorithm As PlayReadyEncryptionAlgorithm, licenseAcquisitionUrl As Uri, licenseAcquisitionUserInterfaceUrl As Uri, customAttributes As String, domainServiceId As Guid)

Parametri

contentKeyId
Guid

Platform::Guid

winrt::guid

Identificatore della chiave di crittografia del contenuto.

contentKeyIdString
String

Platform::String

winrt::hstring

Rappresentazione di stringa della chiave simmetrica. Se viene specificato il parametro contentKeyId , questo parametro viene ignorato.

contentEncryptionAlgorithm
PlayReadyEncryptionAlgorithm

Tipo di algoritmo di crittografia usato per crittografare il contenuto.

licenseAcquisitionUrl
Uri Uri

URL per il servizio Web di acquisizione delle licenze invisibile all'utente (nessuna interazione dell'utente).

licenseAcquisitionUserInterfaceUrl
Uri Uri

URL per una pagina Web di acquisizione delle licenze non invisibile all'utente.

customAttributes
String

Platform::String

winrt::hstring

Contiene dati personalizzati utilizzati dal provider di contenuti. L'autore del contenuto può aggiungere codice XML arbitrario all'interno di questo elemento. Il codice Microsoft non agisce sui dati contenuti in questo elemento.

domainServiceId
Guid

Platform::Guid

winrt::guid

Identificatore del servizio per il servizio di dominio.

Commenti

I parametri contentKeyId e domainServiceId sono sensibili alla endianness della piattaforma sottostante. Testare attentamente l'app in tutte le piattaforme che si intende supportare per garantire che venga usata la correttezza endianness in ogni piattaforma.

A partire da Windows 10, versione 1709, è possibile specificare PlayReadyEncryptionAlgorithm.Aes128Cbc, per la crittografia AES128CBC o PlayReadyEncryptionAlgorithm.Unspecified, per consentire al back-end del server di determinare il tipo di crittografia, come valore per il parametro contentEncryptionAlgorithm. Nelle versioni precedenti di Windows 10, specificando uno di questi valori verrà generata un'eccezione. Per questo motivo, devi verificare la presenza del valore di enumerazione chiamando ApiInformationIsApiContractPresent e specificando la versione del contratto principale 5 prima di usare i nuovi valori enumerazione nella chiamata al costruttore.

bool supportsAes128CbcAndUnspecified = ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5);

if (supportsAes128CbcAndUnspecified)
{
    // Guid and URL below are known by app, obtaining them is out of scope
    PlayReadyContentHeader header = new PlayReadyContentHeader(
        new Guid("{6591a70e-06fc-4d1f-862a-80bb569f07da}"),
        null,
        PlayReadyEncryptionAlgorithm.Unspecified,
        new Uri("http://www.contoso.com/rightsmanager.aspx"),
        null,
        null,
        new Guid("{215304E7-9263-446A-B150-0754D5E18973}"));

    var request = PlayReadyContentResolver.ServiceRequest(header);
    await request.BeginServiceRequest();
}
else
{
    // Application chooses behavior, for example, picks different content
    // or tells user that their system doesn’t support the selected content
}

Si applica a

PlayReadyContentHeader(UInt32, Guid[], String[], PlayReadyEncryptionAlgorithm, Uri, Uri, String, Guid)

Inizializza una nuova istanza della classe PlayReadyContentHeader.

public:
 PlayReadyContentHeader(unsigned int dwFlags, Platform::Array <Platform::Guid> ^ contentKeyIds, Platform::Array <Platform::String ^> ^ contentKeyIdStrings, PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, Uri ^ licenseAcquisitionUrl, Uri ^ licenseAcquisitionUserInterfaceUrl, Platform::String ^ customAttributes, Platform::Guid domainServiceId);
 PlayReadyContentHeader(uint32_t const& dwFlags, winrt::array_view <winrt::guid> const& contentKeyIds, winrt::array_view <winrt::hstring const&> const& contentKeyIdStrings, PlayReadyEncryptionAlgorithm const& contentEncryptionAlgorithm, Uri const& licenseAcquisitionUrl, Uri const& licenseAcquisitionUserInterfaceUrl, winrt::hstring const& customAttributes, winrt::guid const& domainServiceId);
public PlayReadyContentHeader(uint dwFlags, Guid[] contentKeyIds, string[] contentKeyIdStrings, PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, System.Uri licenseAcquisitionUrl, System.Uri licenseAcquisitionUserInterfaceUrl, string customAttributes, Guid domainServiceId);
function PlayReadyContentHeader(dwFlags, contentKeyIds, contentKeyIdStrings, contentEncryptionAlgorithm, licenseAcquisitionUrl, licenseAcquisitionUserInterfaceUrl, customAttributes, domainServiceId)
Public Sub New (dwFlags As UInteger, contentKeyIds As Guid(), contentKeyIdStrings As String(), contentEncryptionAlgorithm As PlayReadyEncryptionAlgorithm, licenseAcquisitionUrl As Uri, licenseAcquisitionUserInterfaceUrl As Uri, customAttributes As String, domainServiceId As Guid)

Parametri

dwFlags
UInt32

unsigned int

uint32_t

Riservato. Impostare su 0.

contentKeyIds

Guid[]

Platform::Guid[]

winrt::guid[]

Identificatori delle chiavi di crittografia del contenuto.

contentKeyIdStrings

String[]

Platform::String[]

winrt::hstring[]

Rappresentazioni di stringa delle chiavi simmetriche. Ogni stringa deve essere un valore di 16 byte con codifica Base 64.

contentEncryptionAlgorithm
PlayReadyEncryptionAlgorithm

Tipo di algoritmo di crittografia usato per crittografare il contenuto.

licenseAcquisitionUrl
Uri Uri

URL per il servizio Web di acquisizione delle licenze invisibile all'utente (nessuna interazione dell'utente).

licenseAcquisitionUserInterfaceUrl
Uri Uri

URL per una pagina Web di acquisizione delle licenze non invisibile all'utente.

customAttributes
String

Platform::String

winrt::hstring

Contiene dati personalizzati utilizzati dal provider di contenuti. L'autore del contenuto può aggiungere codice XML arbitrario all'interno di questo elemento. Il codice Microsoft non agisce sui dati contenuti in questo elemento.

domainServiceId
Guid

Platform::Guid

winrt::guid

Identificatore del servizio per il servizio di dominio.

Commenti

I parametri contentKeyIds e domainServiceId sono sensibili alla endianness della piattaforma sottostante. Testare attentamente l'app in tutte le piattaforme che si intende supportare per garantire che venga usata la correttezza endianness in ogni piattaforma.

A partire da Windows 10, versione 1709, è possibile specificare PlayReadyEncryptionAlgorithm.Aes128Cbc, per la crittografia AES128CBC o PlayReadyEncryptionAlgorithm.Unspecified, per consentire al back-end del server di determinare il tipo di crittografia, come valore per il parametro contentEncryptionAlgorithm. Nelle versioni precedenti di Windows 10, specificando uno di questi valori verrà generata un'eccezione. Per questo motivo, devi verificare la presenza del valore di enumerazione chiamando ApiInformationIsApiContractPresent e specificando la versione del contratto principale 5 prima di usare i nuovi valori enumerazione nella chiamata al costruttore.

bool supportsAes128CbcAndUnspecified = ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5);

if (supportsAes128CbcAndUnspecified)
{
    // Guid and URL below are known by app, obtaining them is out of scope
    PlayReadyContentHeader header = new PlayReadyContentHeader(
        new Guid("{6591a70e-06fc-4d1f-862a-80bb569f07da}"),
        null,
        PlayReadyEncryptionAlgorithm.Unspecified,
        new Uri("http://www.contoso.com/rightsmanager.aspx"),
        null,
        null,
        new Guid("{215304E7-9263-446A-B150-0754D5E18973}"));

    var request = PlayReadyContentResolver.ServiceRequest(header);
    await request.BeginServiceRequest();
}
else
{
    // Application chooses behavior, for example, picks different content
    // or tells user that their system doesn’t support the selected content
}

Si applica a