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
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_
|