windows-nt/Source/XPSP1/NT/admin/snapin/dfsadmin/dfsshlex/dfsshprp.h
2020-09-26 16:20:57 +08:00

164 lines
3.9 KiB
C++

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
DfsShPrp.h
Abstract:
This module contains the declaration for CDfsShellExtProp
This is used to implement the property page for Shell Extension.
Author:
Constancio Fernandes (ferns@qspl.stpp.soft.net) 12-Jan-1998
Environment:
NT Only.
Revision History:
--*/
#ifndef _DFS_EXT_PROP_SHEET_H_
#define _DFS_EXT_PROP_SHEET_H_
#include "dfsenums.h"
#include "qwizpage.h" // The base class that implements the common functionality
// of property and wizard pages
// ----------------------------------------------------------------------------
// CDfsShellExtProp: Property Sheet Page for Shell Extension
class CDfsShellExtProp : public CQWizardPageImpl<CDfsShellExtProp>
{
public:
enum { IDD = IDD_DFS_SHELL_PROP };
BEGIN_MSG_MAP(CDfsShellExtProp)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
MESSAGE_HANDLER(WM_PARENT_NODE_CLOSING, OnParentClosing)
MESSAGE_HANDLER(WM_HELP, OnCtxHelp)
MESSAGE_HANDLER(WM_CONTEXTMENU, OnCtxMenuHelp)
MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
COMMAND_ID_HANDLER(IDC_FLUSH_PKT, OnFlushPKT)
COMMAND_ID_HANDLER(IDC_CHECK_STATUS, OnCheckStatus)
COMMAND_ID_HANDLER(IDC_SET_ACTIVE, OnSetActiveReferral)
CHAIN_MSG_MAP(CQWizardPageImpl<CDfsShellExtProp>)
END_MSG_MAP()
CDfsShellExtProp();
~CDfsShellExtProp();
LRESULT OnInitDialog(
IN UINT i_uMsg,
IN WPARAM i_wParam,
IN LPARAM i_lParam,
IN OUT BOOL& io_bHandled
);
// Used by the node to tell the propery page to close.
LRESULT OnParentClosing(
IN UINT i_uMsg,
IN WPARAM i_wParam,
IN LPARAM i_lParam,
IN OUT BOOL& io_bHandled
);
LRESULT OnCtxHelp(
IN UINT i_uMsg,
IN WPARAM i_wParam,
IN LPARAM i_lParam,
IN OUT BOOL& io_bHandled
);
LRESULT OnCtxMenuHelp(
IN UINT i_uMsg,
IN WPARAM i_wParam,
IN LPARAM i_lParam,
IN OUT BOOL& io_bHandled
);
// Called to pass notifications.
LRESULT OnNotify(
IN UINT i_uMsg,
IN WPARAM i_wParam,
IN LPARAM i_lParam,
IN OUT BOOL& io_bHandled
);
LRESULT OnFlushPKT(
IN WORD i_wNotifyCode,
IN WORD i_wID,
IN HWND i_hWndCtl,
IN OUT BOOL& io_bHandled
);
LRESULT OnCheckStatus(
IN WORD i_wNotifyCode,
IN WORD i_wID,
IN HWND i_hWndCtl,
IN OUT BOOL& io_bHandled
);
LRESULT OnSetActiveReferral(
IN WORD i_wNotifyCode,
IN WORD i_wID,
IN HWND i_hWndCtl,
IN OUT BOOL& io_bHandled
);
// Getters and Setters
HRESULT put_DfsShellPtr(
IN IShellPropSheetExt* i_pDfsShell
);
HRESULT put_DirPaths(
IN BSTR i_bstrDirPath,
IN BSTR i_bstrEntryPath
);
LRESULT OnApply();
// Called when the property page gets deleted.
void Delete();
// Called when user double clicks an entry to make that alternate active.
BOOL SetActive();
// helper functions
private:
HRESULT _SetImageList();
void _SetAlternateList();
void _UpdateTextForReplicaState(
IN HWND hwndControl,
IN int nIndex,
IN enum SHL_DFS_REPLICA_STATE ReplicaState
);
private:
CComBSTR m_bstrDirPath;
CComBSTR m_bstrEntryPath;
IShellPropSheetExt* m_pIShProp;
CComBSTR m_bstrAlternateListPath,
m_bstrAlternateListActive,
m_bstrAlternateListStatus,
m_bstrAlternateListYes,
m_bstrAlternateListNo,
m_bstrAlternateListOK,
m_bstrAlternateListUnreachable;
};
HRESULT LoadStringFromResource(
IN const UINT i_uResourceID,
OUT BSTR* o_pbstrReadValue
);
HRESULT DisplayMessageBoxForHR(HRESULT i_hr);
#endif // _DFS_EXT_PROP_SHEET_H_