Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
En su lugar, usa la API de sensores de UWP.
La API de sensor basada en COM está en desuso y no debe usarse en nuevas aplicaciones. No se planean características ni mejoras adicionales y el soporte técnico será limitado.
Algunas propiedades y campos de datos contienen matrices de información. Por ejemplo, la propiedad SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE contiene una matriz de enteros sin signo de 4 bytes. Sin embargo, cuando se reciben estas matrices a través de sensor API, siempre se representan como tipo VT_VECTOR|UI1, una matriz de caracteres de un solo byte, independientemente del tipo real de los datos de la matriz. Para estos tipos, debe tener cuidado de convertir variables de matriz al tipo de datos correcto para la propiedad o el campo de datos.
Para obtener información sobre las propiedades, los campos de datos y sus tipos, vea Constantes.
En el código de ejemplo siguiente se muestra cómo convertir los datos recuperados en SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE al tipo correcto.
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);