LoadResource 함수(libloaderapi.h)
메모리에서 지정된 리소스의 첫 번째 바이트에 대한 포인터를 가져오는 데 사용할 수 있는 핸들을 검색합니다.
구문
HGLOBAL LoadResource(
[in, optional] HMODULE hModule,
[in] HRSRC hResInfo
);
매개 변수
[in, optional] hModule
형식: HMODULE
실행 파일에 리소스가 포함된 모듈에 대한 핸들입니다. hModule이 NULL인 경우 시스템은 현재 프로세스를 만드는 데 사용된 모듈에서 리소스를 로드합니다.
[in] hResInfo
형식: HRSRC
로드할 리소스에 대한 핸들입니다. 이 핸들은 FindResource 또는 FindResourceEx 함수에서 반환됩니다.
반환 값
형식: HGLOBAL
함수가 성공하면 반환 값은 리소스와 연결된 데이터에 대한 핸들입니다.
함수가 실패하면 반환 값은 NULL입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
LoadResource의 반환 형식은 함수가 전역 메모리 블록에 대한 핸들을 반환하기 때문이 아니라 이전 버전과의 호환성을 위해 HGLOBAL입니다. 이 핸들을 GlobalLock 또는 GlobalFree 함수에 전달하지 마세요. 리소스 데이터의 첫 번째 바이트에 대한 포인터를 가져오려면 LockResource 함수를 호출합니다. 리소스 크기를 가져오려면 SizeofResource를 호출합니다.
GlobalSize는 리소스 HGLOBAL에 대해 0을 반환합니다. 따라서 HGLOBAL의 크기를 결정하기 위해 GlobalSize에 의존하는 모든 API가 제대로 작동하지 않습니다. 예를 들어 CreateStreamOnHGlobal 대신 SHCreateMemStream을 사용합니다.
리소스를 즉시 사용하려면 애플리케이션에서 다음 리소스별 함수를 사용하여 한 번의 호출로 리소스를 찾아 로드해야 합니다.
함수 | 작업 | 리소스를 제거하려면 |
---|---|---|
FormatMessage | 메시지 테이블 항목 로드 및 서식 지정 | 추가 작업이 필요하지 않음 |
LoadAccelerators | 가속기 테이블 로드 | DestroyAcceleratorTable |
LoadBitmap | 비트맵 리소스 로드 | DeleteObject |
LoadCursor | 커서 리소스 로드 | DestroyCursor |
LoadIcon | 아이콘 리소스 로드 | DestroyIcon |
LoadMenu | 메뉴 리소스 로드 | DestroyMenu |
LoadString | 문자열 리소스 로드 | 추가 작업이 필요하지 않음 |
예를 들어 애플리케이션은 LoadIcon 함수를 사용하여 화면에 표시할 아이콘을 로드한 다음, 완료되면 DestroyIcon 을 로드할 수 있습니다.
예제
예제는 리소스 업데이트를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | libloaderapi.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |
추가 정보
개념
기타 리소스
참조