xref: /aosp_15_r20/external/cronet/base/win/pe_image_test.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2015 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #include <windows.h>
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include <cfgmgr32.h>
8*6777b538SAndroid Build Coastguard Worker #include <shlobj.h>
9*6777b538SAndroid Build Coastguard Worker 
10*6777b538SAndroid Build Coastguard Worker #pragma comment(linker, "/export:FwdExport=KERNEL32.CreateFileA")
11*6777b538SAndroid Build Coastguard Worker 
12*6777b538SAndroid Build Coastguard Worker extern "C" {
13*6777b538SAndroid Build Coastguard Worker 
ExportFunc1()14*6777b538SAndroid Build Coastguard Worker __declspec(dllexport) void ExportFunc1() {
15*6777b538SAndroid Build Coastguard Worker   // Call into user32.dll.
16*6777b538SAndroid Build Coastguard Worker   HWND dummy = GetDesktopWindow();
17*6777b538SAndroid Build Coastguard Worker   SetWindowTextA(dummy, "dummy");
18*6777b538SAndroid Build Coastguard Worker }
19*6777b538SAndroid Build Coastguard Worker 
ExportFunc2()20*6777b538SAndroid Build Coastguard Worker __declspec(dllexport) void ExportFunc2() {
21*6777b538SAndroid Build Coastguard Worker   // Call into cfgmgr32.dll.
22*6777b538SAndroid Build Coastguard Worker   CM_MapCrToWin32Err(CR_SUCCESS, ERROR_SUCCESS);
23*6777b538SAndroid Build Coastguard Worker 
24*6777b538SAndroid Build Coastguard Worker   // Call into shell32.dll.
25*6777b538SAndroid Build Coastguard Worker   PWSTR path = nullptr;
26*6777b538SAndroid Build Coastguard Worker   if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_Public, 0, nullptr, &path)))
27*6777b538SAndroid Build Coastguard Worker     CoTaskMemFree(path);
28*6777b538SAndroid Build Coastguard Worker 
29*6777b538SAndroid Build Coastguard Worker   // Call into kernel32.dll.
30*6777b538SAndroid Build Coastguard Worker   HANDLE h = CreateEvent(nullptr, FALSE, FALSE, nullptr);
31*6777b538SAndroid Build Coastguard Worker   CloseHandle(h);
32*6777b538SAndroid Build Coastguard Worker }
33*6777b538SAndroid Build Coastguard Worker 
34*6777b538SAndroid Build Coastguard Worker }  // extern "C"
35