XR_KHR_extended_struct_name_lengths
Stringa del nome
XR_KHR_extended_struct_name_lengths
Tipo di estensione
Estensione dell'istanza
Numero di estensione registrato
149
Revisione
2
Stato di ratifica
Ratificato
Dipendenze di estensione e versione
Data dell'ultima modifica
2025-12-04
Stato IP
Nessuna rivendicazione IP nota.
Collaboratori
Matthew Langille, Meta Platforms
Andreas Selvik, Meta Platforms
Rylie Pavlik, Collabora, Ltd.
Panoramica
Questa estensione estende le dimensioni massime dei nomi delle struct e fornisce una nuova funzione per accedere a questi nuovi nomi estesi.
xrStructureTypeToString2KHR viene fornita per consentire il recupero dei nomi delle stringhe degli enumeranti del tipo di struttura con lunghezze che superano il limite originale di 63 byte (64 byte incluso il terminatore null). xrStructureTypeToString2KHR restituisce stringhe di nomi per gli enumeranti del tipo di struttura fino a 255 byte di lunghezza (256 byte incluso il terminatore null). Un'applicazione può utilizzare xrStructureTypeToString2KHR come sostituzione diretta di xrStructureTypeToString , poiché funziona con tutti gli enumeranti del tipo di struttura, indipendentemente dalla lunghezza del nome della stringa.
Recupero delle stringhe degli enumeranti del tipo di struttura
Se l'xrStructureTypeToString originale viene utilizzato per recuperare i nomi delle stringhe per gli enumeranti del tipo di struttura con lunghezze dei nomi superiori a 63 byte, il suo comportamento viene chiarito come segue. xrStructureTypeToString deve popolare il buffer con il nome corretto, tranne per il fatto che la stringa deve essere troncata al limite di un punto di codice per rientrare nel buffer disponibile. Ovvero, la stringa restituita deve essere sempre UTF-8 valida.
La funzione xrStructureTypeToString2KHR è definita come segue:
XrResult xrStructureTypeToString2KHR(
XrInstance instance,
XrStructureType value,
char buffer[XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR]);
Descrizioni dei parametri
instanceè l'handle dell'istanza a cui chiedere la stringa.valueè il valore XrStructureType da trasformare in una stringa.bufferè il buffer che verrà utilizzato per restituire la stringa.
Restituisce il nome del valore XrStructureType fornito copiando una stringa UTF-8 valida con terminazione null in buffer .
In tutti i casi, la stringa restituita deve essere una delle seguenti:
Valori di output della stringa del tipo di struttura
- La stringa letterale definita per il valore numerico fornito nella specifica principale o nell'estensione. (ad es. il valore di
XR_TYPE_INSTANCE_CREATE_INFOgenera la stringaXR_TYPE_INSTANCE_CREATE_INFO) XR_UNKNOWN_STRUCTURE_TYPE_concatenato con il numero del tipo di struttura espresso come numero decimale.
Per gli enumeranti del tipo di struttura i cui nomi rientrano nel limite di dimensione originale di 63 byte, xrStructureTypeToString2KHR deve restituire la stessa stringa risultante di xrStructureTypeToString , fino al terminatore null.
Utilizzo valido (implicito)
- L'estensione
XR_KHR_extended_struct_name_lengthsdeve essere abilitata prima di chiamare xrStructureTypeToString2KHR -
instancedeve essere un handle XrInstance valido -
valuedeve essere un valore XrStructureType valido -
bufferdeve essere un array di caratteri di lunghezzaXR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR
Codici restituiti
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_RUNTIME_FAILUREXR_ERROR_VALIDATION_FAILURE
L'enumerante XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR definisce la dimensione del buffer passato a xrStructureTypeToString2KHR .
#define XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR 256
Nuovi comandi
Nuove costanti enum
XR_KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAMEXR_KHR_extended_struct_name_lengths_SPEC_VERSIONXR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR
Cronologia delle versioni
Revisione 1, 29/02/2024 (Matthew Langille)
- Descrizione iniziale dell'estensione
Revisione 2, 04/12/2025 (Kenny Vercaemer)
- Correggi la specifica della lunghezza del nome della struttura