Leaked source code of windows server 2003
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.
|
|
/*++
� 1998 Seagate Software, Inc. All rights reserved.
Module Name:
wsbvar.h
Abstract:
This class is a wrapper for the VARIANT structure, providing conversion and cleanup automatically. Current supported types for conversion are OLECHAR * (BSTR), IUnknown / IDispatch, and GUID. GUIDs are represented internally as strings.
Author:
Rohde Wakefield [rohde] 21-Jan-1997
Revision History:
--*/
#ifndef _WSBVAR_
#define _WSBVAR_
class WSB_EXPORT CWsbVariant : public tagVARIANT { public: CWsbVariant ( ) { Init ( ); } ~CWsbVariant ( ) { Clear ( ); }
HRESULT Clear ( ) { return ( VariantClear ( this ) ); } void Init ( ) { VariantInit ( this ); }
BOOL IsEmpty ( ) { return ( VT_EMPTY == vt ); }
CWsbVariant & operator = ( const VARIANT & variant ) { VariantCopy ( this, (VARIANT *)&variant ); return ( *this ); }
BOOL IsBstr ( ) { return ( VT_BSTR == vt ); }
CWsbVariant ( const OLECHAR * string ); CWsbVariant & operator = ( const OLECHAR * string ); operator OLECHAR * ( );
BOOL IsInterface ( ) { return ( ( VT_UNKNOWN == vt ) || ( VT_DISPATCH == vt ) ); }
BOOL IsDispatch ( ) { return ( ( VT_DISPATCH == vt ) ); }
CWsbVariant ( IUnknown * ); CWsbVariant ( IDispatch * ); operator IUnknown * ( ); operator IDispatch * ( ); CWsbVariant & operator = ( IUnknown * pUnk ); CWsbVariant & operator = ( IDispatch * pDisp );
CWsbVariant ( REFGUID rguid ); CWsbVariant & operator = ( REFGUID rguid ); operator GUID ();
};
#endif
|