WindowsPromoteStringBuffer 함수(winstring.h)
지정된 HSTRING_BUFFERHSTRING을 만듭니다.
구문
HRESULT WindowsPromoteStringBuffer(
HSTRING_BUFFER bufferHandle,
HSTRING *string
);
매개 변수
bufferHandle
형식: [in] HSTRING_BUFFER
새 HSTRING에 사용할 버퍼입니다. WindowsPreallocateStringBuffer 함수를 사용하여 HSTRING_BUFFER 만들어야 합니다.
string
형식: [out] HSTRING*
bufferHandle의 내용을 포함하는 새로 만든 HSTRING입니다.
반환 값
형식: HRESULT
이 함수는 이러한 값 중 하나를 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
HSTRING이 성공적으로 만들어졌습니다. |
|
string 은 NULL입니다. |
|
bufferHandle 은 WindowsPreallocateStringBuffer 함수를 호출하여 만들지 않았거나 호출자가 bufferHandle에서 종료되는 NULL 문자를 덮어씁니다. |
설명
WindowsPromoteStringBuffer 함수를 사용하여 HSTRING_BUFFER 새 HSTRING을 만듭니다. WindowsPromoteStringBuffer 함수를 호출하면 변경 가능한 버퍼가 변경할 수 없는 HSTRING으로 변환됩니다. WindowsPreallocateStringBuffer 함수를 사용하여 HSTRING_BUFFER 만듭니다.
WindowsPromoteStringBuffer 호출이 실패하면 WindowsDeleteStringBuffer 함수를 호출하여 변경 가능한 버퍼를 취소할 수 있습니다.
WindowsPromoteStringBuffer 함수에 대한 각 호출은 WindowsDeleteString에 대한 해당 호출과 일치해야 합니다.
예제
다음 코드 예제에서는 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);
}
}
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | winstring.h |
라이브러리 | RuntimeObject.lib |
DLL | ComBase.dll |