ReactOS 0.4.16-dev-1278-gd809cd0
ExplorerInstance Struct Reference
Inheritance diagram for ExplorerInstance:
Collaboration diagram for ExplorerInstance:

Public Member Functions

 ExplorerInstance ()
 
virtual HRESULT STDMETHODCALLTYPE QueryInterface (REFIID riid, void **ppv)
 
virtual ULONG STDMETHODCALLTYPE AddRef ()
 
virtual ULONG STDMETHODCALLTYPE Release ()
 
void Wait ()
 
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Public Attributes

HWND m_hWnd
 
volatile LONG m_rc
 

Additional Inherited Members

- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 

Detailed Description

Definition at line 562 of file shlextdbg.cpp.

Constructor & Destructor Documentation

◆ ExplorerInstance()

ExplorerInstance::ExplorerInstance ( )
inline

Definition at line 567 of file shlextdbg.cpp.

567: m_hWnd(NULL), m_rc(1) {}
#define NULL
Definition: types.h:112
volatile LONG m_rc
Definition: shlextdbg.cpp:565

Member Function Documentation

◆ AddRef()

virtual ULONG STDMETHODCALLTYPE ExplorerInstance::AddRef ( void  )
inlinevirtual

Implements IUnknown.

Definition at line 573 of file shlextdbg.cpp.

574 {
576 wprintf(L"INFO: SHGetInstanceExplorer\n");
577 return InterlockedIncrement(&m_rc);
578 }
#define InterlockedIncrement
Definition: armddk.h:53
#define L(x)
Definition: ntvdm.h:50
WaitType g_Wait
Definition: shlextdbg.cpp:431
@ Wait_ExplorerInstance
Definition: shlextdbg.cpp:423
#define wprintf(...)
Definition: whoami.c:18

◆ QueryInterface()

virtual HRESULT STDMETHODCALLTYPE ExplorerInstance::QueryInterface ( REFIID  riid,
void **  ppv 
)
inlinevirtual

Implements IUnknown.

Definition at line 568 of file shlextdbg.cpp.

569 {
570 static const QITAB rgqit[] = { { 0 } };
571 return QISearch(this, rgqit, riid, ppv);
572 }
HRESULT WINAPI QISearch(void *base, const QITAB *table, REFIID riid, void **obj)
Definition: main.c:421
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39

◆ Release()

virtual ULONG STDMETHODCALLTYPE ExplorerInstance::Release ( void  )
inlinevirtual

Implements IUnknown.

Definition at line 579 of file shlextdbg.cpp.

580 {
582 wprintf(L"INFO: Release ExplorerInstance\n");
584 if (!r)
586 return r;
587 }
#define InterlockedDecrement
Definition: armddk.h:52
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
uint32_t ULONG
Definition: typedefs.h:59
#define WM_CLOSE
Definition: winuser.h:1640
#define PostMessage
Definition: winuser.h:5917

◆ Wait()

void ExplorerInstance::Wait ( )
inline

Definition at line 588 of file shlextdbg.cpp.

589 {
592 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL);
593 BOOL loop = InterlockedDecrement(&m_rc) != 0;
594 MSG msg;
595 while (loop && (int)GetMessage(&msg, NULL, 0, 0) > 0)
596 {
597 if (msg.hwnd == m_hWnd && msg.message == WM_CLOSE)
598 PostMessage(m_hWnd, WM_QUIT, 0, 0);
600 }
601 }
#define msg(x)
Definition: auth_time.c:54
unsigned int BOOL
Definition: ntddk_ex.h:94
#define TEXT(s)
Definition: k32.h:28
#define WS_POPUP
Definition: pedump.c:616
VOID WINAPI SHSetInstanceExplorer(LPUNKNOWN lpUnknown)
Definition: shellord.c:1694
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1829
#define HWND_MESSAGE
Definition: winuser.h:1221
#define CreateWindowEx
Definition: winuser.h:5840
#define WM_QUIT
Definition: winuser.h:1642
#define WS_EX_TOOLWINDOW
Definition: winuser.h:404
#define GetMessage
Definition: winuser.h:5875
#define DispatchMessage
Definition: winuser.h:5850

Referenced by Wait().

Member Data Documentation

◆ m_hWnd

HWND ExplorerInstance::m_hWnd

Definition at line 564 of file shlextdbg.cpp.

Referenced by Release(), and Wait().

◆ m_rc

volatile LONG ExplorerInstance::m_rc

Definition at line 565 of file shlextdbg.cpp.

Referenced by AddRef(), Release(), and Wait().


The documentation for this struct was generated from the following file: