116 lines
1.6 KiB
C
116 lines
1.6 KiB
C
/*++
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
sources
|
|
|
|
Abstract:
|
|
|
|
main file for the wow64svc
|
|
|
|
Author:
|
|
|
|
ATM Shafiqul Khalid (askhalid) 3-March-2000
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef __WOW64_SVC_H__
|
|
#define __WOW64_SVC_H__
|
|
|
|
#include <windows.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <tchar.h>
|
|
#include <time.h>
|
|
#include "wow64reg.h"
|
|
|
|
|
|
|
|
#define WOW64_SERVICE_NAME TEXT("Wow64")
|
|
#define WOW64_DISPLAY_NAME TEXT("Wow64 Service ")
|
|
#define WOW64_DRIVER_NAME TEXT("Windows NT Wow64 Driver")
|
|
#define WOW64_MONITOR_NAME TEXT("Windows NT Wow64 Monitor")
|
|
#define WOW64_IMAGE_NAME TEXT("%systemroot%\\system32\\Wow64.exe")
|
|
#define WOW64_FILE_PREFIX TEXT("Wow64")
|
|
#define WOW64_EXTENSION_NAME TEXT("Microsoft Routing Extension")
|
|
|
|
|
|
|
|
//
|
|
// We need to move messages to log file.
|
|
//
|
|
|
|
#if DBG
|
|
#define SvcDebugPrint(x) printf x
|
|
#else
|
|
#define SvcDebugPrint(x) ;
|
|
#endif
|
|
|
|
|
|
VOID
|
|
Wow64ServiceMain(
|
|
DWORD argc,
|
|
LPTSTR *argv
|
|
);
|
|
|
|
DWORD
|
|
InstallService(
|
|
LPTSTR Username,
|
|
LPTSTR Password
|
|
);
|
|
|
|
DWORD
|
|
RemoveService(
|
|
void
|
|
);
|
|
|
|
VOID
|
|
Wow64ServiceCtrlHandler(
|
|
DWORD Opcode
|
|
);
|
|
|
|
DWORD
|
|
ReportServiceStatus(
|
|
DWORD CurrentState,
|
|
DWORD Win32ExitCode,
|
|
DWORD WaitHint
|
|
);
|
|
|
|
DWORD
|
|
ServiceStart(
|
|
VOID
|
|
);
|
|
|
|
void
|
|
EndWow64Svc(
|
|
BOOL bEndProcess,
|
|
DWORD SeverityLevel
|
|
);
|
|
|
|
DWORD
|
|
ServiceStop(
|
|
void
|
|
);
|
|
|
|
DWORD
|
|
StartWow64Service ();
|
|
|
|
DWORD
|
|
StopWow64Service ();
|
|
|
|
DWORD
|
|
QueryWow64Service ();
|
|
|
|
//should goto wow64reg.h
|
|
BOOL
|
|
PopulateReflectorTable ();
|
|
|
|
//_________________________________________
|
|
|
|
#endif //__WOW64_SVC_H__
|
|
|