17 if (hInstance ==
nullptr) {
18 hInstance = GetModuleHandleA(NULL);
20 HRSRC res = FindResourceA(hInstance, MAKEINTRESOURCEA(res_id), res_type);
25 HGLOBAL res_handle = LoadResource(hInstance, res);
26 if (res_handle ==
nullptr) {
30 BYTE* res_data = (BYTE*) LockResource(res_handle);
31 size_t r_size =
static_cast<size_t>(SizeofResource(hInstance, res));
32 if (out_size != 0 && out_size <= r_size) {
37 if (out_buf !=
nullptr) {
38 memcpy(out_buf, res_data, r_size);
43 FreeResource(res_handle);