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.
108 lines
3.7 KiB
108 lines
3.7 KiB
/****************************************************************************/
|
|
// tssdsql.h
|
|
//
|
|
// Terminal Server Session Directory Interface SQL provider header.
|
|
//
|
|
// Copyright (C) 2000 Microsoft Corporation
|
|
/****************************************************************************/
|
|
#ifndef __TSSDSQL_H
|
|
#define __TSSDSQL_H
|
|
|
|
#include <tchar.h>
|
|
|
|
#include "tssd.h"
|
|
#include "srvsetex.h"
|
|
|
|
|
|
/****************************************************************************/
|
|
// Defines
|
|
/****************************************************************************/
|
|
|
|
/****************************************************************************/
|
|
// Types
|
|
/****************************************************************************/
|
|
|
|
// CTSSessionDirectory
|
|
//
|
|
// C++ class instantiation of ITSSessionDirectory.
|
|
class CTSSessionDirectory : public ITSSessionDirectory , public IExtendServerSettings
|
|
{
|
|
long m_RefCount;
|
|
BSTR m_DBConnectStr;
|
|
BSTR m_DBPwdStr;
|
|
BSTR m_DBUserStr;
|
|
|
|
ADOConnection *m_pConnection;
|
|
DWORD m_ServerID;
|
|
DWORD m_ClusterID;
|
|
|
|
WCHAR m_LocalServerAddress[64];
|
|
WCHAR m_ClusterName[64];
|
|
|
|
// Private data for UI menus
|
|
|
|
// WCHAR m_szDisableEnable[ 64 ];
|
|
BOOL m_fEnabled;
|
|
|
|
// Private utility functions.
|
|
HRESULT AddADOInputDWORDParam(DWORD, PWSTR, ADOCommand *, ADOParameters *);
|
|
HRESULT AddADOInputStringParam(PWSTR, PWSTR, ADOCommand *,
|
|
ADOParameters *, BOOL = TRUE);
|
|
HRESULT CreateADOStoredProcCommand(PWSTR, ADOCommand **, ADOParameters **);
|
|
|
|
HRESULT ExecServerOnline();
|
|
HRESULT ExecServerOffline();
|
|
|
|
HRESULT OpenConnection();
|
|
|
|
public:
|
|
CTSSessionDirectory();
|
|
~CTSSessionDirectory();
|
|
|
|
// Standard COM methods
|
|
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void **);
|
|
ULONG STDMETHODCALLTYPE AddRef();
|
|
ULONG STDMETHODCALLTYPE Release();
|
|
|
|
// ITSSessionDirectory COM interface
|
|
HRESULT STDMETHODCALLTYPE Initialize(LPWSTR, LPWSTR, LPWSTR, LPWSTR,
|
|
DWORD, DWORD (*)(), DWORD (*)(DWORD));
|
|
HRESULT STDMETHODCALLTYPE Update(LPWSTR, LPWSTR, LPWSTR, LPWSTR, DWORD, BOOL);
|
|
HRESULT STDMETHODCALLTYPE GetUserDisconnectedSessions(LPWSTR, LPWSTR,
|
|
DWORD __RPC_FAR *, TSSD_DisconnectedSessionInfo __RPC_FAR
|
|
[TSSD_MaxDisconnectedSessions]);
|
|
HRESULT STDMETHODCALLTYPE NotifyCreateLocalSession(
|
|
TSSD_CreateSessionInfo __RPC_FAR *);
|
|
HRESULT STDMETHODCALLTYPE NotifyDestroyLocalSession(DWORD);
|
|
HRESULT STDMETHODCALLTYPE NotifyDisconnectLocalSession(DWORD, FILETIME);
|
|
|
|
HRESULT STDMETHODCALLTYPE NotifyReconnectLocalSession(
|
|
TSSD_ReconnectSessionInfo __RPC_FAR *);
|
|
HRESULT STDMETHODCALLTYPE NotifyReconnectPending(WCHAR *);
|
|
HRESULT STDMETHODCALLTYPE Repopulate(DWORD, TSSD_RepopulateSessionInfo *);
|
|
HRESULT STDMETHODCALLTYPE PingSD(PWCHAR pszServerName);
|
|
HRESULT STDMETHODCALLTYPE WaitForRepopulate(DWORD dwTimeOut) { return E_NOTIMPL; }
|
|
|
|
|
|
// IExtendServerSettings COM interface
|
|
STDMETHOD( GetAttributeName )( /* out */ WCHAR * pwszAttribName );
|
|
STDMETHOD( GetDisplayableValueName )( /* out */WCHAR * pwszAttribValueName );
|
|
STDMETHOD( InvokeUI )( /* in */ HWND hParent , /* out */ PDWORD pdwStatus );
|
|
STDMETHOD( GetMenuItems )( /* out */ int * pcbItems , /* out */ PMENUEXTENSION *pMex );
|
|
STDMETHOD( ExecMenuCmd )( /* in */ UINT cmd , /* in */ HWND hParent , /* out */ PDWORD pdwStatus );
|
|
STDMETHOD( OnHelp )( /* out */ int *piRet );
|
|
|
|
BOOL IsSessionDirectoryEnabled( );
|
|
DWORD SetSessionDirectoryState( BOOL );
|
|
void ErrorMessage( HWND hwnd , UINT res , DWORD );
|
|
|
|
public:
|
|
|
|
LPTSTR m_pszOpaqueString;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // __TSSDSQL_H
|
|
|