182 lines
6.5 KiB
C
182 lines
6.5 KiB
C
|
|
#ifndef _TESTCORE_H_
|
|
#define _TESTCORE_H_
|
|
|
|
#define FIRST 0x00000000L
|
|
#define NAMESPACE 0x00000000L
|
|
#define NAMESPACES 0x00000001L
|
|
#define USER 0x00000002L
|
|
#define GROUP 0x00000003L
|
|
#define DOMAIN 0x00000004L
|
|
#define COMPUTER 0x00000005L
|
|
#define SERVICE 0x00000006L
|
|
#define FILESERVICE 0x00000007L
|
|
#define SCHEMA 0x00000008L
|
|
#define PRINTJOB 0x00000009L
|
|
#define PRINTER 0x0000000AL
|
|
#define PRINTQUEUE 0x0000000BL
|
|
#define PRINTDEVICE 0x0000000CL
|
|
#define SESSION 0x0000000DL
|
|
#define RESOURCE 0x0000000EL
|
|
#define FILESHARE 0x0000000FL
|
|
#define OTHER 0x00000010L
|
|
#define NDSROOT 0x00000011L
|
|
#define NDSORG 0x00000012L
|
|
#define NDSOU 0x00000013L
|
|
|
|
#define NDSALIAS 0x00000014L
|
|
#define NDSDIRECTORYMAP 0x00000015L
|
|
#define NDSDISTRIBUTIONLIST 0x00000016L
|
|
#define NDSAFPSERVER 0x00000017L
|
|
#define NDSCOMMUNICATIONSSERVER 0x00000018L
|
|
#define NDSMESSAGEROUTINGGROUP 0x00000019L
|
|
#define NDSNETWARESERVER 0x0000001AL
|
|
#define NDSORGANIZATIONALROLE 0x0000001BL
|
|
#define NDSPRINTQUEUE 0x0000001CL
|
|
#define NDSPRINTSERVER 0x0000001DL
|
|
#define NDSPROFILE 0x0000001EL
|
|
#define NDSVOLUME 0x0000001FL
|
|
#define CLASS 0x00000020L
|
|
#define PROPERTY 0x00000021L
|
|
#define SYNTAX 0x00000022L
|
|
|
|
#define LIMIT 0x00000023L
|
|
|
|
#define ADSVW_INI_FILE _T("adsvw.ini")
|
|
#define LBOUND 0
|
|
|
|
#define SEPARATOR_S _T("# ")
|
|
#define SEPARATOR_C _T('#')
|
|
|
|
|
|
#define RELEASE( p ) \
|
|
if( NULL != p ) \
|
|
{ \
|
|
p->Release( ); \
|
|
}
|
|
|
|
#define FREE_MEMORY( mem ) \
|
|
if( NULL != mem ) \
|
|
{ \
|
|
FreeADsMem( mem ); \
|
|
}
|
|
|
|
#define FREE_ARRAY( mem, count ) \
|
|
if( NULL != mem ) \
|
|
{ \
|
|
FreeADsMem( mem ); \
|
|
}
|
|
|
|
//*******************************************************************
|
|
|
|
|
|
ADSTYPE ADsTypeFromSyntaxString( WCHAR* pszSyntax );
|
|
ADSTYPE ADsTypeFromString( CString& strText );
|
|
CString StringFromADsType( ADSTYPE );
|
|
DWORD TypeFromString( WCHAR* );
|
|
DWORD TypeFromString( CHAR* );
|
|
|
|
void StringFromType( DWORD, WCHAR* );
|
|
void StringFromType( DWORD, CHAR* );
|
|
void StringFromType( DWORD, CString& );
|
|
|
|
BOOL MakeQualifiedName ( CHAR*, CHAR*, DWORD );
|
|
BOOL MakeQualifiedName ( WCHAR*, WCHAR*, DWORD );
|
|
BOOL MakeQualifiedName ( CString&, CString&, DWORD );
|
|
|
|
CString OleDsGetErrorText ( HRESULT );
|
|
|
|
HRESULT BuildFilter( BOOL*, DWORD, VARIANT* );
|
|
BOOL GetFilter( DWORD, VARIANT*, VARIANT* );
|
|
BOOL SetFilter( MEMBERS*, BOOL*, DWORD );
|
|
BOOL SetFilter( IADsContainer*, BOOL*, DWORD );
|
|
|
|
CString FromVariantToString( VARIANT& );
|
|
CString FromVariantArrayToString( VARIANT& v, TCHAR* pszSeparator = NULL );
|
|
HRESULT BuildVariantArray( VARTYPE, CString&, VARIANT&, TCHAR cSeparator = SEPARATOR_C );
|
|
|
|
|
|
COleDsObject* CreateOleDsObject ( DWORD dwType, IUnknown* );
|
|
|
|
void ErrorOnPutProperty( CString& strFuncSet,
|
|
CString& strProperty,
|
|
CString& strPropValue,
|
|
HRESULT hResult,
|
|
BOOL bUseGeneric,
|
|
BOOL bUserEx );
|
|
|
|
BOOL CheckIfValidClassName( CHAR* );
|
|
BOOL CheckIfValidClassName( WCHAR* );
|
|
|
|
int GetImageListIndex ( DWORD );
|
|
UINT GetBitmapImageId ( DWORD );
|
|
|
|
BSTR AllocBSTR ( WCHAR* );
|
|
BSTR AllocBSTR ( CHAR* );
|
|
|
|
TCHAR* AllocTCHAR ( CHAR* );
|
|
TCHAR* AllocTCHAR ( WCHAR* );
|
|
|
|
WCHAR* AllocWCHAR ( CHAR* );
|
|
WCHAR* AllocWCHAR ( WCHAR* );
|
|
|
|
HRESULT Get( IADs*, CHAR*, VARIANT* );
|
|
HRESULT Get( IADs*, WCHAR*, VARIANT* );
|
|
|
|
HRESULT Put( IADs*, CHAR*, VARIANT );
|
|
HRESULT Put( IADs*, WCHAR*, VARIANT );
|
|
|
|
void StringCat( CHAR*, BSTR );
|
|
void StringCat( WCHAR*, BSTR );
|
|
|
|
void GetLastProfileString( TCHAR*, CString& );
|
|
void SetLastProfileString( TCHAR*, CString& );
|
|
|
|
HRESULT CreateBlobArrayFromFile ( CString&, VARIANT& );
|
|
HRESULT CreateBlobArray ( CString&, VARIANT& );
|
|
HRESULT CreateBlobArrayEx ( CString&, VARIANT&, TCHAR cSeparator = SEPARATOR_C );
|
|
|
|
CString Blob2String ( void*, DWORD );
|
|
HRESULT String2Blob ( TCHAR*, void**, DWORD* );
|
|
|
|
void Convert ( CHAR* , CHAR* );
|
|
void Convert ( WCHAR* , CHAR* );
|
|
void Convert ( CHAR* , WCHAR* );
|
|
void Convert ( WCHAR* , WCHAR* );
|
|
|
|
IDispatch* CopyACE ( IDispatch* );
|
|
IDispatch* CopyACL ( IDispatch* );
|
|
IDispatch* CopySD ( IDispatch* );
|
|
|
|
|
|
HRESULT LARGE_INTEGERToString( TCHAR* szString, LARGE_INTEGER* pValue );
|
|
HRESULT StringToLARGE_INTEGER( TCHAR* szString, LARGE_INTEGER* pValue );
|
|
|
|
BOOL ConvertFromPropertyValue( VARIANT& rVar, TCHAR* szText );
|
|
|
|
long GetVARIANTSize ( VARIANT &rVar );
|
|
HRESULT GetVARIANTAt ( long lIdx, VARIANT& vArray, VARIANT &vItem );
|
|
|
|
CString FromLargeInteger( IDispatch* pDisp );
|
|
IDispatch* CreateLargeInteger( CString& strText );
|
|
CString GetValueAt( CString& szText, TCHAR cSep, long lValue );
|
|
long GetValuesCount( CString& szText, TCHAR cSep );
|
|
|
|
#ifdef _DEBUG
|
|
#define ERROR_HERE( szText ) \
|
|
{ \
|
|
TCHAR* pszText; \
|
|
\
|
|
pszText = szText; \
|
|
Convert( pszText, __FILE__ ); \
|
|
_tcscat( pszText, _T( " Line: " ) ); \
|
|
_itot( __LINE__, pszText + _tcslen( pszText ), 10 ); \
|
|
}
|
|
#else
|
|
#define ERROR_HERE( szText ) NULL
|
|
#endif
|
|
|
|
HRESULT PurgeObject( IADsContainer* pParent, IUnknown* pIUnknown, LPWSTR pszPrefix = NULL );
|
|
|
|
#endif
|