Vektör Türlerini Getirme

Önemli

Bunun yerine UWP Algılayıcı API'sini kullanın.

COM tabanlı Algılayıcı API'si kullanım dışıdır ve yeni uygulamalarda kullanılmamalıdır. Ek özellik veya geliştirme planlanmıyor ve destek sınırlı olacak.

Bazı özellikler ve veri alanları bilgi dizileri içerir. Örneğin, SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE özelliği 4 baytlık işaretsiz tamsayılardan oluşan bir dizi içerir. Ancak, bu tür dizileri Algılayıcı API'si aracılığıyla aldığınızda, dizideki verilerin gerçek türü ne olursa olsun, bunlar her zaman tek baytlık karakterlerden oluşan VT_VECTOR|UI1 türünde bir dizidir. Bu türlerde, dizi değişkenlerini özellik veya veri alanı için doğru veri türüne dönüştürmeye dikkat etmeniz gerekir.

Özellikler, veri alanları ve türleri hakkında bilgi için bkz. Sabitler.

Aşağıdaki örnek kodda, SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE'da alınan verilerin doğru türe nasıl dağıtıldığı gösterilmektedir.

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