WM_GET_LICENSE_DATA構造体

[このページに関連付けられている機能である Windows Media Format 11 SDK は、従来の機能です。 ソース リーダーシンク ライターに置き換わりました。 ソース リーダーシンク ライターは、Windows 10とWindows 11用に最適化されています。 Microsoft では、可能であれば、新しいコードで Windows Media Format 11 SDK ではなくソース リーダーシンク ライターを使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

WM_GET_LICENSE_DATA構造体には、DRMライセンスを取得する場所に関する情報が含まれています。

構文

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

メンバー

dwSize

WM_GET_LICENSE_DATA構造体のサイズ (バイト単位) を含む DWORD

時間

HRESULT 戻りコード。

wszURL

ライセンス取得 URL を含むワイド文字の null で終わる文字列。 非サイレント ライセンス取得では、この文字列と pbPostData 文字列を使用します。

wszLocalFilename

DRM コンポーネントによって生成されるローカル HTML ページを含むワイド文字の null で終わる文字列。 この文字列がブラウザーに読み込まれると、必要な投稿データと共に HTTP 要求がライセンス取得 URL に自動的にリダイレクトされます。 このローカル URL の使用は非推奨になりました。 推奨される方法は、 wszURL 文字列と pbPostData 文字列を使用することです。

pbPostData

ライセンス取得 URL にポストされるデータを含むバイト配列へのポインター。 pbPostData 文字列の先頭に"nonsilent=1&challenge=" という文字列を追加する必要があります。 その後、HTTP 要求を作成するときに、結果の文字列を wszURL に追加する必要があります。

dwPostDataSize

pbPostData で参照される "nonsilent=1&challenge=" 文字列のない pbPostData のサイズを示す DWORD

解説

この入力された構造体は、IWMStatusCallback::OnStatus メソッドの pValue パラメーターで、WMT_STATUSがWMT_NO_RIGHTS_EXまたはWMT_ACQUIRE_LICENSEと等しい場合に返されます。 WMT_NO_RIGHTS_EX イベントの場合、 hr メンバーはNS_E_LICENSE_REQUIRED、NS_E_LICENSE_OUTOFDATE、またはNS_E_LICENSE_INCORRECT_RIGHTSになります。 これらのエラーは、 wszURL メンバーの URL に移動して、新しいライセンスを取得する必要があることを示します。

WMT_ACQUIRE_LICENSEイベントの場合、ライセンスが正常に取得された場合、 hr メンバーは SUCCEEDED マクロを渡します。 このイベントがサイレント取得の試行後に受信され、 hr がNS_E_DRM_LICENSE_NOTACQUIREDに等しい場合は、このライセンスのライセンス サーバーで非サイレント取得のみがサポートされていることを示します。

Audioplayer サンプル アプリケーションは、この構造体で返される情報を正しく使用する方法を示しています。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
Version
Windows Media Format 7 SDK 以降のバージョンの SDK
ヘッダー
Drmexternals.h

関連項目

IWMDRMReader::AcquireLicense

構造体