Bagikan melalui


Metode IWMDMDevice::GetFormatSupport (mswmdm.h)

Metode GetFormatSupport mengambil semua format yang didukung oleh perangkat, termasuk codec dan format file.

Sintaks

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

Parameter

[out] ppFormatEx

Penunjuk ke array struktur _WAVEFORMATEX yang menentukan informasi tentang codec dan laju bit yang didukung oleh perangkat. Windows Media Device Manager mengalokasikan memori untuk parameter ini; pemanggil harus membebaskannya menggunakan CoTaskMemFree.

[out] pnFormatCount

Arahkan ke jumlah elemen dalam array ppFormatEx .

[out] pppwszMimeType

Penunjuk ke array yang menjelaskan format file dan skema manajemen hak digital yang didukung oleh perangkat. Windows Media Device Manager mengalokasikan memori untuk parameter ini; pemanggil harus membebaskannya menggunakan CoTaskMemFree.

[out] pnMimeTypeCount

Arahkan ke jumlah elemen dalam array pppwszMimeType .

Nilai kembali

Metode mengembalikan HRESULT. Semua metode antarmuka di Windows Media Device Manager dapat mengembalikan salah satu kelas kode kesalahan berikut:

  • Kode kesalahan COM standar
  • Kode kesalahan Windows dikonversi ke nilai HRESULT
  • Kode galat Pengelola Perangkat Windows Media
Untuk daftar ekstensif kemungkinan kode kesalahan, lihat Kode Kesalahan.

Keterangan

Cara yang disarankan untuk mengambil format yang didukung perangkat adalah IWMDMDevice3::GetFormatCapability.

Contoh

Fungsi C++ berikut mengambil berbagai kemampuan perangkat.


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

}

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header mswmdm.h
Pustaka Mssachlp.lib

Lihat juga

Menemukan Kemampuan Format Perangkat

Antarmuka IWMDMDevice

IWMDMDevice3::GetFormatCapability

_WAVEFORMATEX