Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2000.
//
// File: C O N T A I N E R . H
//
// Contents: Serves as container for device host objects.
//
// Notes:
//
// Author: mbend 6 Sep 2000
//
//----------------------------------------------------------------------------
#pragma once
#include "ucres.h" // main symbols
#include "hostp.h"
// Typedefs
/////////////////////////////////////////////////////////////////////////////
// TestObject
class ATL_NO_VTABLE CContainer : public CComObjectRootEx<CComMultiThreadModel>, public CComCoClass<CContainer, &CLSID_UPnPContainer>, public IUPnPContainer { public: CContainer(); ~CContainer();
DECLARE_REGISTRY_RESOURCEID(IDR_CONTAINER)
DECLARE_NOT_AGGREGATABLE(CContainer)
BEGIN_COM_MAP(CContainer) COM_INTERFACE_ENTRY(IUPnPContainer) END_COM_MAP()
public: // IUPnPContainer methods
STDMETHOD(CreateInstance)( /*[in]*/ REFCLSID clsid, /*[in]*/ REFIID riid, /*[out, iid_is(riid)]*/ void ** ppv); STDMETHOD(Shutdown)(); STDMETHOD(SetParent)( /*[in]*/ DWORD pid);
static void DoNormalShutdown(); private: static HANDLE s_hThreadShutdown; static HANDLE s_hEventShutdown; static HANDLE s_hProcessDiedWait; static HANDLE s_hParentProc;
static DWORD WINAPI ShutdownThread(void*); static VOID WINAPI KillThread(void*, BOOLEAN); };
|