WindowsCreateStringReference 함수(winstring.h)
지정된 문자열을 기반으로 새 문자열 참조를 만듭니다.
구문
HRESULT WindowsCreateStringReference(
PCWSTR sourceString,
UINT32 length,
HSTRING_HEADER *hstringHeader,
HSTRING *string
);
매개 변수
sourceString
형식: [in] PCWSTR
새 HSTRING의 원본으로 사용할 null로 종료된 문자열입니다.
길이 값이 0인 경우 NULL 값은 빈 문자열을 나타냅니다. 스택 프레임에 할당해야 합니다.
length
형식: [in] UINT32
sourceString의 길이(유니코드 문자)입니다. sourceString이 NULL인 경우 0이어야 합니다. 0보다 큰 경우 sourceString 에는 종료 null 문자가 있어야 합니다.
hstringHeader
형식: [out] HSTRING_HEADER*
Windows 런타임 문자열을 문자열 참조 또는 패스트 패스 문자열로 식별하는 데 사용하는 구조체에 대한 포인터입니다.
string
형식: [out] HSTRING*
새로 만든 문자열에 대한 포인터이거나 오류가 발생하는 경우 NULL 입니다. 문자열의 기존 콘텐츠를 덮어씁니다. HSTRING은 표준 핸들 형식입니다.
반환 값
형식: HRESULT
이 함수는 이러한 값 중 하나를 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
HSTRING이 성공적으로 만들어졌습니다. |
|
string 또는 hstringHeader가 NULL이거나 문자열이 null로 종료되지 않습니다. |
|
새 HSTRING을 할당하지 못했습니다. |
|
sourceString 은 NULL 이고 길이 는 0이 아닙니다. |
설명
WindowsCreateStringReference 함수를 사용하여 기존 문자열에서 HSTRING을 만듭니다. 이러한 종류의 HSTRING 은 패스트 패스 문자열로 명명됩니다. WindowsCreateString 함수에서 만든 HSTRING과 달리 새 HSTRING의 백업 버퍼 수명은 Windows 런타임 관리되지 않습니다. 호출자는 힙 할당을 방지하고 메모리 누수 위험을 제거하기 위해 초기화되지 않은 HSTRING_HEADER 함께 스택 프레임에 sourceString을 할당합니다. 호출자는 연결된 HSTRING의 수명 동안 sourceString 및 hstringHeader의 내용이 변경되지 않도록 해야 합니다.
WindowsCreateStringReference 함수에서 만든 빠른 패스 HSTRING을 할당 해제하기 위해 WindowsDeleteString 함수를 호출할 필요가 없습니다.
빈 HSTRING을 만들려면 sourceString의 경우 NULL을, 길이는 0을 전달합니다.
Windows 런타임 hstringHeader out 매개 변수에 반환되는 HSTRING_HEADER 구조를 사용하여 패스트 패스 문자열을 추적합니다. HSTRING_HEADER 내용을 변경하지 마세요.
요구 사항
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | winstring.h |