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。 事件常數包括 GUIDs(代表事件類型)和 PROPERTYKEYs(代表事件參數類型)。 您將使用這些常數進行方法呼叫,例如 ISensor::SetEventInterest 和 ISensor::GetEventInterest。
自定義常數
感測器製造商可以定義自定義常數。 例如,感測器可以屬於平臺未定義的類別。 在您可以使用定義自定義常數的感測器之前,感測器製造商必須先發佈值,例如發佈頭檔。 如需詳細資訊,請參閱感測器所提供的檔。