關於感應器常數
Windows 感應器和位置平台會以許多方式使用常數。 平臺會定義您可以在感應器驅動程式程式碼中使用的不同常數。 感應器製造商可以定義自訂常數。 您可以在 Sensors.h 檔案中找到平臺定義的常數定義。 如需平臺定義感應器常數的詳細資訊,請參閱 常數。
感應器和資料組織
平臺會以下列方式組織感應器和資料。
- 類別代表感應器裝置的廣泛類別。 類別可讓您將可能提供類似資訊類型的感應器分組,或以某種方式進行其他相關。 每個類別都是以 GUID 常數表示。 例如,報告緯度和經度座標的感應器屬於定位感應器類別。 這會以SENSOR_CATEGORY_LOCATION常數表示。
- 感應器類型代表特定類型的感應器。 每個感應器類型都適合特定類別。 不同類型的兩個感應器可以屬於相同的類別或不同的類別。 每個感應器類型都是以 GUID 常數表示。 例如,全域定位系統感應器會由SENSOR_TYPE_LOCATION_GPS常數識別。 不過,使用 IP 位址提供目前位置的感應器會由SENSOR_TYPE_LOCATION_LOOKUP常數識別。 不過,這兩個感應器都屬於定位感應器類別。
- 資料類型代表感應器可以提供的特定資訊種類。 感應器資料類型可以包含實際測量值,例如高度;用來表示資料之單位的相關資訊,例如公尺;和 資料的參考點,例如海平面。 每個資料類型都是以 PROPERTYKEY 常數表示。 例如,以公尺表示高於海平面高度的資料類型,會由SENSOR_DATA_TYPE_ALTITUDE_SEALEVEL_METERS常數來識別。
- 報告資料時,值稱為包含在資料欄位中,而相關資料欄位的集合組成資料包表。 資料包表會使用 IPortableDeviceValues 介面封裝在一起。 每個資料包表都必須包含至少一個有效的資料欄位,以及一個時間戳記,可識別資料包表建立的時間。 時間戳記是由SENSOR_DATA_TYPE_TIMESTAMP常數表示。
其他常數
您的程式也必須使用其他常數。 這些常數包括下列各項:
- 感應器屬性,例如SENSOR_PROPERTY_DESCRIPTION。 這些常數通常用來描述感應器。 某些感應器屬性必須由感應器提供,某些屬性可由用戶端應用程式設定,有些屬性必須一律從感應器傳回相同的值。 感應器屬性參考區段會為每個屬性提供這項資訊。
- 事件常數,例如SENSOR_EVENT_STATE_CHANGED。 事件常數包括 GUID,代表事件的類型,以及代表事件參數類型的 PROPERTYKEYs。 您將使用這些常數進行方法呼叫,例如 ISensor::SetEventInterest 和 ISensor::GetEventInterest。
自訂常數
感應器製造商可以定義自訂常數。 例如,感應器可以屬於平臺未定義的類別。 您必須先發佈標頭檔,感應器製造商才能使用定義自訂常數的感應器,例如發佈值。 如需詳細資訊,請參閱感應器所提供的檔。