aboutsummaryrefslogtreecommitdiffhomepage
path: root/ext/detours/samples/findfunc/target.cpp
blob: 052e2abe1306e05f0752f488b73641bfefe0ebe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//////////////////////////////////////////////////////////////////////////////
//
//  Detour Test Program (target.cpp of target.dll)
//
//  Microsoft Research Detours Package
//
//  Copyright (c) Microsoft Corporation.  All rights reserved.
//

#include <stdio.h>
#include <windows.h>
#include "target.h"

extern "C" DWORD WINAPI Hidden(DWORD dwCount)
{
    printf("target.dll:     Hidden(%ld) -> %ld.\n", dwCount, dwCount + 1);
    return dwCount + 1;
}

// We use this point to ensure Hidden isn't inlined.
static DWORD (WINAPI * SelfHidden)(DWORD dwCount) = Hidden;

DWORD WINAPI Target(DWORD dwCount)
{
    printf("target.dll:   Target  (%ld) -> %ld.\n", dwCount, dwCount + 100);
    dwCount = SelfHidden(dwCount + 100);
    printf("target.dll:   Target  (.....) -> %ld.\n", dwCount);
    return dwCount;
}

BOOL WINAPI DllMain(HINSTANCE hinst, DWORD dwReason, LPVOID reserved)
{
    (void)hinst;
    (void)dwReason;
    (void)reserved;

    return TRUE;
}

//
///////////////////////////////////////////////////////////////// End of File.