42 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
|  | //////////////////////////////////////////////////////////////////////////////
 | ||
|  | //
 | ||
|  | //  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.
 |