Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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 |