Condividi tramite


Metodo IWMDMDevice::GetFormatSupport (mswmdm.h)

Il metodo GetFormatSupport recupera tutti i formati supportati dal dispositivo, inclusi codec e formati di file.

Sintassi

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

Parametri

[out] ppFormatEx

Puntatore a una matrice di strutture _WAVEFORMATEX che specificano informazioni sui codec e sulle frequenze di bit supportate dal dispositivo. Windows Media Gestione dispositivi alloca la memoria per questo parametro. Il chiamante deve liberarlo usando CoTaskMemFree.

[out] pnFormatCount

Puntatore al numero di elementi nella matrice ppFormatEx .

[out] pppwszMimeType

Puntatore a una matrice che descrive i formati di file e gli schemi di gestione dei diritti digitali supportati dal dispositivo. Windows Media Gestione dispositivi alloca la memoria per questo parametro. Il chiamante deve liberarlo usando CoTaskMemFree.

[out] pnMimeTypeCount

Puntatore al numero di elementi nella matrice pppwszMimeType .

Valore restituito

Il metodo restituisce un valore HRESULT. Tutti i metodi di interfaccia in Windows Media Gestione dispositivi possono restituire una delle classi di codici di errore seguenti:

  • Codici di errore COM standard
  • Codici di errore di Windows convertiti in valori HRESULT
  • Codici di errore di Windows Media Gestione dispositivi
Per un elenco completo dei codici di errore possibili, vedere Codici di errore.

Commenti

Il modo consigliato per recuperare i formati supportati dal dispositivo è IWMDMDevice3::GetFormatCapability.

Esempio

La funzione C++ seguente recupera varie funzionalità del dispositivo.


// 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;

}

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione mswmdm.h
Libreria Mssachlp.lib

Vedi anche

Individuazione delle funzionalità del formato del dispositivo

Interfaccia IWMDMDevice

IWMDMDevice3::GetFormatCapability

_WAVEFORMATEX