IAMStreamConfig::GetStreamCaps-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 GetStreamCaps-Methode ruft eine Reihe von Formatfunktionen ab.
Syntax
HRESULT GetStreamCaps(
[in] int iIndex,
[out] AM_MEDIA_TYPE **ppmt,
[out] BYTE *pSCC
);
Parameter
[in] iIndex
Gibt die abzurufende Formatfunktion an, die von null indiziert wird. Rufen Sie die IAMStreamConfig::GetNumberOfCapabilities-Methode auf, um die Anzahl der vom Pin unterstützten Funktionen zu ermitteln.
[out] ppmt
Adresse eines Zeigers auf eine AM_MEDIA_TYPE Struktur. Die -Methode weist die Struktur zu und füllt sie mit einem Medientyp aus.
[out] pSCC
Zeiger auf ein Bytearray, das vom Aufrufer zugewiesen wird. Verwenden Sie für Videos die VIDEO_STREAM_CONFIG_CAPS-Struktur (siehe Hinweise). Verwenden Sie für Audio die AUDIO_STREAM_CONFIG_CAPS-Struktur . Um die erforderliche Größe des Arrays zu ermitteln, rufen Sie die GetNumberOfCapabilities-Methode auf . Die Größe wird im piSize-Parameter zurückgegeben.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.
Rückgabecode | Beschreibung |
---|---|
|
Der angegebene Index ist zu hoch. |
|
Erfolg. |
|
Ungültiger Index. |
|
Nicht genügend Arbeitsspeicher. |
|
NULL-Zeigerwert. |
|
Der Eingabenadel ist nicht verbunden. |
Hinweise
Diese Methode gibt zwei Informationen zurück:
- Der pmt-Parameter empfängt eine ausgefüllte AM_MEDIA_TYPE-Struktur , die ein unterstütztes Ausgabeformat beschreibt.
- Der pSCC-Parameter empfängt eine Struktur, die zusätzliche Formatinformationen enthält. Für Videos erhält pSCC eine VIDEO_STREAM_CONFIG_CAPS Struktur. Für Audio empfängt es eine AUDIO_STREAM_CONFIG_CAPS-Struktur .
Bevor Sie SetFormat aufrufen, können Sie die AM_MEDIA_TYPE-Struktur in pmt mithilfe der Informationen in pSCC ändern. Beispielsweise kann ein Audionadel einen Standardmedientyp von 44 kHz und 16-Bit-Stereo im pmt-Parameter zurückgeben. Basierend auf den in der AUDIO_STREAM_CONFIG_CAPS-Struktur zurückgegebenen Werten können Sie dieses Format in 8-Bit Mono ändern, bevor Sie SetFormat aufrufen.
Die -Methode weist den Arbeitsspeicher für die AM_MEDIA_TYPE-Struktur zu, die im pmt-Parameter zurückgegeben wird. Der Aufrufer muss den Arbeitsspeicher freigeben, einschließlich des Formatblocks. Sie können die Hilfsfunktion DeleteMediaType in der Basisklassenbibliothek verwenden. Der Aufrufer muss den Arbeitsspeicher für den pSCC-Parameter zuordnen.
Bei einigen Komprimierungsfiltern schlägt diese Methode fehl, wenn der Eingabestift des Filters nicht verbunden ist.
Filterentwickler: Weitere Informationen zur Implementierung dieser Methode finden Sie unter Verfügbarmachen von Erfassungs- und Komprimierungsformaten.
Beispiele
Im folgenden Beispiel wird das erste unterstützte Format (Index null) auf einem Videoausgabenadel abgerufen und dann dieses Format auf der Pin festgelegt.
C++ |
---|
int iCount, iSize; BYTE *pSCC = NULL; AM_MEDIA_TYPE *pmt; |
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 |