mirror of https://github.com/tongzx/nt5src
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.
139 lines
2.4 KiB
139 lines
2.4 KiB
/*++
|
|
|
|
Module Name:
|
|
|
|
stdafx.h
|
|
|
|
Abstract:
|
|
|
|
Include file for standard system include files,
|
|
Or project specific include files that are used frequently, but are
|
|
changed infrequently
|
|
|
|
--*/
|
|
|
|
|
|
#if !defined(AFX_STDAFX_H__D8861A25_3343_11D1_BE3D_00A024DFD45D__INCLUDED_)
|
|
#define AFX_STDAFX_H__D8861A25_3343_11D1_BE3D_00A024DFD45D__INCLUDED_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#pragma warning (disable: 4706 4100)
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
#define STRICT
|
|
#define _ATL_APARTMENT_THREADED
|
|
|
|
|
|
#include <atlbase.h>
|
|
//You may derive a class from CComModule and use it if you want to override
|
|
//something, but do not change the name of _Module
|
|
extern CComModule _Module;
|
|
#include <shellapi.h>
|
|
#include <atlcom.h>
|
|
#include <atlwin.h>
|
|
#include <commctrl.h> // For using the TreeView(TV).
|
|
#include <shfusion.h>
|
|
|
|
|
|
#include "DfsCore_i.c"
|
|
|
|
|
|
#if __RPCNDR_H_VERSION__ < 440
|
|
#define __RPCNDR_H_VERSION__ 440
|
|
#define MIDL_INTERFACE(x) interface
|
|
#endif
|
|
|
|
#include "dfsDebug.h"
|
|
|
|
#include <mmc.h>
|
|
|
|
#define DFS_NAME_COLUMN_WIDTH 250
|
|
|
|
typedef enum _NODETYPE
|
|
{
|
|
UNASSIGNED = 0,
|
|
TRUSTED_DOMAIN,
|
|
DOMAIN_DFSROOTS,
|
|
ALL_DFSROOTS,
|
|
FTDFS,
|
|
SADFS
|
|
} NODETYPE;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Inline methods
|
|
|
|
template<class TYPE>
|
|
inline void SAFE_RELEASE(TYPE*& pObj)
|
|
{
|
|
if (NULL != pObj)
|
|
{
|
|
try
|
|
{
|
|
pObj->Release();
|
|
pObj = NULL;
|
|
}
|
|
catch(...)
|
|
{
|
|
pObj = NULL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ATLTRACE(_T("SAFE_RELEASE: called on NULL interface ptr\n"));
|
|
}
|
|
}
|
|
|
|
|
|
template<class TYPE>
|
|
inline void SAFE_DELETE(TYPE*& pObj)
|
|
{
|
|
if (NULL != pObj)
|
|
{
|
|
try
|
|
{
|
|
delete pObj;
|
|
pObj = NULL;
|
|
}
|
|
catch(...)
|
|
{
|
|
pObj = NULL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ATLTRACE(_T("SAFE_DELETE: called on NULL object\n"));
|
|
}
|
|
}
|
|
|
|
|
|
inline void SAFE_SYSFREESTRING(BSTR* i_pbstr)
|
|
{
|
|
if (NULL != i_pbstr)
|
|
{
|
|
try
|
|
{
|
|
SysFreeString(*i_pbstr);
|
|
*i_pbstr = NULL;
|
|
}
|
|
catch(...)
|
|
{
|
|
*i_pbstr = NULL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ATLTRACE(_T("SAFE_SYSFREESTRING: called on NULL BSTR\n"));
|
|
}
|
|
}
|
|
|
|
|
|
#ifndef _DEBUG
|
|
// Put unreferenced parameter warning off
|
|
#pragma warning(disable : 4100)
|
|
#endif // _DEBUG
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_STDAFX_H__D8861A25_3343_11D1_BE3D_00A024DFD45D__INCLUDED)
|