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 |
헤더 |
|