Freigeben über


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
S_OK
Erfolg.
MF_E_NOT_FOUND
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.
Diese Funktion ist unter Windows Vista verfügbar, wenn die Plattformupdateergänzung für Windows Vista installiert ist.

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

Weitere Informationen

Media Foundation-Funktionen