diff options
Diffstat (limited to '')
-rw-r--r-- | private/nw/inc/nwsvc.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/private/nw/inc/nwsvc.h b/private/nw/inc/nwsvc.h new file mode 100644 index 000000000..0205e0ea1 --- /dev/null +++ b/private/nw/inc/nwsvc.h @@ -0,0 +1,88 @@ +/*++ + +Copyright (c) 1993 Microsoft Corporation + +Module Name: + + nwsvc.h + +Abstract: + + Header file included by services which share the same nwsvc.exe. + +Author: + + Rita Wong (ritaw) 26-Feb-1993 + +Revision History: + + +--*/ + +#ifndef _NW_SVC_INCLUDED_ +#define _NW_SVC_INCLUDED_ + +#ifndef RPC_NO_WINDOWS_H // Don't let rpc.h include windows.h +#define RPC_NO_WINDOWS_H +#endif // RPC_NO_WINDOWS_H + +#include <rpc.h> // RPC_IF_HANDLE + +#include <nwsnames.h> + +// +// Service DLLs loaded into nwsvcs.exe all export the same main +// entry point. NWSVC_ENTRY_POINT defines that name. +// +// Note that NWSVC_ENTRY_POINT_STRING is always ANSI, because that's +// what GetProcAddress takes. +// + +#define NWSVC_ENTRY_POINT ServiceEntry +#define NWSVC_ENTRY_POINT_STRING "ServiceEntry" + +// +// Start and stop RPC server entry point prototype. +// + +typedef +RPC_STATUS +(*PNWSVC_START_RPC_SERVER) ( + IN LPWSTR InterfaceName, + IN RPC_IF_HANDLE InterfaceSpecification + ); + +typedef +RPC_STATUS +(*PNWSVC_STOP_RPC_SERVER) ( + IN RPC_IF_HANDLE InterfaceSpecification + ); + +// +// Structure containing global data for the various DLLs. +// + +typedef struct _NWSVC_GLOBAL_DATA { + + // + // RPC utilities called by service DLLs which alters global data + // in nwsvc.exe. + // + PNWSVC_START_RPC_SERVER StartRpcServer; + PNWSVC_STOP_RPC_SERVER StopRpcServer; + +} NWSVC_GLOBAL_DATA, *PNWSVC_GLOBAL_DATA; + +// +// Service DLL entry point prototype. +// + +typedef +VOID +(*PNWSVC_SERVICE_DLL_ENTRY) ( + IN DWORD argc, + IN LPWSTR argv[], + IN PNWSVC_GLOBAL_DATA pGlobalData + ); + +#endif // ndef _NW_SVC_INCLUDED_ |