XR_KHR_extended_struct_name_lengths

Name String

XR_KHR_extended_struct_name_lengths

Loại phần mở rộng

Tiện ích Instance

Số máy nhánh đã đăng ký

149

Bản sửa đổi

2

Trạng thái phê chuẩn

Được phê duyệt

Phần mở rộng và các phần phụ thuộc của phiên bản

OpenXR 1.0

Ngày sửa đổi gần đây nhất

2025-12-04

Trạng thái IP

Không có thông báo xác nhận quyền sở hữu nào đã biết về quyền sở hữu trí tuệ.

Cộng tác viên

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

Tổng quan

Tiện ích này mở rộng kích thước tên cấu trúc tối đa và cung cấp một hàm mới để truy cập vào các tên mở rộng mới này.

xrStructureTypeToString2KHR được cung cấp để cho phép truy xuất tên chuỗi của các kiểu cấu trúc có độ dài vượt quá giới hạn ban đầu là 63 byte (64 byte bao gồm cả dấu kết thúc rỗng). xrStructureTypeToString2KHR trả về các chuỗi tên cho các kiểu cấu trúc có độ dài lên đến 255 byte (256 byte bao gồm cả dấu kết thúc rỗng). Một ứng dụng có thể sử dụng xrStructureTypeToString2KHR làm giải pháp thay thế tức thì cho xrStructureTypeToString , vì giải pháp này hoạt động với tất cả các kiểu cấu trúc liệt kê, bất kể độ dài tên chuỗi.

Truy xuất các chuỗi liệt kê Loại cấu trúc

Nếu xrStructureTypeToString ban đầu được dùng để truy xuất tên chuỗi cho các kiểu cấu trúc có độ dài tên vượt quá 63 byte, thì hành vi của kiểu này sẽ được làm rõ như sau. xrStructureTypeToString phải điền tên chính xác vào vùng đệm, ngoại trừ việc chuỗi phải bị cắt bớt tại ranh giới điểm mã để phù hợp với vùng đệm có sẵn. Tức là chuỗi được trả về phải luôn là UTF-8 hợp lệ.

Hàm xrStructureTypeToString2KHR được xác định như sau:

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

Nội dung mô tả về tham số

  • instance là giá trị nhận dạng của thực thể để yêu cầu chuỗi.
  • value là giá trị XrStructureType cần chuyển thành chuỗi.
  • buffer là vùng đệm sẽ được dùng để trả về chuỗi.

Trả về tên của giá trị XrStructureType đã cho bằng cách sao chép một chuỗi UTF-8 hợp lệ có dấu kết thúc rỗng vào buffer .

Trong mọi trường hợp, chuỗi được trả về phải là một trong những chuỗi sau:

Giá trị đầu ra của chuỗi loại cấu trúc

  • Chuỗi ký tự được xác định cho giá trị dạng số đã cho trong quy cách hoặc tiện ích cốt lõi. (ví dụ: giá trị của XR_TYPE_INSTANCE_CREATE_INFO sẽ cho ra chuỗi XR_TYPE_INSTANCE_CREATE_INFO )
  • XR_UNKNOWN_STRUCTURE_TYPE_ được nối với số loại cấu trúc được biểu thị dưới dạng số thập phân.

Đối với các giá trị liệt kê thuộc loại cấu trúc có tên nằm trong giới hạn kích thước ban đầu là 63 byte, xrStructureTypeToString2KHR phải trả về cùng một chuỗi kết quả như xrStructureTypeToString , cho đến dấu kết thúc bằng rỗng.

Sử dụng hợp lệ (Ngầm ẩn)

  • Bạn phải bật tiện ích XR_KHR_extended_struct_name_lengths trước khi gọi xrStructureTypeToString2KHR
  • instance phải là một đối tượng XrInstance hợp lệ
  • value must là một giá trị XrStructureType hợp lệ
  • buffer phải là một mảng ký tự có độ dài XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR

Mã trả về

Thành công

  • XR_SUCCESS

Thất bại

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_VALIDATION_FAILURE

Số liệu XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR xác định kích thước của vùng đệm được truyền đến xrStructureTypeToString2KHR .

#define XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR 256

Lệnh mới

Hằng số Enum mới

  • XR_KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAME
  • XR_KHR_extended_struct_name_lengths_SPEC_VERSION
  • XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR

Nhật ký phiên bản

  • Bản sửa đổi 1, ngày 29/2/2024 (Matthew Langille)

    • Nội dung mô tả ban đầu của tiện ích
  • Bản sửa đổi 2, ngày 4 tháng 12 năm 2025 (Kenny Vercaemer)

    • Khắc phục quy cách về độ dài tên cấu trúc