Freigeben über


IAMStreamConfig::SetFormat-Methode (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die SetFormat -Methode legt das Ausgabeformat für den Pin fest.

Syntax

HRESULT SetFormat(
  [in] AM_MEDIA_TYPE *pmt
);

Parameter

[in] pmt

Zeiger auf eine AM_MEDIA_TYPE-Struktur , die das neue Format angibt.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.
E_POINTER
NULL-Zeigerwert.
VFW_E_INVALIDMEDIATYPE
Dieser Medientyp ist ungültig.
VFW_E_NOT_CONNECTED
Der Eingabenadel ist nicht verbunden.
VFW_E_NOT_STOPPED
Der Typ kann nicht festgelegt werden. der Filter wird nicht beendet.
VFW_E_WRONG_STATE
Der Typ kann nicht festgelegt werden. der Filter wird nicht beendet.

Hinweise

Diese Methode gibt das Format für den Ausgabenadel an. Wenn der Pin nicht verbunden ist, verwendet er dieses Format für die nächste Verbindung. Wenn der Pin bereits verbunden ist, wird versucht, die Verbindung mit diesem Format wiederherzustellen. Die Methode schlägt möglicherweise fehl, wenn der andere Pin den neuen Typ ablehnt.

Wenn diese Methode erfolgreich ist, geben nachfolgende Aufrufe der IPin::EnumMediaTypes-Methode den neuen Typ und keine anderen zurück.

Bei den meisten Filtern schlägt diese Methode fehl, wenn der Filter angehalten oder ausgeführt wird. Bei einigen Komprimierungsfiltern schlägt die Methode fehl, wenn der Eingabenadel des Filters nicht verbunden ist.

Bei einigen Filtern können Sie diese Methode mit dem Wert NULL aufrufen, um den Pin auf das Standardformat zurückzusetzen.

Filterentwickler: In den folgenden Anmerkungen wird beschrieben, wie diese Methode implementiert wird:

Wenn der Ausgabepin nicht verbunden ist und der Pin den angegebenen Medientyp unterstützt, geben Sie S_OK zurück. Speichern Sie den Medientyp, und bieten Sie ihn als Formatnummer 0 in der CBasePin::GetMediaType-Methode an. Bieten Sie keine anderen Formate an, und lehnen Sie andere Formate in der CBasePin::CheckMediaType-Methode ab.

Wenn der Pin bereits verbunden ist und der Pin den Medientyp unterstützt, verbinden Sie den Pin erneut mit diesem Typ. Wenn der andere Pin den neuen Typ ablehnt, geben Sie VFW_E_INVALIDMEDIATYPE zurück, und stellen Sie die ursprüngliche Verbindung wieder her.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)
Bibliothek Strmiids.lib

Weitere Informationen

Fehler- und Erfolgscodes

IAMStreamConfig-Schnittstelle