Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Usare invece l'API sensore UWP .
L'API del sensore basata su COM è deprecata e non deve essere usata nelle nuove applicazioni. Non sono pianificate funzionalità o miglioramenti aggiuntivi e il supporto sarà limitato.
Alcune proprietà e campi dati contengono matrici di informazioni. Ad esempio, la proprietà SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE contiene una matrice di interi senza segno a 4 byte. Tuttavia, quando si ricevono tali matrici tramite l'API Sensor, queste vengono sempre rappresentate come tipo VT_VECTOR|UI1, matrice di caratteri a byte singolo, indipendentemente dal tipo effettivo dei dati nella matrice. Per questi tipi, è necessario prestare attenzione a eseguire il cast delle variabili di matrice nel tipo di dati corretto per la proprietà o il campo dati.
Per informazioni sulle proprietà, i campi dati e i relativi tipi, vedere Costanti.
Il codice di esempio seguente illustra come eseguire il cast dei dati recuperati in SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE al tipo corretto.
PROPVARIANT pvCurve;
PropVariantInit(&pvCurve);
// Retrieve the property value.
hr = pSensor->GetProperty(SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE, &pvCurve);
if (SUCCEEDED(hr))
{
if ((VT_UI1|VT_VECTOR) == V_VT(pvCurve)) // Note actual type of UI1
{
// Cast the array to UINT, a 4-byte unsigned integer.
// Item count for the array.
UINT cElement = pvCurve.caub.cElems/sizeof(UINT);
// Array pointer.
UINT* pElement = (UINT*)(pvCurve.caub.pElems);
// Use the array.
}
}
// Remember to free the PROPVARIANT when done.
PropVariantClear(&pvCurve);