ReactOS 0.4.15-dev-7968-g24a56f8
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 530 of file shlextdbg.cpp.

Constructor & Destructor Documentation

◆ ExplorerInstance()

ExplorerInstance::ExplorerInstance ( )
inline

Definition at line 535 of file shlextdbg.cpp.

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

Member Function Documentation

◆ AddRef()

virtual ULONG STDMETHODCALLTYPE ExplorerInstance::AddRef ( void  )
inlinevirtual

Implements IUnknown.

Definition at line 541 of file shlextdbg.cpp.

542 {
544 wprintf(L"INFO: SHGetInstanceExplorer\n");
545 return InterlockedIncrement(&m_rc);
546 }
#define InterlockedIncrement
Definition: armddk.h:53
#define L(x)
Definition: ntvdm.h:50
WaitType g_Wait
Definition: shlextdbg.cpp:399
@ Wait_ExplorerInstance
Definition: shlextdbg.cpp:391
#define wprintf(...)
Definition: whoami.c:18

◆ QueryInterface()

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

Implements IUnknown.

Definition at line 536 of file shlextdbg.cpp.

537 {
538 static const QITAB rgqit[] = { { 0 } };
539 return QISearch(this, rgqit, riid, ppv);
540 }
HRESULT WINAPI QISearch(void *base, const QITAB *table, REFIID riid, void **ppv)
Definition: ordinal.c:2392
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 547 of file shlextdbg.cpp.

548 {
550 wprintf(L"INFO: Release ExplorerInstance\n");
552 if (!r)
554 return r;
555 }
#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:1621
#define PostMessage
Definition: winuser.h:5832

◆ Wait()

void ExplorerInstance::Wait ( )
inline

Definition at line 556 of file shlextdbg.cpp.

557 {
560 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL);
561 BOOL loop = InterlockedDecrement(&m_rc) != 0;
562 MSG msg;
563 while (loop && (int)GetMessage(&msg, NULL, 0, 0) > 0)
564 {
565 if (msg.hwnd == m_hWnd && msg.message == WM_CLOSE)
566 PostMessage(m_hWnd, WM_QUIT, 0, 0);
568 }
569 }
#define msg(x)
Definition: auth_time.c:54
unsigned int BOOL
Definition: ntddk_ex.h:94
#define TEXT(s)
Definition: k32.h:26
#define WS_POPUP
Definition: pedump.c:616
VOID WINAPI SHSetInstanceExplorer(LPUNKNOWN lpUnknown)
Definition: shellord.c:1496
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1829
#define HWND_MESSAGE
Definition: winuser.h:1210
#define CreateWindowEx
Definition: winuser.h:5755
#define WM_QUIT
Definition: winuser.h:1623
#define WS_EX_TOOLWINDOW
Definition: winuser.h:404
#define GetMessage
Definition: winuser.h:5790
#define DispatchMessage
Definition: winuser.h:5765

Referenced by Wait().

Member Data Documentation

◆ m_hWnd

HWND ExplorerInstance::m_hWnd

Definition at line 532 of file shlextdbg.cpp.

Referenced by Release(), and Wait().

◆ m_rc

volatile LONG ExplorerInstance::m_rc

Definition at line 533 of file shlextdbg.cpp.

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


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