129 lines
1.5 KiB
C
129 lines
1.5 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1996 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
server.c
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module contains the code to provide the RPC server.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Wesley Witt (wesw) 16-Jan-1996
|
||
|
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include "wow64svc.h"
|
||
|
#pragma hdrstop
|
||
|
|
||
|
|
||
|
GUID Wow64SvcGuid = { 0xc3a9d640, 0xffff, 0x11d0, { 0x92, 0xbf, 0x0, 0xa0, 0x24, 0xaa, 0x1c, 0x1 } };
|
||
|
|
||
|
CRITICAL_SECTION CsPerfCounters;
|
||
|
DWORD OutboundSeconds;
|
||
|
DWORD InboundSeconds;
|
||
|
DWORD TotalSeconds;
|
||
|
|
||
|
CHAR Buffer[4096];
|
||
|
|
||
|
HANDLE hServiceEndEvent; // signalled by tapiworkerthread after letting clients know fax service is ending
|
||
|
#ifdef DBG
|
||
|
HANDLE hLogFile = INVALID_HANDLE_VALUE;
|
||
|
LIST_ENTRY CritSecListHead;
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
DWORD
|
||
|
ServiceStart(
|
||
|
VOID
|
||
|
)
|
||
|
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Starts the RPC server. This implementation listens on
|
||
|
a list of protocols. Hopefully this list is inclusive
|
||
|
enough to handle RPC requests from most clients.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
None.
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
Return code. Return zero for success, all other
|
||
|
values indicate errors.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
{
|
||
|
if (StartReflector ())
|
||
|
return 0;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
void EndWow64Svc(
|
||
|
BOOL bEndProcess,
|
||
|
DWORD SeverityLevel
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
End the fax service.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
None.
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
None.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
ServiceStop();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
DWORD
|
||
|
ServiceStop(
|
||
|
void
|
||
|
)
|
||
|
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Stops the RPC server.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
None.
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
None.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
{
|
||
|
if (StopReflector ())
|
||
|
return 0;
|
||
|
return 1;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|