00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059 #ifndef COMSTL_INCL_H_COMSTL
00060 # include "comstl.h"
00061 #endif
00062 #ifndef COMSTL_INCL_H_COMSTL_INTERFACE_TRAITS
00063 # include "comstl_interface_traits.h"
00064 #endif
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083 #ifndef _COMSTL_NO_NAMESPACE
00084 # if defined(_STLSOFT_NO_NAMESPACE) || \
00085 defined(__STLSOFT_DOCUMENTATION_SKIP_SECTION)
00086
00087 namespace comstl
00088 {
00089 # else
00090
00091
00092 namespace stlsoft
00093 {
00094
00095 namespace comstl_project
00096 {
00097
00098 # endif
00099 #endif
00100
00101
00102
00107
00108
00109
00110
00111
00112
00113
00114 #if defined(__STLSOFT_COMPILER_IS_GCC) && \
00115 defined(_UNKNWN_H)
00116 # define __IUnknown_FWD_DEFINED__
00117 # define __IClassFactory_FWD_DEFINED__
00118 #endif
00119
00120 #ifdef __IUnknown_FWD_DEFINED__
00121 COMSTL_IID_TRAITS_DEFINE(IUnknown)
00122 #endif
00123 #ifdef __IClassFactory_FWD_DEFINED__
00124 COMSTL_IID_TRAITS_DEFINE(IClassFactory)
00125 #endif
00126
00127
00128
00129 #if defined(__STLSOFT_COMPILER_IS_GCC) && \
00130 defined(_UNKNWN_H)
00131 # define __IMarshal_FWD_DEFINED__
00132 # define __IMalloc_FWD_DEFINED__
00133 # define __IMallocSpy_FWD_DEFINED__
00134 # define __IStdMarshalInfo_FWD_DEFINED__
00135 # define __IExternalConnection_FWD_DEFINED__
00136
00137 # define __IEnumUnknown_FWD_DEFINED__
00138 # define __IBindCtx_FWD_DEFINED__
00139 # define __IEnumMoniker_FWD_DEFINED__
00140 # define __IRunnableObject_FWD_DEFINED__
00141 # define __IRunningObjectTable_FWD_DEFINED__
00142 # define __IPersist_FWD_DEFINED__
00143 # define __IPersistStream_FWD_DEFINED__
00144 # define __IMoniker_FWD_DEFINED__
00145 # define __IROTData_FWD_DEFINED__
00146 # define __IEnumString_FWD_DEFINED__
00147 # define __ISequentialStream_FWD_DEFINED__
00148 # define __IStream_FWD_DEFINED__
00149 # define __IEnumSTATSTG_FWD_DEFINED__
00150 # define __IStorage_FWD_DEFINED__
00151 # define __IPersistFile_FWD_DEFINED__
00152 # define __IPersistStorage_FWD_DEFINED__
00153 # define __ILockBytes_FWD_DEFINED__
00154 # define __IEnumFORMATETC_FWD_DEFINED__
00155 # define __IEnumSTATDATA_FWD_DEFINED__
00156 # define __IRootStorage_FWD_DEFINED__
00157 # define __IAdviseSink_FWD_DEFINED__
00158 # define __IAdviseSink2_FWD_DEFINED__
00159 # define __IDataObject_FWD_DEFINED__
00160 # define __IDataAdviseHolder_FWD_DEFINED__
00161 # define __IMessageFilter_FWD_DEFINED__
00162 # define __IRpcChannelBuffer_FWD_DEFINED__
00163 # define __IRpcProxyBuffer_FWD_DEFINED__
00164 # define __IRpcStubBuffer_FWD_DEFINED__
00165 # define __IPSFactoryBuffer_FWD_DEFINED__
00166 # define __IChannelHook_FWD_DEFINED__
00167 # define __IPropertyStorage_FWD_DEFINED__
00168 # define __IPropertySetStorage_FWD_DEFINED__
00169 # define __IEnumSTATPROPSTG_FWD_DEFINED__
00170 # define __IEnumSTATPROPSETSTG_FWD_DEFINED__
00171 # define __IClientSecurity_FWD_DEFINED__
00172 # define __IServerSecurity_FWD_DEFINED__
00173 # define __IClassActivator_FWD_DEFINED__
00174 # define __IFillLockBytes_FWD_DEFINED__
00175 # define __IProgressNotify_FWD_DEFINED__
00176 # define __ILayoutStorage_FWD_DEFINED__
00177 #endif
00178
00179 #ifdef __IMarshal_FWD_DEFINED__
00180 COMSTL_IID_TRAITS_DEFINE(IMarshal)
00181 #endif
00182 #ifdef __IMalloc_FWD_DEFINED__
00183 COMSTL_IID_TRAITS_DEFINE(IMalloc)
00184 #endif
00185 #ifdef __IMallocSpy_FWD_DEFINED__
00186 COMSTL_IID_TRAITS_DEFINE(IMallocSpy)
00187 #endif
00188 #ifdef __IStdMarshalInfo_FWD_DEFINED__
00189 COMSTL_IID_TRAITS_DEFINE(IStdMarshalInfo)
00190 #endif
00191 #ifdef __IExternalConnection_FWD_DEFINED__
00192 COMSTL_IID_TRAITS_DEFINE(IExternalConnection)
00193 #endif
00194 #ifdef __IMultiQI_FWD_DEFINED__
00195 COMSTL_IID_TRAITS_DEFINE(IMultiQI)
00196 #endif
00197 #ifdef __IEnumUnknown_FWD_DEFINED__
00198 COMSTL_IID_TRAITS_DEFINE(IEnumUnknown)
00199 #endif
00200 #ifdef __IBindCtx_FWD_DEFINED__
00201 COMSTL_IID_TRAITS_DEFINE(IBindCtx)
00202 #endif
00203 #ifdef __IEnumMoniker_FWD_DEFINED__
00204 COMSTL_IID_TRAITS_DEFINE(IEnumMoniker)
00205 #endif
00206 #ifdef __IRunnableObject_FWD_DEFINED__
00207 COMSTL_IID_TRAITS_DEFINE(IRunnableObject)
00208 #endif
00209 #ifdef __IRunningObjectTable_FWD_DEFINED__
00210 COMSTL_IID_TRAITS_DEFINE(IRunningObjectTable)
00211 #endif
00212 #ifdef __IPersist_FWD_DEFINED__
00213 COMSTL_IID_TRAITS_DEFINE(IPersist)
00214 #endif
00215 #ifdef __IPersistStream_FWD_DEFINED__
00216 COMSTL_IID_TRAITS_DEFINE(IPersistStream)
00217 #endif
00218 #ifdef __IMoniker_FWD_DEFINED__
00219 COMSTL_IID_TRAITS_DEFINE(IMoniker)
00220 #endif
00221 #ifdef __IROTData_FWD_DEFINED__
00222 COMSTL_IID_TRAITS_DEFINE(IROTData)
00223 #endif
00224 #ifdef __IEnumString_FWD_DEFINED__
00225 COMSTL_IID_TRAITS_DEFINE(IEnumString)
00226 #endif
00227 #ifdef __ISequentialStream_FWD_DEFINED__
00228 COMSTL_IID_TRAITS_DEFINE(ISequentialStream)
00229 #endif
00230 #ifdef __IStream_FWD_DEFINED__
00231 COMSTL_IID_TRAITS_DEFINE(IStream)
00232 #endif
00233 #ifdef __IEnumSTATSTG_FWD_DEFINED__
00234 COMSTL_IID_TRAITS_DEFINE(IEnumSTATSTG)
00235 #endif
00236 #ifdef __IStorage_FWD_DEFINED__
00237 COMSTL_IID_TRAITS_DEFINE(IStorage)
00238 #endif
00239 #ifdef __IPersistFile_FWD_DEFINED__
00240 COMSTL_IID_TRAITS_DEFINE(IPersistFile)
00241 #endif
00242 #ifdef __IPersistStorage_FWD_DEFINED__
00243 COMSTL_IID_TRAITS_DEFINE(IPersistStorage)
00244 #endif
00245 #ifdef __ILockBytes_FWD_DEFINED__
00246 COMSTL_IID_TRAITS_DEFINE(ILockBytes)
00247 #endif
00248 #ifdef __IEnumFORMATETC_FWD_DEFINED__
00249 COMSTL_IID_TRAITS_DEFINE(IEnumFORMATETC)
00250 #endif
00251 #ifdef __IEnumSTATDATA_FWD_DEFINED__
00252 COMSTL_IID_TRAITS_DEFINE(IEnumSTATDATA)
00253 #endif
00254 #ifdef __IRootStorage_FWD_DEFINED__
00255 COMSTL_IID_TRAITS_DEFINE(IRootStorage)
00256 #endif
00257 #ifdef __IAdviseSink_FWD_DEFINED__
00258 COMSTL_IID_TRAITS_DEFINE(IAdviseSink)
00259 #endif
00260 #ifdef __IAdviseSink2_FWD_DEFINED__
00261 COMSTL_IID_TRAITS_DEFINE(IAdviseSink2)
00262 #endif
00263 #ifdef __IDataObject_FWD_DEFINED__
00264 COMSTL_IID_TRAITS_DEFINE(IDataObject)
00265 #endif
00266 #ifdef __IDataAdviseHolder_FWD_DEFINED__
00267 COMSTL_IID_TRAITS_DEFINE(IDataAdviseHolder)
00268 #endif
00269 #ifdef __IMessageFilter_FWD_DEFINED__
00270 COMSTL_IID_TRAITS_DEFINE(IMessageFilter)
00271 #endif
00272 #ifdef __IRpcChannelBuffer_FWD_DEFINED__
00273 COMSTL_IID_TRAITS_DEFINE(IRpcChannelBuffer)
00274 #endif
00275 #ifdef __IRpcProxyBuffer_FWD_DEFINED__
00276 COMSTL_IID_TRAITS_DEFINE(IRpcProxyBuffer)
00277 #endif
00278 #ifdef __IRpcStubBuffer_FWD_DEFINED__
00279 COMSTL_IID_TRAITS_DEFINE(IRpcStubBuffer)
00280 #endif
00281 #ifdef __IPSFactoryBuffer_FWD_DEFINED__
00282 COMSTL_IID_TRAITS_DEFINE(IPSFactoryBuffer)
00283 #endif
00284 #ifdef __IChannelHook_FWD_DEFINED__
00285 COMSTL_IID_TRAITS_DEFINE(IChannelHook)
00286 #endif
00287 #ifdef __IPropertyStorage_FWD_DEFINED__
00288 COMSTL_IID_TRAITS_DEFINE(IPropertyStorage)
00289 #endif
00290 #ifdef __IPropertySetStorage_FWD_DEFINED__
00291 COMSTL_IID_TRAITS_DEFINE(IPropertySetStorage)
00292 #endif
00293 #ifdef __IEnumSTATPROPSTG_FWD_DEFINED__
00294 COMSTL_IID_TRAITS_DEFINE(IEnumSTATPROPSTG)
00295 #endif
00296 #ifdef __IEnumSTATPROPSETSTG_FWD_DEFINED__
00297 COMSTL_IID_TRAITS_DEFINE(IEnumSTATPROPSETSTG)
00298 #endif
00299 #ifdef __IClientSecurity_FWD_DEFINED__
00300 COMSTL_IID_TRAITS_DEFINE(IClientSecurity)
00301 #endif
00302 #ifdef __IServerSecurity_FWD_DEFINED__
00303 COMSTL_IID_TRAITS_DEFINE(IServerSecurity)
00304 #endif
00305 #ifdef __IClassActivator_FWD_DEFINED__
00306 COMSTL_IID_TRAITS_DEFINE(IClassActivator)
00307 #endif
00308 #ifdef __IFillLockBytes_FWD_DEFINED__
00309 COMSTL_IID_TRAITS_DEFINE(IFillLockBytes)
00310 #endif
00311 #ifdef __IProgressNotify_FWD_DEFINED__
00312 COMSTL_IID_TRAITS_DEFINE(IProgressNotify)
00313 #endif
00314 #ifdef __ILayoutStorage_FWD_DEFINED__
00315 COMSTL_IID_TRAITS_DEFINE(ILayoutStorage)
00316 #endif
00317
00318
00319
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332 #endif
00333
00334
00335
00336
00337
00338