XR_KHR_extended_struct_name_lengths
Name String
XR_KHR_extended_struct_name_lengths
拡張機能のタイプ
インスタンス拡張機能
Registered Extension Number
149
リビジョン
2
Ratification Status(批准ステータス)
批准
拡張機能とバージョンの依存関係
最終更新日
2025-12-04
IP ステータス
既知の IP 申し立てはありません。
寄与者
Matthew Langille、Meta Platforms
Andreas Selvik、Meta Platforms
Rylie Pavlik、Collabora, Ltd.
概要
この拡張機能は、構造体名の最大サイズを拡張し、これらの新しい拡張名にアクセスするための新しい関数を提供します。
xrStructureTypeToString2KHR は、元の 63 バイト(null 終端文字を含む 64 バイト)の制限を超える長さの構造体型列挙子の文字列名を取得できるようにするために提供されています。xrStructureTypeToString2KHR は、長さが最大 255 バイト(null 終端文字を含む 256 バイト)の構造体型列挙子の名前文字列を返します。アプリケーションは、文字列名の長さに関係なく、すべての構造体型列挙子で動作するため、xrStructureTypeToString のドロップイン代替として xrStructureTypeToString2KHR を使用できます。
構造体型の列挙文字列の取得
元の xrStructureTypeToString を使用して、名前の長さが 63 バイトを超える構造体型の列挙子の文字列名を取得する場合、その動作は次のように明確化されます。xrStructureTypeToString は、利用可能なバッファに収まるようにコードポイント境界で文字列を切り詰める必要があることを除き、バッファに正しい名前を入力しなければなりません。つまり、返される文字列は常に有効な UTF-8 でなければなりません。
xrStructureTypeToString2KHR 関数は次のように定義されます。
XrResult xrStructureTypeToString2KHR(
XrInstance instance,
XrStructureType value,
char buffer[XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR]);
パラメータの説明
instanceは、文字列をリクエストするインスタンスのハンドルです。valueは、文字列に変換する XrStructureType 値です。bufferは、文字列を返すために使用されるバッファです。
有効な null 終端 UTF-8 文字列を buffer にコピーして、指定された XrStructureType 値の名前を返します。
いずれの場合も、返される文字列は次のいずれかである必要があります。
構造型文字列の出力値
- コア仕様または拡張機能で指定された数値に対して定義されたリテラル文字列。(例:
XR_TYPE_INSTANCE_CREATE_INFOの値は文字列XR_TYPE_INSTANCE_CREATE_INFOになります)。 XR_UNKNOWN_STRUCTURE_TYPE_と、10 進数で表される構造体型の番号が連結されます。
名前が元のサイズ制限の 63 バイトに収まる構造体型の列挙子の場合、xrStructureTypeToString2KHR は、ヌル終端文字まで、xrStructureTypeToString と同じ結果の文字列を返さなければなりません。
有効な使用方法(暗黙的)
- xrStructureTypeToString2KHR を呼び出す前に
XR_KHR_extended_struct_name_lengths拡張機能を有効にする必要があります。 -
instanceは、有効な XrInstance ハンドルでなければなりません。 -
valueは、有効な XrStructureType 値でなければなりません。 -
bufferは、長さXR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHRの文字配列でなければなりません。
戻りコード
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 列挙子は、xrStructureTypeToString2KHR に渡されるバッファのサイズを定義します。
#define XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR 256
新しいコマンド
新しい列挙型定数
XR_KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAMEXR_KHR_extended_struct_name_lengths_SPEC_VERSIONXR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR
変更履歴
リビジョン 1、2024-02-29(Matthew Langille)
- 拡張機能の最初の説明
リビジョン 2、2025-12-04(Kenny Vercaemer)
- 構造名の長さの指定を修正