XR_KHR_extended_struct_name_lengths
String do nome
XR_KHR_extended_struct_name_lengths
Tipo de extensão
Extensão de instância
Número de extensão registrada
149
Revisão
2
Status de ratificação
Ratificado
Dependências de extensão e versão
Data da última modificação
2025-12-04
Status de IP
Nenhuma reivindicação de IP conhecida.
Colaboradores
Matthew Langille, Meta Platforms
Andreas Selvik, Meta Platforms
Rylie Pavlik, Collabora, Ltd.
Visão geral
Essa extensão aumenta os tamanhos máximos de nomes de struct e fornece uma nova função para acessar esses novos nomes estendidos.
xrStructureTypeToString2KHR é fornecido para permitir a recuperação dos nomes de string de enumeradores de tipo de estrutura com comprimentos que excedem o limite original de 63 bytes (64 bytes, incluindo o terminador nulo). xrStructureTypeToString2KHR retorna strings de nome para enumeradores de tipo de estrutura de até 255 bytes de comprimento (256 bytes, incluindo o terminador nulo). Um aplicativo pode usar xrStructureTypeToString2KHR como um substituto direto para xrStructureTypeToString , porque ele funciona com todos os enumeradores de tipo de estrutura, independentemente do comprimento do nome da string.
Como recuperar strings de enumeradores de tipo de estrutura
Se o xrStructureTypeToString original for usado para recuperar nomes de string para enumeradores de tipo de estrutura com comprimentos de nome superiores a 63 bytes, o comportamento será esclarecido da seguinte maneira. xrStructureTypeToString precisa preencher o buffer com o nome correto, exceto que a string precisa ser truncada em um limite de ponto de código para caber no buffer disponível. Ou seja, a string retornada precisa ser sempre UTF-8 válida.
A função xrStructureTypeToString2KHR é definida como:
XrResult xrStructureTypeToString2KHR(
XrInstance instance,
XrStructureType value,
char buffer[XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR]);
Descrições dos parâmetros
instanceé o identificador da instância para solicitar a string.valueé o valor de XrStructureType a ser transformado em uma string.bufferé o buffer que será usado para retornar a string.
Retorna o nome do valor XrStructureType fornecido copiando uma string UTF-8 válida terminada em nulo para buffer .
Em todos os casos, a string retornada precisa ser uma das seguintes:
Valores de saída de string de tipo de estrutura
- A string literal definida para o valor numérico fornecido na especificação ou extensão principal. Por exemplo, o valor de
XR_TYPE_INSTANCE_CREATE_INFOresulta na stringXR_TYPE_INSTANCE_CREATE_INFO. XR_UNKNOWN_STRUCTURE_TYPE_concatenado com o número do tipo de estrutura expresso como um número decimal.
Para enumeradores de tipo de estrutura cujos nomes se ajustam ao limite de tamanho original de 63 bytes, xrStructureTypeToString2KHR precisa retornar a mesma string resultante que xrStructureTypeToString , até o terminador nulo.
Uso válido (implícito)
- A extensão
XR_KHR_extended_struct_name_lengthsprecisa ser ativada antes de chamar xrStructureTypeToString2KHR. -
instanceprecisa ser um identificador XrInstance válido. -
valueprecisa ser um valor XrStructureType válido. -
bufferprecisa ser uma matriz de caracteres de comprimentoXR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR.
Códigos de retorno
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_RUNTIME_FAILUREXR_ERROR_VALIDATION_FAILURE
O enumerador XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR define o tamanho do buffer transmitido para xrStructureTypeToString2KHR .
#define XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR 256
Novos comandos
Novas constantes de tipo enumerado
XR_KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAMEXR_KHR_extended_struct_name_lengths_SPEC_VERSIONXR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR
Histórico de versões
Revisão 1, 29/02/2024 (Matthew Langille)
- Descrição inicial da extensão
Revisão 2, 04/12/2025 (Kenny Vercaemer)
- Corrigir a especificação do comprimento do nome da estrutura