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ı
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_INFOdeğeriXR_TYPE_INSTANCE_CREATE_INFOdizesiyle 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_lengthsuzantısı etkinleştirilmelidir. -
instancegeçerli bir XrInstance işleyeni olmalıdır. -
valuegeçerli bir XrStructureType değeri olmalıdır. -
buffer,XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHRuzunluğunda bir karakter dizisi olmalıdır.
Dönüş Kodları
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_RUNTIME_FAILUREXR_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_NAMEXR_KHR_extended_struct_name_lengths_SPEC_VERSIONXR_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