1 // Copyright 2014 Idol Software, Inc.
3 // This file is part of Doctor Dump SDK.
5 // Doctor Dump SDK is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this program. If not, see <http://www.gnu.org/licenses/>.
21 std::pair
<LPCVOID
, size_t> ExtractDataFromResource(HMODULE hImage
, DWORD resId
)
23 HRSRC hRes
= FindResource(hImage
, MAKEINTRESOURCE(resId
), RT_RCDATA
);
25 throw std::runtime_error("failed to find data in resources");
27 HGLOBAL hResGlobal
= LoadResource(hImage
, hRes
);
29 throw std::runtime_error("failed to load data from resources");
31 return std::make_pair(LockResource(hResGlobal
), SizeofResource(hImage
, hRes
));