Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Das AD RMS SDK nutzt Funktionen, die von verfügbar gemacht werden
der Client in Msdrm.dll für die Verwendung in Windows Server 2008, Windows Vista, Windows Server 2008 R2, Windows 7, Windows Server 2012 und Windows 8 verfügbar ist. Es kann geändert werden oder
in nachfolgenden Versionen nicht verfügbar. Verwenden Sie stattdessen active Directory Rights Management Services SDK 2.1.
die funktionalität nutzt, die vom Client in Msipc.dll verfügbar gemacht wird.]
Die DRMCreateBoundLicense-Funktion ermöglicht es einer Anwendung, die Rechte für eine lokal gespeicherte Lizenz zu untersuchen oder auszuüben.
Syntax
DRMEXPORT HRESULT UDAPICALL DRMCreateBoundLicense(
[in] DRMENVHANDLE hEnv,
[in] DRMBOUNDLICENSEPARAMS *pParams,
[in] PWSTR wszLicenseChain,
[out] DRMHANDLE *phBoundLicense,
[out] DRMHANDLE *phErrorLog
);
Parameter
[in] hEnv
Ein Handle für eine Umgebung; das Handle wird mithilfe der DRMInitEnvironment-Funktion erstellt.
[in] pParams
Ein Zeiger auf eine DRMBOUNDLICENSEPARAMS-Struktur , die zusätzliche Optionen angibt; Weitere Informationen finden Sie im Abschnitt Hinweise. Der hier angegebene Prinzipal ist der, an den die Anwendung gebunden werden soll. Wenn Sie NULL übergeben, um den Prinzipal oder die Rechtegruppe zu identifizieren, wird der erste Prinzipal oder die erste Rechtegruppe in der Lizenz verwendet.
[in] wszLicenseChain
Ein Zeiger auf eine unicode-Zeichenfolge, die null beendet ist und die Endbenutzerlizenz (oder Lizenzkette) enthält.
[out] phBoundLicense
Ein Zeiger auf ein Handle, das die gebundene Lizenz empfängt. Das über phBoundLicense zurückgegebene DRMHANDLE ermöglicht es einer Anwendung, durch alle Objekte (z. B. Prinzipale oder Rechte) und Attribute der Lizenz (z. B. maximale Wiedergabeanzahl) zu navigieren. Eine gebundene Lizenz konsolidiert doppelte Rechteinformationen in der Lizenz und entfernt alle Rechteinformationen, die dem aktuellen Benutzer nicht zur Verfügung stehen.
[out] phErrorLog
Dieser Parameter muss NULL sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion S_OK zurück.
Wenn die Funktion fehlschlägt, wird ein HRESULT-Wert zurückgegeben, der den Fehler angibt. Mögliche Werte sind u. a. die werte in der folgenden Liste. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.
Hinweise
Durch das Aufrufen dieser Funktion wird eine Lizenz an die rechte Oder die Rechte gebunden, die in der DRMBOUNDLICENSEPARAMS-Struktur angegeben sind, die an den pParams-Parameter übergeben wird. Wenn ein angefordertes Recht vom aktuellen Benutzer nicht ausgeübt werden kann, schlägt die Funktion fehl. Beachten Sie außerdem, dass Sie DRMSetMetaData aufrufen und einen Wert für den wszContentId-Parameter angeben müssen, bevor Sie diese Funktion aufrufen, und dass dieser Wert mit der id identisch sein muss, die in der DRMBOUNDLICENSEPARAMS-Struktur festgelegt ist, da sonst die Funktion fehlschlägt.
Wenn die Funktion erfolgreich ist, gibt sie ein Handle für die gebundene Lizenz zurück, das überprüft werden kann, und ermöglicht es einer Anwendung auch, das gebundene Recht auszuüben. Diese Funktion dekrementiert getaktete Rechte nicht. Die Dekrementierung getakteter Rechte bei der Nutzung liegt in der Verantwortung der Anwendung.
Wenn die Lizenzbindung aufgrund einer fehlenden oder veralteten Sperrliste fehlschlägt, gibt der Rückgabewert nicht an, welche Lizenz oder welches Zertifikat den Fehler verursacht. Dabei kann es sich um die Endbenutzerlizenz, das Berechtigungskontozertifikat des Benutzers, ein Client-Lizenzgeberzertifikat oder eine andere Lizenz oder ein anderes Zertifikat handeln. Sie müssen DRMAcquireAdvisories (und DRMRegisterRevocationList) für jedes Zertifikat aufrufen, bis der Fehler nicht auftritt.
Prinzipalauthentifikatoren, die für eine Lizenz erforderlich sind, müssen geladen werden, bevor diese Funktion aufgerufen wird. Der Authentifikator kann jedoch weiterhin funktionieren, nachdem die Lizenz erstellt wurde.
Wenn Sie die Verwendung des Lizenzhandles abgeschlossen haben, schließen Sie es, indem Sie die DRMCloseHandle-Funktion aufrufen. DRMCloseHandle schließt das Handle für die Bibliothek und löscht die Lizenz aus dem Arbeitsspeicher.
Das von dieser Funktion zurückgegebene Handle kann an eine der folgenden Funktionen übergeben werden, um tiefer in die Lizenzhierarchie zu navigieren:
- DRMGetBoundLicenseAttribute
- DRMGetBoundLicenseAttributeCount
- DRMGetBoundLicenseObject
- DRMGetBoundLicenseObjectCount
Requirements (Anforderungen)
| Zielplattform | Windows |
| Kopfzeile | msdrm.h |
| Bibliothek | Msdrm.lib |
| DLL | Msdrm.dll |