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