Objekte (Windows Media Format 11 SDK)
Das Windows Media Format SDK verwendet mehrere Objekte zum Lesen, Schreiben, Bearbeiten und Indizieren von ASF-Dateien sowie zum Erstellen und Bearbeiten von Profilen. Jedes -Objekt unterstützt eine Reihe von Schnittstellen. Einige Schnittstellen werden in mehreren Objekten unterstützt. In diesen Fällen werden alle Unterschiede in der Implementierung im Referenzabschnitt für die Schnittstelle erläutert.
Die Objekte im Windows Media Format SDK sind COM-kompatibel. Um die Entwicklung zu vereinfachen, verfügt jedes Objekt über eine zugeordnete Erstellungsfunktion oder -methode. Sie sollten Objekte mithilfe der Erstellungsfunktion oder -methode erstellen, anstatt die COM-Funktion CoCreateInstance manuell zu verwenden.
An einige Schnittstellen wird eine Zahl angefügt, z.B. IWMProfile2 und IWMWriter3. In jedem Fall erben die nummerierten Versionen alle Methoden der früheren Versionen und fügen neue Funktionen hinzu.
Auf jeder Objektseite dieses Verweises werden zuerst die Schnittstellen aufgeführt, die im COM-Hauptobjekt enthalten sind, gefolgt von Rückrufschnittstellen, die von der Anwendung implementiert werden müssen.
In der folgenden Tabelle sind die von diesem SDK unterstützten Objekte mit einer Beschreibung der Funktionen der einzelnen -Objekte und der -Funktion aufgeführt, die zum Erstellen verwendet wird.
| Object | BESCHREIBUNG | Erstellungsfunktion |
|---|---|---|
| Sicherungswiederherstellung | Sichern von Lizenzen (in der Regel auf Wechselmedien) und anschließendes Wiederherstellen dieser Lizenzen auf einem anderen Computer. | WMCreateBackupRestorer |
| Geräteregistrierung | Verwaltet die Geräteregistrierungsdatenbank, die Einträge für Medienwiedergabegeräte enthält, die über eine Netzwerkverbindung verfügbar sind. | WMCreateDeviceRegistration |
| DRM-Transcryptor | Konvertiert DRM-geschützte Mediendaten in einen Datenstrom, der an Geräte gesendet werden kann, die das Windows Media DRM 10 for Network Devices-Protokoll verwenden. | WMCreateDRMTranscryptor |
| Indexer | Erstellt einen Index für ASF-Dateien, um das Suchen in Dateien mit Videostreams zu ermöglichen. | WMCreateIndexer |
| Lizenzsperr-Agent | Verwaltet die Lizenzsperrung. | WMCreateLicenseRevocationAgent |
| Metadata Editor | Bearbeitet Metadaten in einem ASF-Dateiheader. | WMCreateEditor |
| Profil-Manager | Stellt Schnittstellen zum Erstellen, Laden und Speichern von Profilen bereit. Ein Profil ist erforderlich, um eine ASF-Datei zu schreiben. | WMCreateProfileManager |
| Leser | Liest ASF-Dateien. Dieses Objekt verwendet ein asynchrones Aufrufmodell für seine Vorgänge. | WMCreateReader |
| Synchroner Reader | Liest ASF-Dateien mithilfe synchroner Aufrufe. | WMCreateSyncReader |
| Schriftsteller | Schreibt ASF-Dateien. | WMCreateWriter |
| Writer-Dateisenke | Steuert die vom Writer-Objekt geschriebenen ASF-Dateien. | WMCreateWriterFileSink |
| Writer-Netzwerksenke | Steuert das Live-Netzwerkstreaming von ASF-Dateien, die vom Writer-Objekt geschrieben wurden. | WMCreateWriterNetworkSink |
| Writer Push-Senke | Steuert die Übermittlung von Streaminginhalten an Veröffentlichungsserver. | WMCreateWriterPushSink |
In der folgenden Tabelle sind Objekte aufgeführt, die von anderen Objekten abhängig sind. Diese Objekte werden durch Methoden vorhandener Objekte erstellt.
| Object | BESCHREIBUNG | Erstellungsmethode |
|---|---|---|
| Bandbreitenfreigabe | Verwaltet Informationen zur Freigabe der Bandbreite in einem Profil. Für ein Profil sind möglicherweise mehr als ein Objekt für die Bandbreitenfreigabe vorhanden. Es gibt verschiedene Methoden zum Erstellen eines Bandbreitenfreigabeobjekts, je nachdem, ob Sie ein neues Objekt für die Bandbreitenfreigabe erstellen oder auf ein vorhandenes zugreifen möchten. | IWMProfile3::CreateNewBandwidthSharing ODER IWMProfile3::GetBandwidthSharing |
| Buffer | Enthält ein Medienbeispiel und alle zugehörigen Dateneinheitenerweiterungen. Wird zum Schreiben und Lesen von Beispielen verwendet. | IWMWriter::AllocateSample ODER IWMReaderAllocatorEx::AllocateForOutputEx oder IWMReaderAllocatorEx::AllocateForStreamEx oder Wird automatisch vom Readerobjekt oder synchronen Readerobjekt für die Beispielübermittlung erstellt. |
| Eingabemedieneigenschaften | Verwaltet die Eigenschaften einer Eingabe. Für jede Eingabe kann ein Eingabeeigenschaftenobjekt vorhanden sein. | IWMWriter::GetInputProps |
| Gegenseitiger Ausschluss | Verwaltet informationen zum gegenseitigen Ausschluss in einem Profil. Häufige Verwendungsmöglichkeiten für gegenseitigen Ausschluss sind Inhalte mit mehreren Bitraten und Häufungen in mehreren Sprachen. Es gibt verschiedene Methoden zum Erstellen eines gegenseitigen Ausschlussobjekts, je nachdem, ob Sie ein neues objekt für gegenseitigen Ausschluss erstellen oder auf ein vorhandenes zugreifen möchten. | IWMProfile::CreateNewMutualExclusion ODER IWMProfile::GetMutualExclusion |
| Ausgabemedieneigenschaften | Verwaltet die Eigenschaften einer Ausgabe. Für jede Ausgabe kann ein Ausgabemedieneigenschaftenobjekt vorhanden sein. Diese Objekte können vom Reader oder vom synchronen Reader erstellt werden. | IWMReader::GetOutputProps ODER IWMSyncReader::GetOutputProps |
| Profil | Enthält die Daten in einem Profil, während sie bearbeitet werden. Profilobjekte werden jedes Mal erstellt, wenn das Profil bearbeitet werden muss. Es gibt verschiedene Methoden zum Erstellen eines Profilobjekts, je nachdem, ob Sie ein neues Profil erstellen oder auf ein vorhandenes zugreifen möchten. | IWMProfileManager::CreateEmptyProfile ODER IWMProfileManager::LoadProfileByData oder IWMProfileManager::LoadProfileByID oder IWMProfileManager::LoadSystemProfile |
| Streamkonfiguration | Verwaltet die Eigenschaften eines Streams innerhalb eines Profils. Streamkonfigurationsobjekte werden von Streamobjekten erstellt, wenn Sie auf die Informationen zu einem Stream zugreifen müssen. Es gibt verschiedene Methoden zum Erstellen eines Streamkonfigurationsobjekts, je nachdem, ob Sie einen neuen Stream erstellen oder auf einen vorhandenen Zugreifen zugreifen möchten. | IWMProfile::CreateNewStream ODER IWMProfile::GetStream oder IWMProfile::GetStreamByNumber |
| Priorisierung von Datenströmen | Verwaltet die Streamprioritätsliste für ein Profil. Die Datenströme werden nach zunehmender Priorität gelöscht, wenn die verfügbare Bandbreite eingeschränkt ist. Es kann nur ein Streampriorisierungsobjekt in einem Profil geben. | IWMProfile3::CreateNewStreamPrioritization |