Freigeben über


IWMDMDevice::GetFormatSupport-Methode (mswmdm.h)

Die GetFormatSupport-Methode ruft alle vom Gerät unterstützten Formate ab, einschließlich Codecs und Dateiformaten.

Syntax

HRESULT GetFormatSupport(
  [out] _WAVEFORMATEX **ppFormatEx,
  [out] UINT          *pnFormatCount,
  [out] LPWSTR        **pppwszMimeType,
  [out] UINT          *pnMimeTypeCount
);

Parameter

[out] ppFormatEx

Zeiger auf ein Array von _WAVEFORMATEX Strukturen, die Informationen zu Codecs und Bitraten angeben, die vom Gerät unterstützt werden. Windows Media Geräte-Manager weist den Arbeitsspeicher für diesen Parameter zu. Der Aufrufer muss ihn mit CoTaskMemFree freigeben.

[out] pnFormatCount

Zeiger auf die Anzahl der Elemente im ppFormatEx-Array .

[out] pppwszMimeType

Zeiger auf ein Array, das Dateiformate und digitale Rechteverwaltungsschemas beschreibt, die vom Gerät unterstützt werden. Windows Media Geräte-Manager weist den Arbeitsspeicher für diesen Parameter zu. Der Aufrufer muss ihn mit CoTaskMemFree freigeben.

[out] pnMimeTypeCount

Zeiger auf die Anzahl der Elemente im pppwszMimeType-Array .

Rückgabewert

Die Methode gibt ein HRESULT zurück. Alle Schnittstellenmethoden in Windows Media Geräte-Manager können eine der folgenden Klassen von Fehlercodes zurückgeben:

  • Standard-COM-Fehlercodes
  • In HRESULT-Werte konvertierte Windows-Fehlercodes
  • Windows Media Geräte-Manager Fehlercodes
Eine umfassende Liste möglicher Fehlercodes finden Sie unter Fehlercodes.

Hinweise

Die empfohlene Methode zum Abrufen gerätegestützter Formate ist IWMDMDevice3::GetFormatCapability.

Beispiele

Die folgende C++-Funktion ruft verschiedene Gerätefunktionen ab.


// Function to print out device caps for a device that supports
// only IWMDMDevice.
void GetCaps(IWMDMDevice* pDevice)
{
    HRESULT hr = S_OK;

    // Get all capabilities for audio and mime support.
    _WAVEFORMATEX* pAudioFormats;
    LPWSTR* pMimeFormats;
    UINT numAudioFormats = 0;
    UINT numMimeFormats = 0;
    hr = pDevice->GetFormatSupport(
        &pAudioFormats,
        &numAudioFormats,
        &pMimeFormats,
        &numMimeFormats);

    HANDLE_HR(hr, "Got audio and mime formats in GetCaps IWMDMDevice", "Couldn't get audio and mime formats in GetCaps IWMDMDevice");

    // Print out audio format data.
    if (numAudioFormats > 0)
    {
        / /TODO: Display a banner to precede the supported formats.
    }
    else
    {
        // TODO: Display a message indicating that no formats are supported.
    }
    for(int i = 0; i < numAudioFormats; i++)
    {
        // TODO: Display a configuration value.
        PrintWaveFormatGuid(pAudioFormats[i].wFormatTag);
        // TODO: Display a max channel value.
        // TODO: Display a max samples/second value.
        // TODO: Display the max bytes/second value.
        // TODO: Display the block alignment value.
        // TODo: Display the max bits/sample value.
    }

    // Print out MIME formats.
    if (numMimeFormats > 0)
        // TODO: Display a banner for the MIME format listing.
    else
        / /TODO: Display a message indicating that no MIME formats are supported.
    for(i = 0; i < numMimeFormats; i++)
    {
        // TODO: Display each individual MIME format.
    }

e_Exit:
    return;

}

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile mswmdm.h
Bibliothek Mssachlp.lib

Weitere Informationen

Ermitteln von Geräteformatfunktionen

IWMDMGeräteschnittstelle

IWMDMDevice3::GetFormatCapability

_WAVEFORMATEX