The XrPath is an atom that connects an application with a single path, within the context of a single instance. There is a bijective mapping between well-formed path strings and atoms in use. This atom is used — in place of the path name string it corresponds to — to retrieve state and perform other operations.
As an XrPath is only shorthand for a well-formed path string, they have no explicit life cycle.
Lifetime is implicitly managed by the XrInstance. An XrPath must not be used unless it is received at execution time from the runtime in the context of a particular XrInstance. Therefore, with the exception of XR_NULL_PATH, XrPath values must not be specified as constant values in applications: the corresponding path string should be used instead. During the lifetime of a given XrInstance, the XrPath associated with that instance with any given well-formed path must not vary, and similarly the well-formed path string that corresponds to a given XrPath in that instance must not vary. An XrPath that is received from one XrInstance may not be used with another. Such an invalid use may be detected and result in an error being returned, or it may result in undefined behavior.
XR_NULL_PATH, XrActionCreateInfo, XrActionSpaceCreateInfo, XrActionStateGetInfo, XrActionSuggestedBinding, XrActiveActionSet, XrHapticActionInfo, XrInputSourceLocalizedNameGetInfo, XrInteractionProfileAnalogThresholdVALVE, XrInteractionProfileState, XrInteractionProfileSuggestedBinding, XrRenderModelPathInfoFB, XrViveTrackerPathsHTCX, xrEnumerateBoundSourcesForAction, xrGetControllerModelKeyMSFT, xrGetCurrentInteractionProfile, xrGetRenderModelPropertiesFB, xrPathToString, xrSetInputDeviceActiveEXT, xrSetInputDeviceLocationEXT, xrSetInputDeviceStateBoolEXT, xrSetInputDeviceStateFloatEXT, xrSetInputDeviceStateVector2fEXT, xrStringToPath
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright (c) 2014-2021, The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.