Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
Use a API do sensor UWP em vez disso.
A API do sensor baseada em COM foi preterida e não deve ser usada em novos aplicativos. Não estão planeados quaisquer recursos ou melhorias adicionais e o suporte será limitado.
Algumas propriedades e campos de dados contêm matrizes de informações. Por exemplo, a propriedade SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE contém uma matriz de inteiros não assinados de 4 bytes. No entanto, quando você recebe essas matrizes por meio da API do sensor, elas são sempre representadas como tipo VT_VETOR|UI1, uma matriz de caracteres de byte único, independentemente do tipo real dos dados na matriz. Para esses tipos, você deve ter cuidado para converter variáveis de matriz para o tipo de dados correto para a propriedade ou campo de dados.
Para obter informações sobre propriedades, campos de dados e seus tipos, consulte constantes.
O código de exemplo a seguir mostra como converter os dados recuperados em SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE para o tipo correto.
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);