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.
 
 
 
 
 
 

84 lines
2.8 KiB

/******************************************************************
ConnShare.h-- Definition of base class from which ConnectionToShare
ConnectionToSession and Connection classes are derived
// Copyright (c) 2000-2001 Microsoft Corporation, All Rights Reserved
*******************************************************************/
#ifndef _CCONNSHARE_
#define _CCONNSHARE_
#ifdef UNICODE
#define TOBSTRT(x) x
#else
#define TOBSTRT(x) _bstr_t(x)
#endif
#if 0
#ifdef WIN9XONLY
#include "svrapi.h"
// max entries of the structure that can be read at a time. #define MAX_ENTRIES 50
#define MAX_ENTRIES 50
// Typedefinition of the structures
typedef struct connection_info_1 CONNECTION_INFO;
typedef struct session_info_1 SESSION_INFO_1;
typedef struct session_info_2 SESSION_INFO_2;
typedef struct session_info_10 SESSION_INFO_10;
typedef struct session_info_50 SESSION_INFO_50;
#endif
#endif // #if 0
#ifdef NTONLY
#include <lm.h>
#include <LMShare.h>
// COnnection INfo Structure Type defininition
typedef CONNECTION_INFO_1 CONNECTION_INFO;
#endif
class CConnShare
{
public:
CConnShare ( ) ;
virtual ~CConnShare () ;
#ifdef NTONLY
HRESULT FindAndSetNTConnection ( LPWSTR t_ShareName, LPCWSTR t_NetName, LPCWSTR t_UserName,
DWORD dwPropertiesReq, CInstance *pInstance, DWORD eOperation );
HRESULT GetNTShares ( CHStringArray &t_Shares );
virtual HRESULT EnumNTConnectionsFromComputerToShare ( LPWSTR a_ComputerName, LPWSTR a_ShareName,
MethodContext *pMethodContext, DWORD dwPropertiesReq ) = 0;
#endif
#if 0
#ifdef WIN9XONLY
HRESULT FindAndSet9XConnection ( LPWSTR t_ShareName, LPCWSTR t_NetName, LPCWSTR t_UserName,
DWORD dwPropertiesReq, CInstance *pInstance, DWORD eOperation );
virtual HRESULT Enum9XConnectionsFromComputerToShare ( LPWSTR a_ComputerName, LPWSTR a_ShareName,
MethodContext *pMethodContext, DWORD dwPropertiesReq ) = 0;
HRESULT Get9XShares ( CHStringArray &t_Shares );
#endif
#endif // #if 0
// These are common methods irrespective of OS
virtual HRESULT LoadInstance ( CInstance *pInstance, LPCWSTR a_Share, LPCWSTR a_Computer, CONNECTION_INFO *pBuf,
DWORD dwPropertiesReq ) = 0;
HRESULT EnumConnectionInfo ( LPWSTR a_ComputerName, LPWSTR a_ShareName, MethodContext *pMethodContext,
DWORD dwPropertiesReq );
HRESULT GetConnectionsKeyVal ( LPCWSTR a_Key, CHString &a_ComputerName, CHString &a_ShareName, CHString &a_UserName );
HRESULT AddToObjectPath ( LPWSTR &a_ObjPathString, LPCWSTR a_AttributeName, LPCWSTR a_AttributeVal );
HRESULT MakeObjectPath ( LPWSTR &a_ObjPathString, LPCWSTR a_ClassName, LPCWSTR a_AttributeName, LPCWSTR a_AttributeVal );
private:
};
#endif