HSTRING

Windows 執行階段字串的控制碼。

typedef HSTRING__* HSTRING;

備註

使用HSTRING來代表Windows 執行階段中的不可變字串。

JavaScript 和其他語言,例如 C# 和 Microsoft Visual Basic,可以使用以 HSTRING表示的字串。 下表顯示 HSTRING 如何以其他語言表示。

程式設計語言 字串標記法
C++/WinRT winrt::hstring 類別
Visual C++ 元件延伸模組 (C++/CX) Platform::String 類別
JavaScript 字串物件
.NET Framework System.String 類別

 

HSTRING控制碼是標準控制碼類型。 語意上,包含Null值的HSTRING代表空字串,其中包含零內容字元和終止的 Null字元。 透過 WindowsCreateString 建立包含零個字元的字串,將會產生控制碼值 Null。 使用Null值呼叫WindowsGetStringRawBuffer時,將會傳回空字串的指標,後面只會傳回NUL終止字元。 不存在相異值,表示未初始化的 HSTRING

呼叫 WindowsCreateString 函式以建立新的 HSTRING,並呼叫 WindowsDeleteString 函式以釋放支援字串記憶體的參考。 呼叫 WindowsCreateStringReference 函式來建立字串參考,也稱為 快速傳遞字串

呼叫WindowsDuplicateString函式來複製HSTRING

呼叫 WindowsConcatString 函式來串連兩個字串。

呼叫 WindowsGetStringRawBuffer 函 式,以存取備份字串記憶體。

HSTRING 可以儲存和使用內嵌 NUL 字元。 使用 WindowsStringHasEmbeddedNull 函式,在使用任何可能會產生非預期結果的函式之前,先檢查內嵌 NUL 字元。 例如,大部分的 Windows 函式都會使用 LPCWSTR 做為輸入參數,而且只會計算字串的長度,直到遇到第一個 NUL 為止。

支援字串必須維持不變且以 Null 結束。 當呼叫程式碼使用 WindowsCreateStringReference 函式建立字串參考時,包含支援的字串表示的記憶體是由呼叫端所擁有。 Windows 執行階段依賴原始字串的內容維持不變。 將字串參考傳遞至Windows 執行階段時,呼叫者必須負責確保字串的內容不會變更,並在呼叫期間終止NUL。 Windows 執行階段會在呼叫傳回時釋放字串參考的所有參考。

當您收到 HSTRING 做為 out 參數時,最好在完成時將控制碼設定為 Null

呼叫 WindowsPreallocateStringBuffer 函 式,以配置可用來建立不可變 HSTRING的可變字串緩衝區。 當您完成填入緩衝區時,會呼叫 WindowsPromoteStringBuffer 函 式來建立 HSTRING。 這個雙階段建構模式可啟用類似「字串產生器」的功能。

規格需求

需求
最低支援的用戶端
Windows 8
最低支援的伺服器
Windows Server 2012
標頭
Hstring.h

另請參閱

WindowsCreateString

WindowsDeleteString

WindowsDuplicateString

WindowsPreallocateStringBuffer