Home COM GDI+ WebBrowser Data Access

IInitializeSpy Interface

 

IID_IInitializeSpy

{00000034-0000-0000-C000-000000000046}

 

 

The IInitializeSpy interface is used to do initialization or cleanup when entering or exiting a COM apartment.

 

Use this interface when you need to do initialization or cleanup when entering or exiting a COM apartment.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IInitializeSpy Method

Description

PreInitialize

Called before a call to CoInitializeEx is executed.

PostInitialize

Called after a call to CoInitializeEx has executed.

PreUninitialize

Called before a call to CoUninitialize is executed.

PostUninitialize

Called after a call to CoUninitialize has executed.

 

PreInitialize

 

FUNCTION IInitializeSpy_PreInitialize ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL dwCoInit AS DWORD _

, BYVAL dwCurThreadAptRefs AS DWORD _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[3] USING IInitializeSpy_PreInitialize (pthis, dwCoInit, dwCurThreadAptRefs) TO HRESULT
  FUNCTION = HRESULT


END FUNCTION

 

 

 

FUNCTION IInitializeSpy_PreInitialize ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL dwCoInit AS DWORD _

, BYVAL dwCurThreadAptRefs AS DWORD _

  ) AS LONG
 

  ! push dwCurThreadAptRefs

  ! push dwCoInit
  ! mov  eax, pthis
  ! push eax
  ! mov  eax, dword ptr[eax]
  ! call dword ptr[eax+12]
  ! mov  FUNCTION, eax


END FUNCTION

 

 

PostInitialize

 

FUNCTION IInitializeSpy_PostInitialize ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL hrCoInit AS LONG _

, BYVAL dwCoInit AS DWORD _

, BYVAL dwCurThreadAptRefs AS DWORD _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[4] USING IInitializeSpy_PostInitialize (pthis, hrCoInit, dwCoInit, dwCurThreadAptRefs) TO HRESULT
  FUNCTION = HRESULT


END FUNCTION

 

 

 

FUNCTION IInitializeSpy_PostInitialize ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL hrCoInit AS LONG _

, BYVAL dwCoInit AS DWORD _

, BYVAL dwCurThreadAptRefs AS DWORD _

  ) AS LONG
 

  ! push dwCurThreadAptRefs

  ! push dwCoInit
  ! mov  eax, pthis
  ! push eax
  ! mov  eax, dword ptr[eax]
  ! call dword ptr[eax+16]
  ! mov  FUNCTION, eax


END FUNCTION

 

 

PreUninitialize

 

FUNCTION IInitializeSpy_PreUninitialize ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL dwCurThreadAptRefs AS DWORD _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[5] USING IInitializeSpy_PreUninitialize (pthis, dwCurThreadAptRefs) TO HRESULT
  FUNCTION = HRESULT


END FUNCTION

 

 

 

FUNCTION IInitializeSpy_PreUninitialize ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL dwCurThreadAptRefs AS DWORD _

  ) AS LONG
 

  ! push dwCurThreadAptRefs

  ! mov  eax, pthis
  ! push eax
  ! mov  eax, dword ptr[eax]
  ! call dword ptr[eax+20]
  ! mov  FUNCTION, eax


END FUNCTION

 

 

PostUninitialize

 

FUNCTION IInitializeSpy_PostUninitialize ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL dwCurThreadAptRefs AS DWORD _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[6] USING IInitializeSpy_PostUninitialize (pthis, dwCurThreadAptRefs) TO HRESULT
  FUNCTION = HRESULT


END FUNCTION

 

 

 

FUNCTION IInitializeSpy_PostUninitialize ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL dwCurThreadAptRefs AS DWORD _

  ) AS LONG
 

  ! push dwCurThreadAptRefs

  ! mov  eax, pthis
  ! push eax
  ! mov  eax, dword ptr[eax]
  ! call dword ptr[eax+24]
  ! mov  FUNCTION, eax


END FUNCTION

 

 

Page last updated on Monday, 03 April 2006 20:23:34 +0200