IMFInputTrustAuthority::RequestAccess-Methode (mfidl.h)

Fordert die Berechtigung an, eine angegebene Aktion für den Stream auszuführen.

Syntax

HRESULT RequestAccess(
  [in]  MFPOLICYMANAGER_ACTION Action,
  [out] IMFActivate            **ppContentEnablerActivate
);

Parameter

[in] Action

Die angeforderte Aktion, die als Member der MFPOLICYMANAGER_ACTION-Enumeration angegeben wird.

[out] ppContentEnablerActivate

Empfängt den Wert NULL oder einen Zeiger auf die IMFActivate-Schnittstelle . Die IMFActivate-Schnittstelle wird verwendet, um ein Content Enabler-Objekt zu erstellen. Der Aufrufer muss die Schnittstelle freigeben. Weitere Informationen finden Sie in den Hinweisen.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Der Benutzer hat die Berechtigung, diese Aktion auszuführen.
NS_E_DRM_NEEDS_INDIVIDUALIZATION
Der Benutzer muss die Anwendung individualisieren.
NS_E_LICENSE_REQUIRED
Der Benutzer muss eine Lizenz erhalten.

Hinweise

Mit dieser Methode wird überprüft, ob der Benutzer über die Berechtigung zum Ausführen einer angegebenen Aktion für den Stream verfügt. Das ITA übernimmt alle erforderlichen Aufgaben, um das Recht des Benutzers, die Aktion auszuführen, zu überprüfen, z. B. die Überprüfung von Lizenzen.

Um die Benutzerrechte zu überprüfen, muss das ITA möglicherweise zusätzliche Schritte ausführen, die eine Interaktion mit dem Benutzer oder die Zustimmung des Benutzers erfordern. Beispielsweise muss eine neue Lizenz erworben oder eine DRM-Komponente individualisiert werden. In diesem Fall erstellt das ITA ein Aktivierungsobjekt für einen Content Enabler und gibt die IMFActivate-Schnittstelle des Aktivierungsobjekts im ppContentEnablerActivate-Parameter zurück . Das Aktivierungsobjekt ist für die Erstellung eines Inhaltsaktivierer verantwortlich, der die IMFContentEnabler-Schnittstelle verfügbar macht. Die Inhaltsaktivierung wird wie folgt verwendet:

  1. Die Mediensitzung gibt den IMFActivate-Zeiger auf die Anwendung zurück.
  2. Die Anwendung ruft IMFActivate::ActivateObject auf, um den Content Enabler zu aktivieren.
  3. Die Anwendung ruft IMFContentEnabler-Methoden auf, um alle erforderlichen Aktionen auszuführen, z. B. individualisieren oder eine Lizenz erhalten. Das Content Enabler-Objekt muss diese Funktionalität über die IMFContentEnabler-Schnittstelle kapseln.
  4. Die Mediensitzung ruft RequestAccess erneut auf.
Der Rückgabewert gibt an, ob der Benutzer über die Berechtigung zum Ausführen der Aktion verfügt:
  • Wenn der Benutzer bereits über die Berechtigung zum Ausführen der Aktion verfügt, gibt die Methode S_OK zurück und legt *ppContentEnablerActivate auf NULL fest.
  • Wenn der Benutzer nicht über die Berechtigung verfügt, gibt die Methode einen Fehlercode zurück und legt *ppContentEnablerActivate auf NULL fest.
  • Wenn der ITA zusätzliche Schritte ausführen muss, die eine Interaktion mit dem Benutzer erfordern, gibt die Methode einen Fehlercode zurück und gibt den IMFActivate-Zeiger des Inhaltsaktivierers in ppContentEnablerActivate zurück.
Die Mediensitzung lässt die Aktion nur zu, wenn diese Methode S_OK zurückgibt. Ein Rückgabewert von S_OK garantiert jedoch nicht, dass die Aktion ausgeführt wird, da nach dem Aufruf dieser Methode ein anderer Fehler auftreten kann. Wenn die Aktion definitiv ausgeführt wird, ruft die Mediensitzung IMFInputTrustAuthority::BindAccess auf.

Ein Stream kann zu mehreren Ausgaben wechseln, sodass diese Methode mehrmals mit unterschiedlichen Aktionen aufgerufen werden kann, einmal für jede Ausgabe.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfidl.h
Bibliothek Mfuuid.lib

Weitere Informationen

IMFInputTrustAuthority