struktur WM_GET_LICENSE_DATA

[Fitur yang terkait dengan halaman ini, Windows Media Format 11 SDK, adalah fitur warisan. Ini telah digantikan oleh Pembaca Sumber dan Penulis Sink. Pembaca Sumber dan Penulis Sink telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan Pembaca Sumber dan Penulis Sink alih-alih Windows Media Format 11 SDK, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Struktur WM_GET_LICENSE_DATA berisi informasi tentang tempat memperoleh lisensi DRM.

Sintaks

typedef struct _WMGetLicenseData {
  DWORD   dwSize;
  HRESULT hr;
  WCHAR   *wszURL;
  WCHAR   *wszLocalFilename;
  BYTE    *pbPostData;
  DWORD   dwPostDataSize;
} WM_GET_LICENSE_DATA;

Anggota

dwSize

DWORD yang berisi ukuran struktur WM_GET_LICENSE_DATA , dalam byte.

Hr

Kode pengembalian HRESULT .

wszURL

String karakter lebar yang dihentikan null yang berisi URL akuisisi lisensi. Gunakan string ini dan string pbPostData dalam akuisisi lisensi non-senyap.

wszLocalFilename

String berkarakter lebar yang dihentikan null yang berisi halaman HTML lokal yang dihasilkan oleh komponen DRM. Ketika string ini dimuat ke browser, string ini secara otomatis mengalihkan permintaan HTTP ke URL akuisisi lisensi, bersama dengan data posting yang diperlukan. Penggunaan URL lokal ini sekarang tidak digunakan lagi. Pendekatan yang disarankan adalah menggunakan string wszURL dan pbPostData .

pbPostData

Penunjuk ke array byte yang berisi data yang akan diposting ke URL akuisisi lisensi. Anda harus menambahkan string berikut ke awal string pbPostData : "nonsilent=1&challenge=". String yang dihasilkan kemudian harus ditambahkan ke wszURL ketika Anda membentuk permintaan HTTP.

dwPostDataSize

DWORD yang menunjukkan ukuran pbPostData tanpa string "nonsilent=1&challenge=" yang dirujuk dalam pbPostData.

Keterangan

Struktur yang diisi ini dikembalikan dalam parameter pValue dari metode IWMStatusCallback::OnStatus jika WMT_STATUS sama dengan WMT_NO_RIGHTS_EX atau WMT_ACQUIRE_LICENSE. Untuk peristiwa WMT_NO_RIGHTS_EX, anggota SDM akan NS_E_LICENSE_REQUIRED, NS_E_LICENSE_OUTOFDATE, atau NS_E_LICENSE_INCORRECT_RIGHTS. Salah satu kesalahan ini menunjukkan bahwa lisensi baru harus diperoleh dengan menavigasi ke URL di anggota wszURL .

Untuk peristiwa WMT_ACQUIRE_LICENSE, anggota SDM akan meneruskan makro BERHASIL jika lisensi berhasil diperoleh. Jika kejadian ini diterima setelah upaya akuisisi senyap, dan SDM sama dengan NS_E_DRM_LICENSE_NOTACQUIRED, itu menunjukkan bahwa hanya akuisisi non-senyap yang didukung oleh server lisensi untuk lisensi ini.

Aplikasi sampel Audioplayer menunjukkan cara menggunakan informasi yang dikembalikan dalam struktur ini dengan benar.

Persyaratan

Persyaratan Value
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Versi
Windows Media Format 7 SDK, atau versi SDK yang lebih baru
Header
Drmexternals.h

Baca juga

IWMDRMReader::AcquireLicense

Struktur