Bagikan melalui


Metode IWMDMDevice3::GetProperty (mswmdm.h)

Metode GetProperty mengambil properti metadata perangkat tertentu.

Sintaks

HRESULT GetProperty(
  [in]  LPCWSTR     pwszPropName,
  [out] PROPVARIANT *pValue
);

Parameter

[in] pwszPropName

Karakter lebar, nama string properti yang dihentikan null untuk diambil. Daftar konstanta nama properti standar diberikan dalam Konstanta Metadata.

[out] pValue

Nilai yang dikembalikan untuk properti . Aplikasi harus membebaskan memori ini menggunakan PropVariantClear.

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 kesalahan Pengelola Perangkat Windows Media
Untuk daftar ekstensif kemungkinan kode kesalahan, lihat Kode Kesalahan.

Keterangan

Untuk mendapatkan daftar properti perangkat yang didukung, klien memanggil fungsi ini dan menentukan g_wszWMDMSupportedDeviceProperties. Untuk daftar nama properti perangkat standar, lihat Konstanta Metadata.

Klien harus meneruskan pointer ke PROPVARIANT kosong dalam parameter pValue . Saat dikembalikan, pValue akan berisi nilai properti .

Metode ini mirip dengan metode GetMetadata dan GetSpecifiedMetadata untuk penyimpanan, tetapi metode ini hanya bisa mendapatkan satu properti pada satu waktu.

Contoh

Kueri kode C++ berikut untuk properti g_wszWMDMFormatsSupported, yang mengembalikan daftar format SAFEARRAY yang didukung oleh perangkat.


// Query a device for supported configurations for each media or format type. 
HRESULT GetCaps(IWMDMDevice3* pDevice)
{
    HRESULT hr = S_OK;

    // Request the "formats supported" property to get a list of supported formats.
    PROPVARIANT pvFormatsSupported;
    PropVariantInit(&pvFormatsSupported);
    hr = pDevice->GetProperty(g_wszWMDMFormatsSupported, &pvFormatsSupported);
    HANDLE_HR(hr, "Got a property list in GetCaps", "Couldn't get a property list in GetCaps.");

    // Loop through the retrieved format list.
    // For each format, get a list of format configurations.
    SAFEARRAY* formatList = pvFormatsSupported.parray;
    WMDM_FORMATCODE formatCode = WMDM_FORMATCODE_NOTUSED;
    for(LONG iCap = 0; iCap < formatList->rgsabound[0].cElements; iCap++)
    { 
        // Get a format from the SAFEARRAY of retrieved formats.
        SafeArrayGetElement(formatList, &iCap, &formatCode);

        // Call a custom function to see the specifics of device support for 
       // each format.
        if (formatCode != WMDM_FORMATCODE_NOTUSED)
            myGetFormatCaps(formatCode, pDevice);
    }

e_Exit:
    // Clear out the memory we used.
    PropVariantClear(&pvFormatsSupported);
    return hr;
}

Persyaratan

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

Lihat juga

Menghitung Perangkat

Antarmuka IWMDMDevice3

IWMDMDevice3::SetProperty

IWMDMStorage3::GetMetadata

IWMDMStorage4::GetSpecifiedMetadata

Mengatur Metadata pada File