IAMVideoCompression::GetInfo-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 GetInfo -Methode ruft Informationen zu den Komprimierungseigenschaften des Filters ab, einschließlich Funktionen und Standardwerten.

Syntax

HRESULT GetInfo(
  [out]     LPWSTR pszVersion,
  [in, out] int    *pcbVersion,
  [out]     LPWSTR pszDescription,
  [in, out] int    *pcbDescription,
  [out]     long   *pDefaultKeyFrameRate,
  [out]     long   *pDefaultPFramesPerKey,
  [out]     double *pDefaultQuality,
  [out]     long   *pCapabilities
);

Parameter

[out] pszVersion

Zeiger auf einen Puffer, der eine Versionszeichenfolge empfängt, z. B. "Version 2.1.0".

[in, out] pcbVersion

Empfängt die Größe der Versionszeichenfolge in Bytes.

[out] pszDescription

Zeiger auf einen Puffer, der eine Beschreibungszeichenfolge empfängt, z. B. "My Video Compressor".

[in, out] pcbDescription

Empfängt die Größe der Beschreibungszeichenfolge in Bytes.

[out] pDefaultKeyFrameRate

Empfängt die Standardmäßige Key-Frame-Rate.

[out] pDefaultPFramesPerKey

Empfängt die Standardrate der vorhergesagten (P)-Frames pro Keyframe.

[out] pDefaultQuality

Empfängt die Standardqualität.

[out] pCapabilities

Empfängt die Komprimierungsfunktionen als bitweise Kombination aus null oder mehr CompressionCaps-Flags .

Rückgabewert

Gibt einen HRESULT-Wert zurück.

Hinweise

Jeder der aufgeführten Parameter kann NULL sein. In diesem Fall ignoriert die Methode diesen Parameter.

Die Anwendung muss die Puffer für die Versions- und Beschreibungszeichenfolgen zuordnen. Um die erforderliche Größe der Puffer zu bestimmen, rufen Sie diese Methode mit NULL für die Parameter pszVersion und pszDescription auf. Verwenden Sie die in pcbVersion und pcbDescription zurückgegebenen Werte, um die Puffer zuzuordnen, und rufen Sie die Methode dann erneut auf, wie im folgenden Code gezeigt:

C++
// Get the size of the version and description strings, in bytes.
int cbVersion, cbDesc; 
hr = pCompress->GetInfo(NULL, &cbVersion, NULL, &cbDesc, 
    NULL, NULL, NULL, NULL);
if (SUCCEEDED(hr))
{
    // Allocate the buffers.
    WCHAR *pszVersion = new WCHAR[cbVersion / sizeof(WCHAR)];  
    WCHAR *pszDesc = new WCHAR[cbDesc / sizeof(WCHAR)];

    // Now query for the strings.
    hr = pCompress->GetInfo(pszVersion, &cbVersion, pszDesc, &cbDesc, 
        NULL, NULL, NULL, NULL);
    }
    delete [] pszVersion;
    delete [] pszDesc;
}
Beachten Sie, dass es sich bei den Zeichenfolgen um Breitzeichenzeichenfolgen handelt, und die zurückgegebenen Größen in Bytes und nicht in der Anzahl von Zeichen vorliegen. Außerdem können eine oder beide Zeichenfolgen null lang sein.

Der pCapabilities-Parameter empfängt eine Reihe von Flags, die angibt, welche Komprimierungseigenschaften unterstützt werden und somit welche IAMVideoCompression-Methoden unterstützt werden. Wenn beispielsweise das CompressionCaps_CanKeyFrame-Flag zurückgegeben wird, unterstützt der Filter die Methoden IAMVideoCompression::get_KeyFrameRate und IAMVideoCompression::p ut_KeyFrameRate .

Die restlichen Parameter erhalten Standardwerte für die Komprimierungseigenschaften. Bei nicht unterstützten Eigenschaften (wie durch die in pCapabilities zurückgegebenen Flags bestimmt) sollten Sie den entsprechenden Standardwert ignorieren, da er möglicherweise nicht richtig oder aussagekräftig ist.

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

IAMVideoCompression-Schnittstelle