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.
 
 
 
 
 
 

352 lines
4.8 KiB

/*++
Copyright (c) 1998, Microsoft Corporation
Module Name:
sharing.h
Abstract:
This module contains declarations for the API routines which support
connection sharing.
Author:
Abolade Gbadegesin (aboladeg) 22-Apr-1998
Revision History:
--*/
#ifndef _RASSHARE_SHARING_H_
#define _RASSHARE_SHARING_H_
//
// MACRO DECLARATIONS
//
#define Dimension(x) (sizeof(x) / sizeof(x[0]))
//
// MPRAPI.DLL import prototypes
//
typedef DWORD
(APIENTRY* PMPRCONFIGBUFFERFREE)(
LPVOID
);
typedef DWORD
(APIENTRY* PMPRCONFIGSERVERCONNECT)(
LPWSTR,
PHANDLE
);
typedef VOID
(APIENTRY* PMPRCONFIGSERVERDISCONNECT)(
HANDLE
);
typedef DWORD
(APIENTRY* PMPRCONFIGTRANSPORTGETHANDLE)(
HANDLE,
DWORD,
PHANDLE
);
typedef DWORD
(APIENTRY* PMPRCONFIGTRANSPORTGETINFO)(
HANDLE,
HANDLE,
LPBYTE*,
LPDWORD,
LPBYTE*,
LPDWORD,
LPWSTR*
);
typedef DWORD
(APIENTRY* PMPRINFOBLOCKFIND)(
LPVOID,
DWORD,
LPDWORD,
LPDWORD,
LPBYTE*
);
//
// IPHLPAPI.DLL import prototypes
//
typedef DWORD
(APIENTRY* PALLOCATEANDGETIPADDRTABLEFROMSTACK)(
PMIB_IPADDRTABLE*,
BOOL,
HANDLE,
DWORD
);
typedef DWORD
(APIENTRY* PGETINTERFACEINFO)(
PIP_INTERFACE_INFO,
PULONG
);
typedef DWORD
(APIENTRY* PSETADAPTERIPADDRESS)(
PCHAR,
BOOL,
ULONG,
ULONG,
ULONG
);
//
// OLE32.DLL import prototypes and instances
//
typedef HRESULT
(STDAPICALLTYPE* PCOINITIALIZEEX)(
LPVOID,
DWORD
);
extern PCOINITIALIZEEX g_pCoInitializeEx;
typedef VOID
(STDAPICALLTYPE* PCOUNINITIALIZE)(
VOID
);
extern PCOUNINITIALIZE g_pCoUninitialize;
typedef HRESULT
(STDAPICALLTYPE* PCOCREATEINSTANCE)(
REFCLSID,
LPUNKNOWN,
DWORD,
REFIID,
LPVOID FAR*
);
extern PCOCREATEINSTANCE g_pCoCreateInstance;
typedef HRESULT
(STDAPICALLTYPE* PCOSETPROXYBLANKET)(
IUnknown*,
DWORD,
DWORD,
OLECHAR*,
DWORD,
DWORD,
RPC_AUTH_IDENTITY_HANDLE,
DWORD
);
extern PCOSETPROXYBLANKET g_pCoSetProxyBlanket;
typedef VOID
(STDAPICALLTYPE* PCOTASKMEMFREE)(
LPVOID
);
extern PCOTASKMEMFREE g_pCoTaskMemFree;
//
// GLOBAL DATA DECLARATIONS
//
extern const WCHAR c_szSharedAccessParametersKey[];
//
// FUNCTION DECLARATIONS (in alphabetical order)
//
VOID
CsControlService(
ULONG ControlCode
);
BOOL
CsDllMain(
ULONG Reason
);
#if 0
ULONG
CsFirewallConnection(
LPRASSHARECONN Connection,
BOOLEAN Enable
);
#endif
ULONG
CsInitializeModule(
VOID
);
#if 0
BOOLEAN
CsIsRoutingProtocolInstalled(
ULONG ProtocolId
);
ULONG
CsIsFirewalledConnection(
LPRASSHARECONN Connection,
PBOOLEAN Firewalled
);
#endif
ULONG
CsIsSharedConnection(
LPRASSHARECONN Connection,
PBOOLEAN Shared
);
#if 0
ULONG
CsMapGuidToAdapterIndex(
PWCHAR Guid,
PGETINTERFACEINFO GetInterfaceInfo
);
#endif
NTSTATUS
CsOpenKey(
PHANDLE Key,
ACCESS_MASK DesiredAccess,
PCWSTR Name
);
#if 0
ULONG
CsQueryFirewallConnections(
LPRASSHARECONN ConnectionArray,
ULONG *ConnectionCount
);
ULONG
CsQueryLanConnTable(
LPRASSHARECONN ExcludeConnection,
NETCON_PROPERTIES** LanConnTable,
LPDWORD LanConnCount
);
#endif
ULONG
CsQuerySharedConnection(
LPRASSHARECONN Connection
);
#if 0
ULONG
CsQuerySharedPrivateLan(
GUID* LanGuid
);
ULONG
CsQuerySharedPrivateLanAddress(
PULONG Address
);
VOID
CsQueryScopeInformation(
IN OUT PHANDLE Key,
PULONG Address,
PULONG Mask
);
#endif
NTSTATUS
CsQueryValueKey(
HANDLE Key,
const WCHAR ValueName[],
PKEY_VALUE_PARTIAL_INFORMATION* Information
);
#if 0
ULONG
CsRenameSharedConnection(
LPRASSHARECONN NewConnection
);
ULONG
CsSetupSharedPrivateLan(
REFGUID LanGuid,
BOOLEAN EnableSharing
);
ULONG
CsSetSharedPrivateLan(
REFGUID LanGuid
);
ULONG
CsShareConnection(
LPRASSHARECONN Connection
);
#endif
VOID
CsShutdownModule(
VOID
);
#if 0
ULONG
CsStartService(
VOID
);
VOID
CsStopService(
VOID
);
ULONG
CsUnshareConnection(
BOOLEAN RemovePrivateLan,
PBOOLEAN Shared
);
VOID
RasIdFromSharedConnection(
IN LPRASSHARECONN pConn,
IN LPWSTR pszId,
IN INT cchMax
);
WCHAR*
StrDupW(
LPCWSTR psz
);
VOID
TestBackupAddress(
PWCHAR Guid
);
VOID
TestRestoreAddress(
PWCHAR Guid
);
VOID CsRefreshNetConnections(
VOID
);
#endif
#endif // _RASSHARE_SHARING_H_