Condividi tramite


Metodo IWMDMDevice3::GetProperty (mswmdm.h)

Il metodo GetProperty recupera una proprietà di metadati del dispositivo specifica.

Sintassi

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

Parametri

[in] pwszPropName

Un carattere wide, nome stringa con terminazione Null della proprietà da recuperare. In Costanti metadati viene fornito un elenco di costanti dei nomi di proprietà standard.

[out] pValue

Valore restituito per la proprietà . L'applicazione deve liberare questa memoria usando PropVariantClear.

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

Per ottenere l'elenco delle proprietà del dispositivo supportate, il client chiama questa funzione e specifica g_wszWMDMSupportedDeviceProperties. Per l'elenco dei nomi delle proprietà dei dispositivi standard, vedere Costanti dei metadati.

Il client deve passare un puntatore a un PROPVARIANT vuoto nel parametro pValue . In caso di restituzione, pValue conterrà il valore della proprietà .

Questo metodo è simile ai metodi GetMetadata e GetSpecifiedMetadata per le risorse di archiviazione, ma questo metodo può ottenere una sola proprietà alla volta.

Esempio

Il codice C++ seguente esegue una query per la proprietà g_wszWMDMFormatsSupported, che restituisce un elenco SAFEARRAY di formati supportati da un dispositivo.


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

Requisiti

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

Vedi anche

Enumerazione dei dispositivi

Interfaccia IWMDMDevice3

IWMDMDevice3::SetProperty

IWMDMStorage3::GetMetadata

IWMDMStorage4::GetSpecifiedMetadata

Impostazione dei metadati in un file