WindowsCreateStringReference 함수(winstring.h)

지정된 문자열을 기반으로 새 문자열 참조를 만듭니다.

Syntax

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
S_OK
HSTRING이 성공적으로 만들어졌습니다.
E_INVALIDARG
문자열 또는 hstringHeader가 NULL이거나 문자열이 null로 종료되지 않습니다.
E_OUTOFMEMORY
새 HSTRING을 할당하지 못했습니다.
E_POINTER
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 앱]
대상 플랫폼 윈도우즈
Header winstring.h
Library RuntimeObject.lib

참고하십시오

WindowsCreateString

WindowsDeleteString