WindowsXP-SP1/ds/adsi/oledsvw/testcore.h
2020-09-30 16:53:49 +02:00

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