다음을 통해 공유


벡터 형식 검색

일부 속성 및 데이터 필드에는 정보 배열이 포함되어 있습니다. 예를 들어 SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE 속성에는 부호 없는 4 바이트 정수 배열이 포함됩니다. 그러나 센서 API를 통해 이러한 배열을 받으면 항상 VT_VECTOR 형식으로 표시됩니다.UI1은 배열에 있는 데이터의 실제 형식에 관계없이 싱글 바이트 문자의 배열입니다. 이러한 형식의 경우 배열 변수를 속성 또는 데이터 필드의 올바른 데이터 형식으로 캐스팅해야 합니다.

속성, 데이터 필드 및 해당 형식에 대한 자세한 내용은 상수참조하세요.

다음 예제 코드는 SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE 검색된 데이터를 올바른 형식으로 캐스팅하는 방법을 보여줍니다.

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