XR_KHR_extended_struct_name_lengths

מחרוזת שם

XR_KHR_extended_struct_name_lengths

סוג התוסף

הרחבת המכונה

מספר שלוחה רשום

149

Revision

2

סטטוס האישור

אושר

תלות בתוסף ובגרסה

OpenXR 1.0

תאריך השינוי האחרון

2025-12-04

סטטוס כתובת ה-IP

לא ידוע על תלונות בנושא זכויות יוצרים שקשורות לכתובות IP.

שותפים ביצירת התוכן

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

סקירה כללית

התוסף הזה מרחיב את הגודל המקסימלי של שמות המבנים ומספק פונקציה חדשה לגישה לשמות המורחבים החדשים האלה.

הפונקציה xrStructureTypeToString2KHR מסופקת כדי לאפשר אחזור של שמות מחרוזות של סוגי מבנים עם אורכים שחורגים מהמגבלה המקורית של 63 בייטים (64 בייטים כולל תו סיום המחרוזת). הפונקציה xrStructureTypeToString2KHR מחזירה מחרוזות של שמות לסוגי מבנים באורך של עד 255 בייטים (256 בייטים כולל תו סיום המחרוזת). אפליקציה יכולה להשתמש ב-xrStructureTypeToString2KHR כתחליף ל-xrStructureTypeToString , כי היא פועלת עם כל סוגי המבנים, בלי קשר לאורך שם המחרוזת.

אחזור מחרוזות של סוגי מבנים

אם משתמשים ב-xrStructureTypeToString המקורי כדי לאחזר שמות מחרוזות עבור סוגי מבנה עם אורכי שמות שגדולים מ-63 בייט, ההתנהגות שלו מוסברת באופן הבא. הפונקציה xrStructureTypeToString חייבת למלא את המאגר בשם הנכון, אלא שהמחרוזת חייבת להיחתך בגבול של נקודת קוד כדי להתאים למאגר הזמין. כלומר, המחרוזת שמוחזרת חייבת תמיד להיות בקידוד UTF-8 תקין.

הפונקציה xrStructureTypeToString2KHR מוגדרת כך:

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

תיאורי הפרמטרים

  • instance הוא ה-handle של המופע שממנו רוצים לקבל את המחרוזת.
  • value הוא הערך XrStructureType שרוצים להפוך למחרוזת.
  • buffer הוא המאגר שישמש להחזרת המחרוזת.

הפונקציה מחזירה את השם של הערך XrStructureType שצוין על ידי העתקת מחרוזת UTF-8 תקינה שמסתיימת בערך null אל buffer .

בכל המקרים, המחרוזת שמוחזרת חייבת להיות אחת מהאפשרויות הבאות:

ערכי פלט של מחרוזת מסוג מבנה

  • מחרוזת מילולית שמוגדרת לערך המספרי שצוין במפרט הליבה או בתוסף. (לדוגמה, הערך XR_TYPE_INSTANCE_CREATE_INFO יניב את המחרוזת XR_TYPE_INSTANCE_CREATE_INFO )
  • XR_UNKNOWN_STRUCTURE_TYPE_ בצירוף מספר סוג המבנה שמוצג כמספר עשרוני.

עבור סוגי מבנים ששמותיהם מתאימים למגבלת הגודל המקורית של 63 בייט, הפונקציה xrStructureTypeToString2KHR חייבת להחזיר את אותה מחרוזת שמוחזרת מהפונקציה xrStructureTypeToString , עד לתו המסיים null.

שימוש תקף (משתמע)

  • XR_KHR_extended_struct_name_lengths התוסף חייב להיות מופעל לפני הקריאה ל-xrStructureTypeToString2KHR
  • instance חייב להיות ידית XrInstance תקינה
  • value חייב להיות ערך תקין של XrStructureType
  • buffer חייב להיות מערך תווים באורך XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR

קודי החזרה

הצלחה

  • XR_SUCCESS

Failure

  • 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 מגדיר את גודל המאגר שמועבר אל xrStructureTypeToString2KHR .

#define XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR 256

פקודות חדשות

New Enum Constants

  • XR_KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAME
  • XR_KHR_extended_struct_name_lengths_SPEC_VERSION
  • XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR

היסטוריית הגרסאות

  • גרסה 1, 29 בפברואר 2024 (Matthew Langille)

    • תיאור ראשוני של התוסף
  • גרסה 2, 2025-12-04 (Kenny Vercaemer)

    • תיקון אורך השם של המבנה