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 
00047 #ifndef COMSTL_INCL_COMSTL_UTIL_H_ROT_FUNCTIONS
00048 #define COMSTL_INCL_COMSTL_UTIL_H_ROT_FUNCTIONS
00049 
00050 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00051 # define COMSTL_VER_COMSTL_UTIL_H_ROT_FUNCTIONS_MAJOR       5
00052 # define COMSTL_VER_COMSTL_UTIL_H_ROT_FUNCTIONS_MINOR       1
00053 # define COMSTL_VER_COMSTL_UTIL_H_ROT_FUNCTIONS_REVISION    3
00054 # define COMSTL_VER_COMSTL_UTIL_H_ROT_FUNCTIONS_EDIT        64
00055 #endif 
00056 
00057 
00058 
00059 
00060 
00061 #ifndef COMSTL_INCL_COMSTL_H_COMSTL
00062 # include <comstl/comstl.h>
00063 #endif 
00064 
00065 
00066 
00067 
00068 
00069 #if !defined(_COMSTL_NO_NAMESPACE) && \
00070     !defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00071 # if defined(_STLSOFT_NO_NAMESPACE)
00072 
00073 namespace comstl
00074 {
00075 # else
00076 
00077 
00078 namespace stlsoft
00079 {
00080 
00081 namespace comstl_project
00082 {
00083 
00084 # endif 
00085 #endif 
00086 
00087 
00088 
00089 
00090 
00091 
00104 STLSOFT_INLINE HRESULT comstl_C_Rot_Register(
00105     DWORD       grfFlags
00106 ,   LPUNKNOWN   punkObject
00107 ,   LPMONIKER   pmkObjectName
00108 ,   DWORD*      pdwRegister
00109 )
00110 {
00111     LPRUNNINGOBJECTTABLE    prot;
00112     HRESULT                 hr = STLSOFT_NS_GLOBAL(GetRunningObjectTable)(0, &prot);
00113 
00114     if(SUCCEEDED(hr))
00115     {
00116         hr = COMSTL_ITF_CALL(prot)->Register(COMSTL_ITF_THIS(prot) grfFlags, punkObject, pmkObjectName, pdwRegister);
00117 
00118         COMSTL_ITF_CALL(prot)->Release(COMSTL_ITF_THIS0(prot));
00119     }
00120 
00121     return hr;
00122 }
00123 
00134 STLSOFT_INLINE HRESULT comstl_C_Rot_Revoke(DWORD dwRegister)
00135 {
00136     LPRUNNINGOBJECTTABLE    prot;
00137     HRESULT                 hr = STLSOFT_NS_GLOBAL(GetRunningObjectTable)(0, &prot);
00138 
00139     if(SUCCEEDED(hr))
00140     {
00141         hr = COMSTL_ITF_CALL(prot)->Revoke(COMSTL_ITF_THIS(prot) dwRegister);
00142 
00143         COMSTL_ITF_CALL(prot)->Release(COMSTL_ITF_THIS0(prot));
00144     }
00145 
00146     return hr;
00147 }
00148 
00160 STLSOFT_INLINE HRESULT comstl_C_Rot_IsRunning(LPMONIKER pmkObjectName)
00161 {
00162     LPRUNNINGOBJECTTABLE    prot;
00163     HRESULT                 hr = STLSOFT_NS_GLOBAL(GetRunningObjectTable)(0, &prot);
00164 
00165     if(SUCCEEDED(hr))
00166     {
00167         hr = COMSTL_ITF_CALL(prot)->IsRunning(COMSTL_ITF_THIS(prot) pmkObjectName);
00168 
00169         COMSTL_ITF_CALL(prot)->Release(COMSTL_ITF_THIS0(prot));
00170     }
00171 
00172     return hr;
00173 }
00174 
00188 STLSOFT_INLINE HRESULT comstl_C_Rot_GetObject(
00189     LPMONIKER   pmkObjectName
00190 ,   LPUNKNOWN*  ppunkObject
00191 )
00192 {
00193     LPRUNNINGOBJECTTABLE    prot;
00194     HRESULT                 hr = STLSOFT_NS_GLOBAL(GetRunningObjectTable)(0, &prot);
00195 
00196     if(SUCCEEDED(hr))
00197     {
00198         hr = COMSTL_ITF_CALL(prot)->GetObject(COMSTL_ITF_THIS(prot) pmkObjectName, ppunkObject);
00199 
00200         COMSTL_ITF_CALL(prot)->Release(COMSTL_ITF_THIS0(prot));
00201     }
00202 
00203     return hr;
00204 }
00205 
00218 STLSOFT_INLINE HRESULT comstl_C_Rot_NoteChangeTime(
00219     DWORD       dwRegister
00220 ,   FILETIME*   lpfiletime
00221 )
00222 {
00223     LPRUNNINGOBJECTTABLE    prot;
00224     HRESULT                 hr = STLSOFT_NS_GLOBAL(GetRunningObjectTable)(0, &prot);
00225 
00226     if(SUCCEEDED(hr))
00227     {
00228         hr = COMSTL_ITF_CALL(prot)->NoteChangeTime(COMSTL_ITF_THIS(prot) dwRegister, lpfiletime);
00229 
00230         COMSTL_ITF_CALL(prot)->Release(COMSTL_ITF_THIS0(prot));
00231     }
00232 
00233     return hr;
00234 }
00235 
00248 STLSOFT_INLINE HRESULT comstl_C_Rot_GetTimeOfLastChange(
00249     LPMONIKER   pmkObjectName
00250 ,   FILETIME*   lpfiletime
00251 )
00252 {
00253     LPRUNNINGOBJECTTABLE    prot;
00254     HRESULT                 hr = STLSOFT_NS_GLOBAL(GetRunningObjectTable)(0, &prot);
00255 
00256     if(SUCCEEDED(hr))
00257     {
00258         hr = COMSTL_ITF_CALL(prot)->GetTimeOfLastChange(COMSTL_ITF_THIS(prot) pmkObjectName, lpfiletime);
00259 
00260         COMSTL_ITF_CALL(prot)->Release(COMSTL_ITF_THIS0(prot));
00261     }
00262 
00263     return hr;
00264 }
00265 
00276 STLSOFT_INLINE HRESULT comstl_C_Rot_EnumRunning(IEnumMoniker** ppenumMoniker)
00277 {
00278     LPRUNNINGOBJECTTABLE    prot;
00279     HRESULT                 hr = STLSOFT_NS_GLOBAL(GetRunningObjectTable)(0, &prot);
00280 
00281     if(SUCCEEDED(hr))
00282     {
00283         hr = COMSTL_ITF_CALL(prot)->EnumRunning(COMSTL_ITF_THIS(prot) ppenumMoniker);
00284 
00285         COMSTL_ITF_CALL(prot)->Release(COMSTL_ITF_THIS0(prot));
00286     }
00287 
00288     return hr;
00289 }
00290 
00291 #if defined(STLSOFT_DOCUMENTATION_SKIP_SECTION) || \
00292     defined(STLSOFT_OBSOLETE) || \
00293     _STLSOFT_VER < 0x010a0000
00294 
00299 # define comstl__Rot_Register               comstl_C_Rot_Register
00300 
00304 # define comstl__Rot_Revoke                 comstl_C_Rot_Revoke
00305 
00309 # define comstl__Rot_IsRunning              comstl_C_Rot_IsRunning
00310 
00314 # define comstl__Rot_GetObject              comstl_C_Rot_GetObject
00315 
00319 # define comstl__Rot_NoteChangeTime         comstl_C_Rot_NoteChangeTime
00320 
00324 # define comstl__Rot_GetTimeOfLastChange    comstl_C_Rot_GetTimeOfLastChange
00325 
00329 # define comstl__Rot_EnumRunning            comstl_C_Rot_EnumRunning
00330 
00331 #endif 
00332 
00333 
00334 
00335 
00336 
00337 #ifdef STLSOFT_DOCUMENTATION_SKIP_SECTION
00338 namespace comstl
00339 {
00340 #endif 
00341 
00342 
00343 
00344 
00345 
00346 #ifdef __cplusplus
00347 
00360 inline HRESULT Rot_Register(
00361     DWORD       grfFlags
00362 ,   LPUNKNOWN   punkObject
00363 ,   LPMONIKER   pmkObjectName
00364 ,   DWORD*      pdwRegister
00365 )
00366 {
00367     return comstl__Rot_Register(grfFlags, punkObject, pmkObjectName, pdwRegister);
00368 }
00369 
00380 inline HRESULT Rot_Revoke(DWORD dwRegister)
00381 {
00382     return comstl__Rot_Revoke(dwRegister);
00383 }
00384 
00396 inline HRESULT Rot_IsRunning(LPMONIKER pmkObjectName)
00397 {
00398     return comstl__Rot_IsRunning(pmkObjectName);
00399 }
00400 
00414 inline HRESULT Rot_GetObject(
00415     LPMONIKER   pmkObjectName
00416 ,   LPUNKNOWN*  ppunkObject
00417 )
00418 {
00419     return comstl__Rot_GetObject(pmkObjectName, ppunkObject);
00420 }
00421 
00434 inline HRESULT Rot_NoteChangeTime(
00435     DWORD       dwRegister
00436 ,   FILETIME*   lpfiletime
00437 )
00438 {
00439     return comstl__Rot_NoteChangeTime(dwRegister, lpfiletime);
00440 }
00441 
00454 inline HRESULT Rot_GetTimeOfLastChange(
00455     LPMONIKER   pmkObjectName
00456 ,   FILETIME*   lpfiletime
00457 )
00458 {
00459     return comstl__Rot_GetTimeOfLastChange(pmkObjectName, lpfiletime);
00460 }
00461 
00472 inline HRESULT Rot_EnumRunning(IEnumMoniker** ppenumMoniker)
00473 {
00474     return comstl__Rot_EnumRunning(ppenumMoniker);
00475 }
00476 
00477 #endif 
00478 
00479 
00480 
00481 
00482 
00483 #ifdef STLSOFT_UNITTEST
00484 # include "./unittest/rot_functions_unittest_.h"
00485 #endif 
00486 
00487 
00488 
00489 #ifndef _COMSTL_NO_NAMESPACE
00490 # if defined(_STLSOFT_NO_NAMESPACE) || \
00491      defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00492 } 
00493 # else
00494 } 
00495 } 
00496 # endif 
00497 #endif 
00498 
00499 
00500 
00501 #endif 
00502 
00503