Bagikan melalui


Fungsi WindowsPromoteStringBuffer (winstring.h)

Membuat HSTRING dari HSTRING_BUFFER yang ditentukan.

Sintaks

HRESULT WindowsPromoteStringBuffer(
  HSTRING_BUFFER bufferHandle,
  HSTRING        *string
);

Parameter

bufferHandle

Jenis: [in] HSTRING_BUFFER

Buffer yang digunakan untuk HSTRING baru. Anda harus menggunakan fungsi WindowsPreallocateStringBuffer untuk membuat HSTRING_BUFFER.

string

Jenis: [out] HSTRING*

HSTRING yang baru dibuat yang berisi konten bufferHandle.

Mengembalikan nilai

Jenis: HRESULT

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
HSTRING berhasil dibuat.
E_POINTER
string adalah NULL.
E_INVALIDARG
bufferHandle tidak dibuat dengan memanggil fungsi WindowsPreallocateStringBuffer , atau pemanggil telah menimpa karakter NULL yang mengakhiri di bufferHandle.

Keterangan

Gunakan fungsi WindowsPromoteStringBuffer untuk membuat HSTRING baru dari HSTRING_BUFFER. Memanggil fungsi WindowsPromoteStringBuffer mengonversi buffer yang dapat diubah menjadi HSTRING yang tidak dapat diubah. Gunakan fungsi WindowsPreallocateStringBuffer untuk membuat HSTRING_BUFFER.

Jika panggilan WindowsPromoteStringBuffer gagal, Anda dapat memanggil fungsi WindowsDeleteStringBuffer untuk membuang buffer yang dapat diubah.

Setiap panggilan ke fungsi WindowsPromoteStringBuffer harus dicocokkan dengan panggilan yang sesuai ke WindowsDeleteString.

Contoh

Contoh kode berikut menunjukkan cara menggunakan fungsi WindowsPromoteStringBuffer .

#include <winstring.h>

int main()
{
    HSTRING hString = NULL;
    HSTRING_BUFFER hStringBuffer = NULL;
    PWSTR strBuffer = NULL;

    HRESULT hr = WindowsPreallocateStringBuffer(10, &strBuffer, &hStringBuffer);

    if (SUCCEEDED(hr))
    {
        // Fill in the buffer

        hr = WindowsPromoteStringBuffer(hStringBuffer, &hString);

        if (SUCCEEDED(hr))
        {
            WindowsDeleteString(hString);
        }
        else
        {
            WindowsDeleteStringBuffer(hStringBuffer);
        }
    }
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2012 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header winstring.h
Pustaka RuntimeObject.lib
DLL ComBase.dll

Lihat juga

HSTRING

HSTRING_BUFFER

WindowsDeleteString

WindowsDeleteStringBuffer

WindowsPreallocateStringBuffer