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.
 
 
 
 
 
 

119 lines
3.6 KiB

///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) Microsoft Corporation
//
// SYNOPSIS
//
// Declares the class DatabasePage.
//
///////////////////////////////////////////////////////////////////////////////
#ifndef DBPAGE_H
#define DBPAGE_H
#pragma once
#include "msdasc.h"
#include "propertypage.h"
class DatabaseNode;
// The lone property page for the database node.
class DatabasePage : public CIASPropertyPage<DatabasePage>
{
public:
DatabasePage(
LONG_PTR notifyHandle,
wchar_t* title,
DatabaseNode* newSrc
);
~DatabasePage() throw ();
// Used to initialize the page immediately after constructor. This is useful
// because the constructor can't return an error code.
HRESULT Initialize(
ISdo* config,
ISdoServiceControl* control
) throw ();
BOOL OnApply() throw ();
static const unsigned int IDD = IDD_DB_PROPPAGE;
private:
// Invokes the DataLinks UI to configure the database connection.
HRESULT ConfigureConnection() throw ();
// Load a bool from an SDO property and put it in a control
void LoadBool(UINT control, LONG propId) throw ();
// Get a bool from a control and save it in an SDO property.
void SaveBool(UINT control, LONG propId) throw ();
LRESULT OnInitDialog(
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
BOOL& bHandled
);
LRESULT OnChange(
WORD wNotifyCode,
WORD wID,
HWND hWndCtl,
BOOL& bHandled
);
LRESULT OnClear(
WORD wNotifyCode,
WORD wID,
HWND hWndCtl,
BOOL& bHandled
);
LRESULT OnConfigure(
WORD wNotifyCode,
WORD wID,
HWND hWndCtl,
BOOL& bHandled
);
BEGIN_MSG_MAP(DatabasePage)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_HANDLER(IDC_DB_CHECK_ACCT, BN_CLICKED, OnChange)
COMMAND_HANDLER(IDC_DB_CHECK_AUTH, BN_CLICKED, OnChange)
COMMAND_HANDLER(IDC_DB_CHECK_INTERIM, BN_CLICKED, OnChange)
COMMAND_HANDLER(IDC_DB_BUTTON_CONFIGURE, BN_CLICKED, OnConfigure)
COMMAND_HANDLER(IDC_DB_BUTTON_CLEAR, BN_CLICKED, OnClear)
COMMAND_HANDLER(IDC_DB_EDIT_MAX_SESSIONS, EN_CHANGE, OnChange)
CHAIN_MSG_MAP(CIASPropertyPage<DatabasePage>)
END_MSG_MAP()
// The source of our data.
DatabaseNode* src;
// Streamed version of SDO containing our configuration.
CComPtr<IStream> configStream;
// Streamed version of SDO used for resetting the service.
CComPtr<IStream> controlStream;
// Unstreamed version of SDO containing our configuration.
CComPtr<ISdo> configSdo;
// Unstreamed version of SDO used for resetting the service.
CComPtr<ISdoServiceControl> controlSdo;
// Current initialization string (may be null)
LPOLESTR initString;
// Current data source name (may be null)
CComBSTR dataSourceName;
// Various OLE-DB objects; these are created JIT.
CComPtr<IDataInitialize> dataInitialize;
CComPtr<IDBPromptInitialize> dataLinks;
CComPtr<IDBProperties> dataSource;
// True if our database config is dirty.
bool dbConfigDirty;
// True if our SDO config is dirty.
bool sdoConfigDirty;
// Not implemented.
DatabasePage(const DatabasePage&);
DatabasePage& operator=(const DatabasePage&);
};
#endif // DBPAGE_H