Home COM GDI+ WebBrowser Data Access

IDBAsynchStatus Interface

 

IID_IDBAsynchStatus

{0C733A95-2A1C-11CE-ADE5-00AA0044773D}

 

 

Consumers requiring asynchronous data source object initialization or asynchronous rowset generation or population can poll for status or cancel the asynchronous operation by requesting IDBAsynchStatus on the object being initialized, generated, or populated.

 

Documentation: IDBASynchStatus

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IDBAsynchStatus Methods

Description

Abort

Cancels an asynchronously executing operation.

GetStatus

Returns the status of an asynchronously executing operation.

 

Abort

 

FUNCTION IDBAsynchStatus_Abort ( _
  BYVAL pthis AS DWORD PTR _

, BYVAL hChapter AS DWORD _

, BYVAL eOperation AS DWORD _

  ) AS LONG


  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[3] USING IDBAsynchStatus_Abort (pthis, hChapter, eOperation) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

GetStatus

 

DECLARE FUNCTION Proto_IDBAsynchStatus_GetStatus ( _
  BYVAL pthis AS DWORD PTR _

, BYVAL hChapter AS DWORD _

, BYVAL eOperation AS DWORD _

, BYREF pulProgress AS DWORD _

, BYREF pulProgressMax AS DWORD _

, BYREF peAsynchPhase AS DWORD _

, BYREF ppwszStatusText AS DWORD _

  ) AS LONG

 

FUNCTION IDBAsynchStatus_GetStatus ( _
  BYVAL pthis AS DWORD PTR _

, BYVAL hChapter AS DWORD _

, BYVAL eOperation AS DWORD _

, BYREF pulProgress AS DWORD _

, BYREF pulProgressMax AS DWORD _

, BYREF peAsynchPhase AS DWORD _

, BYREF strStatusText AS STRING _

  ) AS LONG


  LOCAL HRESULT AS LONG
  LOCAL bstrlen AS LONG
  LOCAL ppwszStatusText AS DWORD
  IF LEN(strStatusText) THEN
     strStatusText = UCODE$(strStatusText) & $NUL
     ppwszStatusText = STRPTR(strStatusText)
  END IF
  CALL DWORD @@pthis[4] USING Proto_IDBAsynchStatus_GetStatus (pthis, hChapter, eOperation, pulProgress, pulProgressMax, peAsynchPhase, ppwszStatusText) TO HRESULT
  IF ISTRUE ppwszStatusText THEN
     bstrlen = lstrlenW(BYVAL ppwszStatusText)
     IF ISTRUE bstrlen THEN
        IF VARPTR(strStatusText) THEN
           strStatusText = PEEK$(ppwszStatusText, bstrlen * 2)
           strStatusText = ACODE$(strStatusText)
        END IF
     END IF
     CoTaskMemFree ppwszStatusText
  END IF
  FUNCTION = HRESULT

END FUNCTION

 

 

Page last updated on Saturday, 11 November 2006 05:49:23 +0100