XR_KHR_extended_struct_name_lengths

Name String

XR_KHR_extended_struct_name_lengths

Uzantı Türü

Örnek uzantısı

Kayıtlı Uzantı Numarası

149

Düzeltme

2

Onay durumu

Onaylanma tarihi

Uzantı ve Sürüm Bağımlılıkları

OpenXR 1.0

Son Değiştirilme Tarihi

2025-12-04

IP Durumu

Bilinen IP hak talebi yok.

Katkıda bulunanlar

Matthew Langille, Meta Platforms
Andreas Selvik, Meta Platforms
Rylie Pavlik, Collabora, Ltd.

Genel Bakış

Bu uzantı, maksimum yapı adı boyutlarını genişletir ve bu yeni genişletilmiş adlara erişmek için yeni bir işlev sağlar.

xrStructureTypeToString2KHR, yapı türü numaralandırılmış değerlerinin dize adlarının, orijinal 63 baytlık sınırı (boş sonlandırıcı dahil 64 bayt) aşan uzunluklarda alınmasına olanak tanımak için sağlanır. xrStructureTypeToString2KHR, uzunluğu 255 bayta (boş sonlandırıcı dahil 256 bayt) kadar olan yapı türü numaralandırılmış değerleri için ad dizeleri döndürür. Bir uygulama, dize adı uzunluğundan bağımsız olarak tüm yapı türü numaralandırıcılarıyla çalıştığı için xrStructureTypeToString yerine doğrudan xrStructureTypeToString2KHR'yi kullanabilir.

Yapı Türü Numaralandırılmış Dizelerini Alma

63 baytı aşan ad uzunluklarına sahip yapı türü numaralandırıcıları için dize adlarını almak üzere orijinal xrStructureTypeToString kullanılıyorsa davranışı aşağıdaki gibi açıklanır. xrStructureTypeToString, arabelleği doğru adla doldurmalıdır. Ancak dize, kullanılabilir arabelleğe sığması için kod noktası sınırında kesilmelidir. Yani döndürülen dize her zaman geçerli UTF-8 olmalıdır.

xrStructureTypeToString2KHR işlevi şu şekilde tanımlanır:

XrResult xrStructureTypeToString2KHR(
    XrInstance                                  instance,
    XrStructureType                             value,
    char                                        buffer[XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR]);

Parametre Açıklamaları

  • instance, dizeyi istemek için kullanılan örneğin adıdır.
  • value, dizeye dönüştürülecek XrStructureType değeridir.
  • buffer, dizenin döndürülmesinde kullanılacak arabellektir.

Geçerli bir null ile sonlandırılmış UTF-8 dizesini buffer içine kopyalayarak sağlanan XrStructureType değerinin adını döndürür .

Her durumda döndürülen dize aşağıdakilerden biri olmalıdır:

Yapı Türü Dize Çıkış Değerleri

  • Temel spesifikasyonda veya uzantıda sağlanan sayısal değer için tanımlanan gerçek dize. (ör. XR_TYPE_INSTANCE_CREATE_INFO değeri XR_TYPE_INSTANCE_CREATE_INFO dizesiyle sonuçlanır)
  • XR_UNKNOWN_STRUCTURE_TYPE_, ondalık sayı olarak ifade edilen yapı türü numarasıyla birleştirilir.

Adları 63 baytlık orijinal boyut sınırına uyan yapı türü numaralandırıcıları için xrStructureTypeToString2KHR, xrStructureTypeToString ile aynı sonuç dizesini (null sonlandırıcıya kadar) döndürmelidir.

Geçerli Kullanım (Dolaylı)

  • xrStructureTypeToString2KHR çağrılmadan önce XR_KHR_extended_struct_name_lengths uzantısı etkinleştirilmelidir.
  • instance geçerli bir XrInstance işleyeni olmalıdır.
  • value geçerli bir XrStructureType değeri olmalıdır.
  • buffer, XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR uzunluğunda bir karakter dizisi olmalıdır.

Dönüş Kodları

Başarılı

  • XR_SUCCESS

Hata

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_VALIDATION_FAILURE

XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR numaralandırılmış değeri, xrStructureTypeToString2KHR işlevine iletilen arabelleğin boyutunu tanımlar .

#define XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR 256

Yeni Komutlar

Yeni Enum Sabitleri

  • XR_KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAME
  • XR_KHR_extended_struct_name_lengths_SPEC_VERSION
  • XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR

Sürüm Geçmişi

  • 1. düzeltme, 29.02.2024 (Matthew Langille)

    • İlk uzantı açıklaması
  • 2. düzeltme, 04.12.2025 (Kenny Vercaemer)

    • Yapı adı uzunluğu spesifikasyonunu düzeltme