Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

166 lines
4.0 KiB

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997.
//
// File: N M B A S E . H
//
// Contents: Base include file for netman.exe. Defines globals.
//
// Notes:
//
// Author: shaunco 15 Sep 1997
//
//----------------------------------------------------------------------------
#pragma once
#include "netcon.h"
#include "netconp.h"
#include <atlbase.h>
#include "ncstl.h"
#include <map>
enum EVENT_MANAGER
{
INVALID_EVENTMGR = 0,
EVENTMGR_CONMAN
};
#define PersistDataLead 0x14
#define PersistDataTrail 0x05
typedef struct tagRegEntry
{
LPWSTR strKeyName;
LPWSTR strValueName;
DWORD dwType;
DWORD dwValue;
LPWSTR strValue;
BYTE* pbValue;
DWORD dwBinLen;
BOOL fMoreOnKey;
} REGENTRY;
typedef map<GUID, INetConnectionManager*> CLASSMANAGERMAP;
bool operator < (const GUID& rguid1, const GUID& rguid2);
enum RASREFTYPE
{
REF_INITIALIZE,
REF_REFERENCE,
REF_UNREFERENCE,
};
class CServiceModule : public CComModule
{
public:
VOID DllProcessAttach (IN HINSTANCE hinst) throw();
VOID DllProcessDetach (IN VOID) throw();
VOID ServiceMain (IN DWORD argc, IN LPCWSTR argv[]) throw();
DWORD DwHandler (IN DWORD dwControl,
IN DWORD dwEventType,
IN LPCVOID pEventData,
IN LPCVOID pContext);
VOID Run () throw();
VOID SetServiceStatus (IN DWORD dwState) throw();
VOID UpdateServiceStatus (IN BOOL fUpdateCheckpoint = TRUE) throw();
DWORD DwServiceStatus () throw() { return m_status.dwCurrentState; }
VOID ReferenceRasman (IN RASREFTYPE RefType) throw();
private:
static
DWORD
WINAPI TAKEOWNERSHIP
_DwHandler (
IN DWORD dwControl,
IN DWORD dwEventType,
IN WACKYAPI LPVOID pEventData,
IN WACKYAPI LPVOID pContext);
public:
HRESULT ServiceShutdown();
HRESULT ServiceStartup();
DWORD m_dwThreadID;
SERVICE_STATUS_HANDLE m_hStatus;
SERVICE_STATUS m_status;
BOOL m_fRasmanReferenced;
};
extern CServiceModule _Module;
#include <atlcom.h>
#include "ncatl.h"
#include "ncstring.h"
#include "nmclsid.h"
typedef LPCVOID PCSID;
enum CONMAN_EVENTTYPE
{
INVALID_TYPE = 0,
CONNECTION_ADDED,
CONNECTION_BANDWIDTH_CHANGE,
CONNECTION_DELETED,
CONNECTION_MODIFIED,
CONNECTION_RENAMED,
CONNECTION_STATUS_CHANGE,
REFRESH_ALL,
CONNECTION_ADDRESS_CHANGE,
CONNECTION_BALLOON_POPUP,
DISABLE_EVENTS
};
BOOL IsValidEventType(IN EVENT_MANAGER EventMgr, IN int EventType) throw();
// This LONG is incremented every time we get a notification that
// a RAS phonebook entry has been modified. It is reset to zero
// when the service is started. Wrap-around does not matter. It's
// purpose is to let a RAS connection object know if it's cache should
// be re-populated with current information.
//
extern LONG g_lRasEntryModifiedVersionEra;
VOID
LanEventNotify (
IN CONMAN_EVENTTYPE EventType,
IN INetConnection* pConn,
IN PCWSTR szwNewName,
IN const GUID * pguidConn) throw();
VOID
IncomingEventNotify (
IN CONMAN_EVENTTYPE EventType,
IN INetConnection* pConn,
IN PCWSTR szwNewName,
IN const GUID * pguidConn) throw();
STDAPI
RegisterSvrHelper();
STDAPI
CreateEAPOLKeys();
STDAPI
SetKeySecurity(
IN DWORD dwKeyIndex,
IN PCSID psidUserOrGroup,
IN ACCESS_MASK dwAccessMask);
VOID
NTAPI
DispatchEvents(
IN OUT LPVOID pUnused,
IN BOOLEAN TimerOrWaitFired) throw();
HRESULT
HrEnsureEventHandlerInitialized();
HRESULT
UninitializeEventHandler();
HRESULT
WINAPI
HrEnsureRegisteredWithNla();