MFCreateSinkWriterFromURL-Funktion (mfreadwrite.h)
Erstellt den Senkenschreiber aus einer URL oder einem Bytestream.
Syntax
HRESULT MFCreateSinkWriterFromURL(
[in] LPCWSTR pwszOutputURL,
[in] IMFByteStream *pByteStream,
[in] IMFAttributes *pAttributes,
[out] IMFSinkWriter **ppSinkWriter
);
Parameter
[in] pwszOutputURL
Eine NULL-Zeichenfolge, die die URL der Ausgabedatei enthält. Dieser Parameter kann NULL sein.
[in] pByteStream
Zeiger auf die IMFByteStream-Schnittstelle eines Bytestreams. Dieser Parameter kann NULL sein.
Wenn es sich bei diesem Parameter um einen gültigen Zeiger handelt, schreibt der Senkenschreiber in den bereitgestellten Bytestrom. (Der Bytestream muss beschreibbar sein.) Andernfalls erstellt der Senkenschreiber, wenn pByteStreamNULL ist, eine neue Datei mit dem Namen pwszOutputURL.
[in] pAttributes
Zeiger auf die IMFAttributes-Schnittstelle . Sie können diesen Parameter verwenden, um den Senkenschreiber zu konfigurieren. Weitere Informationen finden Sie unter Senkenschreiberattribute. Dieser Parameter kann NULL sein.
[out] ppSinkWriter
Empfängt einen Zeiger auf die IMFSinkWriter-Schnittstelle . Der Aufrufer muss die Schnittstelle freigeben.
Rückgabewert
Diese Funktion kann einen dieser Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Die angegebene URL wurde nicht gefunden. |
Hinweise
Rufen Sie CoInitialize(Ex) und MFStartup auf, bevor Sie diese Funktion aufrufen.
Die ersten drei Parameter für diese Funktion können NULL sein. Es sind jedoch nur bestimmte Kombinationen gültig:
BESCHREIBUNG | pwszOutputURL | pByteStream | pAttributes |
---|---|---|---|
Geben Sie einen Bytestream ohne URL an. | NULL | ungleich NULL | Erforderlich (darf nicht NULL sein). |
Geben Sie eine URL ohne Bytestream an. | nicht NULL | NULL | Optional (kann NULL sein). |
Geben Sie sowohl eine URL als auch einen Bytestream an. | ungleich NULL | ungleich NULL | Optional (kann NULL sein). |
Der pAttributes-Parameter ist im ersten Fall erforderlich und in den anderen Fällen optional.
- Fall 1: Geben Sie einen Bytestream ohne URL an. Der pAttributes-Parameter muss auf einen Attributspeicher verweisen, der das attribut MF_TRANSCODE_CONTAINERTYPE enthält. Der Senkenschreiber verwendet das attribut MF_TRANSCODE_CONTAINERTYPE, um den Typ des zu schreibenden Dateicontainers zu bestimmen, z. B. ASF oder MP4.
- Fall 2: Geben Sie eine URL ohne Bytestream an. Der Senkenschreiber erstellt eine neue Datei mit dem Namen pwszOutputURL. Wenn pAttributes einen Attributspeicher mit dem MF_TRANSCODE_CONTAINERTYPE-Attribut angibt, verwendet der Senkenschreiber dieses Attribut, um den Typ des Dateicontainers zu bestimmen. Andernfalls, wenn das attribut MF_TRANSCODE_CONTAINERTYPE fehlt oder pAttributesNULL ist, verwendet der Senkenschreiber die Dateinamenerweiterung, um den Containertyp auszuwählen. beispielsweise ".asf" für eine ASF-Datei.
- Fall 3: Geben Sie sowohl eine URL als auch einen Bytestream an. Der Senkenschreiber schreibt in den Bytestream. Die in pwszOutputURL bereitgestellte URL ist nur informell; der Senkenschreiber erstellt keine neue Datei. Wenn pAttributes einen Attributspeicher mit dem MF_TRANSCODE_CONTAINERTYPE-Attribut angibt, verwendet der Senkenschreiber dieses Attribut, um den Typ des Dateicontainers zu bestimmen. Andernfalls verwendet der Senkenschreiber die Dateinamenerweiterung, um den Containertyp auszuwählen. Das MF_TRANSCODE_CONTAINERTYPE-Attribut überschreibt in diesem Fall die URL-Dateinamenerweiterung.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7, Windows Vista und Plattform-Update-Ergänzung für Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | mfreadwrite.h |
Bibliothek | Mfreadwrite.lib |
DLL | Mfreadwrite.dll |