XR_KHR_extended_struct_name_lengths
Name String
XR_KHR_extended_struct_name_lengths
Erweiterungstyp
Instanzerweiterung
Registrierte Erweiterungsnummer
149
Revision
2
Ratifizierungsstatus
Ratifiziert
Abhängigkeiten von Erweiterungen und Versionen
Datum der letzten Änderung
2025-12-04
IP-Status
Keine bekannten IP-Ansprüche.
Mitwirkende
Matthew Langille, Meta Platforms
Andreas Selvik, Meta Platforms
Rylie Pavlik, Collabora, Ltd.
Übersicht
Diese Erweiterung erhöht die maximale Größe von Strukturbezeichnungen und bietet eine neue Funktion für den Zugriff auf diese neuen, längeren Bezeichnungen.
xrStructureTypeToString2KHR ermöglicht das Abrufen der Stringbezeichnungen von Strukturtyp-Enumeranten mit einer Länge, die das ursprüngliche Limit von 63 Byte (64 Byte einschließlich des Null-Terminators) überschreitet. xrStructureTypeToString2KHR gibt Namensstrings für Strukturtyp-Enumeranten mit einer Länge von bis zu 255 Byte (256 Byte einschließlich des Null-Terminators) zurück. Eine Anwendung kann xrStructureTypeToString2KHR als direkten Ersatz für xrStructureTypeToString verwenden , da es mit allen Strukturtyp-Enumeranten funktioniert, unabhängig von der Länge des Stringnamens.
Strings für Strukturtyp-Enumeranten abrufen
Wenn das ursprüngliche xrStructureTypeToString verwendet wird, um Stringbezeichnungen für Strukturtyp-Enumeranten mit einer Länge von mehr als 63 Byte abzurufen, wird das Verhalten wie folgt erläutert. xrStructureTypeToString muss den Puffer mit dem korrekten Namen füllen, wobei der String jedoch an einer Codepoint-Grenze abgeschnitten werden muss , damit er in den verfügbaren Puffer passt. Das heißt, der zurückgegebene String muss immer gültiges UTF-8 sein.
Die Funktion xrStructureTypeToString2KHR ist wie folgt definiert:
XrResult xrStructureTypeToString2KHR(
XrInstance instance,
XrStructureType value,
char buffer[XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR]);
Parameterbeschreibungen
instanceist das Handle der Instanz, für die der String angefordert wird.valueist der XrStructureType-Wert, der in einen String umgewandelt werden soll.bufferist der Puffer, der zum Zurückgeben des Strings verwendet wird.
Gibt den Namen des angegebenen XrStructureType-Werts zurück, indem ein gültiger, mit Null beendeter UTF-8-String in buffer kopiert wird .
In allen Fällen muss der zurückgegebene String einer der folgenden sein:
String-Ausgabewerte für Strukturtypen
- Der Literalstring, der für den angegebenen numerischen Wert in der Kernspezifikation oder Erweiterung definiert ist. Beispiel: Der Wert von
XR_TYPE_INSTANCE_CREATE_INFOführt zum StringXR_TYPE_INSTANCE_CREATE_INFO. XR_UNKNOWN_STRUCTURE_TYPE_verkettet mit der Strukturtypnummer als Dezimalzahl.
Für Strukturtyp-Enumeranten, deren Namen innerhalb des ursprünglichen Größenlimits von 63 Byte liegen, xrStructureTypeToString2KHR muss denselben resultierenden String wie xrStructureTypeToString zurückgeben, bis zum Null-Terminator.
Gültige Verwendung (implizit)
- Die
XR_KHR_extended_struct_name_lengthsErweiterung muss aktiviert sein, bevor xrStructureTypeToString2KHR aufgerufen wird. -
instancemuss ein gültiges XrInstance-Handle sein. -
valuemuss ein gültiger XrStructureType-Wert sein -
buffermuss ein Zeichenarray der LängeXR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHRsein.
Rückgabecodes
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_RUNTIME_FAILUREXR_ERROR_VALIDATION_FAILURE
Die XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR Enumerante definiert die Größe des Puffers, der an xrStructureTypeToString2KHR übergeben wird .
#define XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR 256
Neue Befehle
Neue Enum-Konstanten
XR_KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAMEXR_KHR_extended_struct_name_lengths_SPEC_VERSIONXR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR
Versionsverlauf
Revision 1, 29.02.2024 (Matthew Langille)
- Erste Beschreibung der Erweiterung
Revision 2, 04.12.2025 (Kenny Vercaemer)
- Spezifikation der Länge des Strukturbezeichnungsnamens korrigieren