Sync DrDump crash handler with TortoiseSVN codebase
[TortoiseGit.git] / ext / CrashServer / CrashHandler / SendRpt / utils.cpp
blob2a68ff31457fece5fcbad2a2e937bd2caa5c1e90
1 // Copyright 2014 Idol Software, Inc.
2 //
3 // This file is part of Doctor Dump SDK.
4 //
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.
9 //
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/>.
18 #include "StdAfx.h"
19 #include "utils.h"
21 std::pair<LPCVOID, size_t> ExtractDataFromResource(HMODULE hImage, DWORD resId)
23 HRSRC hRes = FindResource(hImage, MAKEINTRESOURCE(resId), RT_RCDATA);
24 if (!hRes)
25 throw std::runtime_error("failed to find data in resources");
27 HGLOBAL hResGlobal = LoadResource(hImage, hRes);
28 if (!hResGlobal)
29 throw std::runtime_error("failed to load data from resources");
31 return std::make_pair(LockResource(hResGlobal), SizeofResource(hImage, hRes));