struktur DRM_LICENSE_STATE_DATA (Wmdrmsdk.h)

Struktur DRM_LICENSE_STATE_DATA berisi informasi tentang pembatasan lisensi untuk hak DRM.

Sintaks

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

Anggota

dwStreamId

Nomor streaming tempat lisensi berlaku. Harus 0, yang menunjukkan bahwa lisensi berlaku untuk semua aliran dalam file.

dwCategory

Kategori string yang akan ditampilkan. Lihat DRM_LICENSE_STATE_CATEGORY untuk kemungkinan nilai dan maknanya.

dwNumCounts

Jumlah item yang disediakan dalam dwCount. Nilai ini biasanya 0 atau 1.

dwCount[4]

Array 0 atau 1 atau lebih nilai DWORD yang mewakili berapa kali tindakan yang ditentukan dalam dwCategory dapat dilakukan. Lihat Keterangan.

dwNumDates

Jumlah item yang disediakan dalam tanggalwaktu. Biasanya tidak lebih dari dua tanggal digunakan, misalnya, dengan lisensi yang berlaku dari satu tanggal hingga tanggal lain.

datetime[4]

Array dari satu atau beberapa struktur FILETIME yang mewakili satu atau beberapa tanggal dalam lisensi. Arti tanggal tertentu tergantung pada nilai dwCategory.

dwVague

Nol atau lebih dari bendera berikut dikombinasikan dengan bitwise OR:

Bendera Deskripsi
DRM_LICENSE_STATE_DATA_VAGUE Jika diatur, mungkin ada lebih banyak lisensi yang berlaku untuk konten. Satu-satunya cara untuk memastikan tentang lisensi individual yang berlaku untuk ID kunci tertentu adalah dengan menghitung lisensi. Untuk melakukan ini, panggil IWMDRMLicenseManagement::CreateLicenseEnumeration, yang meneruskan ID kunci sebagai parameter bstrKID. Kemudian gunakan antarmuka IWMDRMLicense yang diambil untuk memeriksa lisensi.
DRM_LICENSE_STATE_DATA_OPL_PRESENT Jika diatur, lisensi menyertakan tingkat perlindungan output (OPLs) yang harus diambil dan diperiksa terhadap tujuan output aplikasi Anda.
DRM_LICENSE_STATE_DATA_SAP_PRESENT Jika diatur, konten harus dikirim menggunakan jalur audio aman (SAP).

Keterangan

Struktur ini diambil dengan memanggil IWMDRMLicenseQuery::QueryLicenseState.

Jika dwCategoryWM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL, maka array tanggalwaktu biasanya akan berisi dua tanggal: tanggal "dari" dan tanggal "until". Dua pasangan tanggal juga dapat ditentukan untuk membuat lisensi yang lebih kompleks.

Elemen array dwCount sesuai dengan tanggal atau rentang tanggal yang ditentukan dalam array tanggalwaktu . Jika dwCategoryWM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL dan tanggalwaktu berisi satu pasang tanggal, maka dwCount akan berisi satu elemen. Jika tanggalwaktu berisi dua pasangan tanggal (empat elemen), maka dwCount harus berisi dua elemen, satu untuk setiap pasangan tanggal.

Dalam beberapa kasus, pengguna mungkin telah mengeluarkan lebih dari satu lisensi untuk file. Misalnya, mereka mungkin telah memperoleh lisensi yang memungkinkan lima pemutaran hingga akhir bulan, dan kemudian memperoleh lisensi kedua untuk hak tak terbatas. Dalam kasus seperti itu, bendera DRM_LICENSE_STATE_DATA_VAGUE diatur dalam dwVague (dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0) dan komponen DRM akan menggunakan algoritma untuk menentukan kumpulan hak yang paling mungkin yang telah diterapkan. Ketika satu lisensi kedaluwarsa, komponen DRM akan memeriksa lisensi yang tersisa, dan sebagainya sampai semua lisensi kedaluwarsa.

Persyaratan

Persyaratan Nilai
Header
Wmdrmsdk.h

Lihat juga

Struktur