다음을 통해 공유


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 String 개체
.NET Framework System.String 클래스

 

HSTRING 핸들은 표준 핸들 형식입니다. 의미상 NULL 값을 포함하는 HSTRING은 콘텐츠 문자 0개와 종료 NULL 문자로 구성된 빈 문자열을 나타냅니다. 문자가 0인 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로 설정하는 것이 좋습니다.

변경할 수 없는 HSTRING을 만드는 데 사용할 수 있는 변경 가능한 문자열 버퍼를 할당하려면 WindowsPreallocateStringBuffer 함수를 호출합니다. 버퍼 채우기가 완료되면 WindowsPromoteStringBuffer 함수를 호출하여 HSTRING을 만듭니다. 이 2단계 생성 패턴은 "문자열 작성기"에 유사한 기능을 사용하도록 설정합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 8
지원되는 최소 서버
Windows Server 2012
헤더
Hstring.h

추가 정보

WindowsCreateString

WindowsDeleteString

WindowsDuplicateString

WindowsPreallocateStringBuffer