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.
367 lines
7.1 KiB
367 lines
7.1 KiB
/*++
|
|
Module Name:
|
|
|
|
Utils.h
|
|
|
|
Abstract:
|
|
|
|
This module contains the definition for CUtils class.
|
|
Contains utility method which are used throughout the project.
|
|
|
|
--*/
|
|
|
|
|
|
#if !defined(AFX_UTILS_H__B3542C03_4260_11D1_AA28_00C06C00392D__INCLUDED_)
|
|
#define AFX_UTILS_H__B3542C03_4260_11D1_AA28_00C06C00392D__INCLUDED_
|
|
|
|
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
#include <lmcons.h>
|
|
#include <lmerr.h>
|
|
#include <icanon.h>
|
|
#include "dfsenums.h"
|
|
#include <schedule.h>
|
|
#include "ldaputils.h"
|
|
|
|
class CThemeContextActivator
|
|
{
|
|
public:
|
|
CThemeContextActivator() : m_ulActivationCookie(0)
|
|
{ SHActivateContext (&m_ulActivationCookie); }
|
|
|
|
~CThemeContextActivator()
|
|
{ SHDeactivateContext (m_ulActivationCookie); }
|
|
|
|
private:
|
|
ULONG_PTR m_ulActivationCookie;
|
|
};
|
|
|
|
class CWaitCursor
|
|
{
|
|
public:
|
|
CWaitCursor() { SetStandardCursor(IDC_WAIT); }
|
|
~CWaitCursor() { SetStandardCursor(IDC_ARROW); }
|
|
|
|
HRESULT SetStandardCursor(
|
|
IN LPCTSTR i_lpCursorName
|
|
);
|
|
};
|
|
|
|
BOOL Is256ColorSupported(
|
|
VOID
|
|
);
|
|
|
|
VOID SetControlFont(
|
|
IN HFONT hFont,
|
|
IN HWND hwnd,
|
|
IN INT nId
|
|
);
|
|
|
|
VOID SetupFonts(
|
|
IN HINSTANCE hInstance,
|
|
IN HWND hwnd,
|
|
IN HFONT *pBigBoldFont,
|
|
IN HFONT *pBoldFont
|
|
);
|
|
|
|
VOID
|
|
DestroyFonts(
|
|
IN HFONT hBigBoldFont,
|
|
IN HFONT hBoldFont
|
|
);
|
|
|
|
HRESULT LoadStringFromResource(
|
|
IN const UINT i_uResourceID,
|
|
OUT BSTR* o_pbstrReadValue
|
|
);
|
|
|
|
HRESULT FormatResourceString(
|
|
IN const UINT i_uResourceID,
|
|
IN LPCTSTR i_szFirstArg,
|
|
OUT BSTR* o_pbstrReadString
|
|
);
|
|
|
|
HRESULT CreateSmallImageList(
|
|
IN HINSTANCE i_hInstance,
|
|
IN int* i_pIconID,
|
|
IN const int i_nNumOfIcons,
|
|
OUT HIMAGELIST* o_phImageList
|
|
);
|
|
|
|
HRESULT InsertIntoListView(
|
|
IN HWND i_hwndList,
|
|
IN LPCTSTR i_szItemText,
|
|
IN int i_iImageIndex = 0
|
|
);
|
|
|
|
HRESULT GetListViewItemText(
|
|
IN HWND i_hwndListView,
|
|
IN int i_iItemID,
|
|
OUT BSTR* o_pbstrItemText
|
|
);
|
|
|
|
HRESULT GetComboBoxText(
|
|
IN HWND i_hwndCombo,
|
|
OUT BSTR* o_pbstrText
|
|
);
|
|
|
|
HRESULT EnableToolbarButtons(
|
|
IN const LPTOOLBAR i_lpToolbar,
|
|
IN const INT i_iFirstButtonID,
|
|
IN const INT i_iLastButtonID,
|
|
IN const BOOL i_bEnableState
|
|
);
|
|
|
|
HRESULT AddBitmapToToolbar(
|
|
IN const LPTOOLBAR i_lpToolbar,
|
|
IN const INT i_iBitmapResource
|
|
);
|
|
|
|
HRESULT
|
|
GetMessage(
|
|
OUT BSTR* o_pbstrMsg,
|
|
IN DWORD dwErr,
|
|
IN UINT iStringId,
|
|
...);
|
|
|
|
int
|
|
DisplayMessageBox(
|
|
IN HWND hwndParent,
|
|
IN UINT uType,
|
|
IN DWORD dwErr,
|
|
IN UINT iStringId,
|
|
...);
|
|
|
|
HRESULT DisplayMessageBoxWithOK(
|
|
IN const int i_iMessageResID,
|
|
IN const BSTR i_bstrArgument = NULL
|
|
);
|
|
|
|
HRESULT DisplayMessageBoxForHR(
|
|
IN HRESULT i_hr
|
|
);
|
|
|
|
HRESULT GetInputText(
|
|
IN HWND hwnd,
|
|
OUT BSTR* o_pbstrText,
|
|
OUT DWORD* o_pdwTextLength
|
|
);
|
|
|
|
BOOL CheckRegKey();
|
|
|
|
BOOL
|
|
ValidateNetPath(
|
|
IN BSTR i_bstrNetPath,
|
|
OUT BSTR *o_pbstrServer,
|
|
OUT BSTR *o_pbstrShare
|
|
);
|
|
|
|
HRESULT
|
|
IsComputerLocal(
|
|
IN LPCTSTR lpszServer
|
|
);
|
|
|
|
BOOL
|
|
IsValidLocalAbsolutePath(
|
|
IN LPCTSTR lpszPath
|
|
);
|
|
|
|
HRESULT
|
|
GetFullPath(
|
|
IN LPCTSTR lpszServer,
|
|
IN LPCTSTR lpszPath,
|
|
OUT BSTR *o_pbstrFullPath
|
|
);
|
|
|
|
HRESULT
|
|
VerifyDriveLetter(
|
|
IN LPCTSTR lpszServer,
|
|
IN LPCTSTR lpszPath
|
|
);
|
|
|
|
HRESULT
|
|
IsAdminShare(
|
|
IN LPCTSTR lpszServer,
|
|
IN LPCTSTR lpszPath
|
|
);
|
|
|
|
HRESULT
|
|
IsAnExistingFolder(
|
|
IN HWND hwnd,
|
|
IN LPCTSTR pszPath
|
|
);
|
|
|
|
HRESULT
|
|
CreateLayeredDirectory(
|
|
IN LPCTSTR lpszServer,
|
|
IN LPCTSTR lpszPath
|
|
);
|
|
|
|
HRESULT
|
|
BrowseNetworkPath(
|
|
IN HWND hwndParent,
|
|
OUT BSTR *o_pbstrPath
|
|
);
|
|
|
|
BOOL
|
|
ValidateTimeout(
|
|
IN LPCTSTR lpszTimeOut,
|
|
OUT ULONG *pulTimeout
|
|
);
|
|
|
|
TCHAR
|
|
GetDiskForStagingPath(
|
|
IN LPCTSTR lpszServer,
|
|
IN TCHAR tch
|
|
);
|
|
|
|
HRESULT GetDfsRootDisplayName
|
|
(
|
|
IN BSTR i_bstrScopeName,
|
|
IN BSTR i_bstrDfsName,
|
|
OUT BSTR* o_pbstrDisplayName
|
|
);
|
|
|
|
HRESULT GetDfsReplicaDisplayName
|
|
(
|
|
IN BSTR i_bstrServerName,
|
|
IN BSTR i_bstrShareName,
|
|
OUT BSTR* o_pbstrDisplayName
|
|
);
|
|
|
|
HRESULT
|
|
AddLVColumns(
|
|
IN const HWND hwndListBox,
|
|
IN const INT iStartingResourceID,
|
|
IN const UINT uiColumns
|
|
);
|
|
|
|
LPARAM GetListViewItemData(
|
|
IN HWND hwndList,
|
|
IN int index
|
|
);
|
|
|
|
HRESULT CreateAndHideStagingPath(
|
|
IN BSTR i_bstrServer,
|
|
IN BSTR i_bstrStagingPath
|
|
);
|
|
|
|
HRESULT ConfigAndStartNtfrs
|
|
(
|
|
BSTR i_bstrServer
|
|
);
|
|
|
|
HRESULT CheckResourceProvider(LPCTSTR pszResource);
|
|
|
|
HRESULT FRSShareCheck
|
|
(
|
|
BSTR i_bstrServer,
|
|
BSTR i_bstrFolder,
|
|
OUT FRSSHARE_TYPE *pFRSShareType
|
|
);
|
|
|
|
HRESULT FRSIsNTFRSInstalled
|
|
(
|
|
BSTR i_bstrServer
|
|
);
|
|
|
|
HRESULT InvokeScheduleDlg(
|
|
IN HWND i_hwndParent,
|
|
IN OUT SCHEDULE* io_pSchedule
|
|
);
|
|
|
|
HRESULT ReadSharePublishInfoOnFTRoot(
|
|
LPCTSTR i_pszDomainName,
|
|
LPCTSTR i_pszRootName,
|
|
OUT BOOL* o_pbPublish,
|
|
OUT BSTR* o_pbstrUNCPath,
|
|
OUT BSTR* o_pbstrDescription,
|
|
OUT BSTR* o_pbstrKeywords,
|
|
OUT BSTR* o_pbstrManagedBy);
|
|
|
|
HRESULT ReadSharePublishInfoOnSARoot(
|
|
LPCTSTR i_pszServerName,
|
|
LPCTSTR i_pszShareName,
|
|
OUT BOOL* o_pbPublish,
|
|
OUT BSTR* o_pbstrUNCPath,
|
|
OUT BSTR* o_pbstrDescription,
|
|
OUT BSTR* o_pbstrKeywords,
|
|
OUT BSTR* o_pbstrManagedBy);
|
|
|
|
HRESULT ModifySharePublishInfoOnFTRoot(
|
|
IN PCTSTR i_pszDomainName,
|
|
IN PCTSTR i_pszRootName,
|
|
IN BOOL i_bPublish,
|
|
IN PCTSTR i_pszUNCPath,
|
|
IN PCTSTR i_pszDescription,
|
|
IN PCTSTR i_pszKeywords,
|
|
IN PCTSTR i_pszManagedBy
|
|
);
|
|
|
|
HRESULT ModifySharePublishInfoOnSARoot(
|
|
IN PCTSTR i_pszServerName,
|
|
IN PCTSTR i_pszShareName,
|
|
IN BOOL i_bPublish,
|
|
IN PCTSTR i_pszUNCPath,
|
|
IN PCTSTR i_pszDescription,
|
|
IN PCTSTR i_pszKeywords,
|
|
IN PCTSTR i_pszManagedBy
|
|
);
|
|
|
|
HRESULT PutMultiValuesIntoAttrValList(
|
|
IN PCTSTR i_pszValues,
|
|
OUT LDAP_ATTR_VALUE** o_pVal
|
|
);
|
|
|
|
HRESULT PutMultiValuesIntoStringArray(
|
|
IN PCTSTR i_pszValues,
|
|
OUT PTSTR** o_pVal
|
|
);
|
|
|
|
void FreeStringArray(PTSTR* i_ppszStrings);
|
|
|
|
HRESULT mystrtok(
|
|
IN PCTSTR i_pszString,
|
|
IN OUT int* io_pnIndex, // start from 0
|
|
IN PCTSTR i_pszCharSet,
|
|
OUT BSTR* o_pbstrToken
|
|
);
|
|
|
|
void TrimBSTR(BSTR bstr);
|
|
|
|
BOOL CheckPolicyOnSharePublish();
|
|
|
|
BOOL CheckPolicyOnDisplayingInitialMaster();
|
|
|
|
HRESULT GetMenuResourceStrings(
|
|
IN int i_iStringID,
|
|
OUT BSTR* o_pbstrMenuText,
|
|
OUT BSTR* o_pbstrToolTipText,
|
|
OUT BSTR* o_pbstrStatusBarText
|
|
);
|
|
|
|
LRESULT CALLBACK
|
|
NoPasteEditCtrlProc(
|
|
HWND hwnd,
|
|
UINT uMsg,
|
|
WPARAM wParam,
|
|
LPARAM lParam
|
|
);
|
|
|
|
void SetActivePropertyPage(IN HWND i_hwndParent, IN HWND i_hwndPage);
|
|
|
|
void MyShowWindow(HWND hwnd, BOOL bShow);
|
|
|
|
void OpenBrowseDialog(
|
|
IN HWND hwndParent,
|
|
IN int idLabel,
|
|
IN BOOL bLocalComputer,
|
|
IN LPCTSTR lpszComputer,
|
|
OUT LPTSTR lpszDir
|
|
);
|
|
|
|
#endif // !defined(AFX_UTILS_H__B3542C03_4260_11D1_AA28_00C06C00392D__INCLUDED_)
|