LoadStringW 함수(winuser.h)
지정된 모듈과 연결된 실행 파일에서 문자열 리소스를 로드하고 문자열을 종료 null 문자가 있는 버퍼에 복사하거나 문자열 리소스 자체에 대한 읽기 전용 포인터를 반환합니다.
통사론
int LoadStringW(
[in, optional] HINSTANCE hInstance,
[in] UINT uID,
[out] LPWSTR lpBuffer,
[in] int cchBufferMax
);
매개 변수
[in, optional] hInstance
형식: HINSTANCE
실행 파일에 문자열 리소스가 포함된 모듈 인스턴스에 대한 핸들입니다. 애플리케이션 자체에 대한 핸들을 가져오려면 NULL사용하여 GetModuleHandle 함수를 호출합니다.
[in] uID
형식: UINT
로드할 문자열의 식별자입니다.
[out] lpBuffer
형식: LPTSTR
문자열을 받을 버퍼(cchBufferMax 0이 아닌 경우) 또는 문자열 리소스 자체에 대한 읽기 전용 포인터입니다(cchBufferMax 0인 경우). 포인터를 보유하기에 충분한 길이여야 합니다(8바이트).
[in] cchBufferMax
형식: int
버퍼의 크기(문자)입니다. 문자열이 잘리고 지정된 문자 수보다 긴 경우 null로 종료됩니다. 이 매개 변수가 0이면 lpBuffer 문자열 리소스 자체에 대한 읽기 전용 포인터를 받습니다.
반환 값
형식: int
함수가 성공하면 반환 값은 다음 중 하나입니다.
- 종료 null 문자를 포함하지 않고 버퍼에 복사된 문자 수(cchBufferMax 0이 아닌 경우)입니다.
- lpBuffer가 가리키는 문자열 리소스의 문자 수입니다(cchBufferMax 0인 경우). 문자열 리소스는 모듈의 리소스 테이블에서 null로 종료되지 않도록 보장되지 않으며, 이 값을 사용하여 문자열 리소스가 끝나는 위치를 확인할 수 있습니다.
- 문자열 리소스가 없으면 0입니다.
확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
0을 cchBufferMax 전달하여 lpBuffer 매개 변수의 문자열 리소스에 대한 읽기 전용 포인터를 반환하는 경우 반환 값의 문자 수를 사용하여 문자열 리소스의 길이를 확인합니다. 문자열 리소스는 모듈의 리소스 테이블에서 null로 종료되지 않습니다. 그러나 리소스 테이블에는 null 문자가 포함될 수 있습니다. 문자열 리소스는 16개의 문자열 블록에 저장되며 블록 내의 빈 슬롯은 null 문자로 표시됩니다.
보안 설명
이 함수를 잘못 사용하면 애플리케이션의 보안이 손상됩니다. 잘못된 사용에는 nBufferMax 매개 변수에 잘못된 크기를 지정하는 것이 포함됩니다. 예를 들어sizeof(szBuffer)/sizeof(TCHAR)
또는 sizeof(szBuffer)/sizeof(szBuffer[0])
사용하면 버퍼의 적절한 크기가 지정될 수 있습니다.
예제
예제는 자식 창 만들기 참조하세요.
메모
winuser.h 헤더는 LOADString을 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
참고 항목
개념
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
기타 리소스
참조