Windows2003-3790/windows/advcore/duser/engine/msg/classlibrary.h
2020-09-30 16:53:55 +02:00

58 lines
1.5 KiB
C++

/***************************************************************************\
*
* File: ClassLibrary.h
*
* Description:
* ClassLibrary.h defines the library of "message classes" that have been
* registered with DirectUser.
*
*
* History:
* 8/05/2000: JStall: Created
*
* Copyright (C) 2000 by Microsoft Corporation. All rights reserved.
*
\***************************************************************************/
#if !defined(MSG__ClassLibrary_h__INCLUDED)
#define MSG__ClassLibrary_h__INCLUDED
#pragma once
class MsgClass;
class ClassLibrary
{
// Construction
public:
ClassLibrary();
~ClassLibrary();
// Operations
public:
HRESULT RegisterGutsNL(DUser::MessageClassGuts * pmcInfo, MsgClass ** ppmc);
HRESULT RegisterStubNL(DUser::MessageClassStub * pmcInfo, MsgClass ** ppmc);
HRESULT RegisterSuperNL(DUser::MessageClassSuper * pmcInfo, MsgClass ** ppmc);
void MarkInternal(HCLASS hcl);
const MsgClass *
FindClass(ATOM atomName) const;
// Implementation
protected:
HRESULT BuildClass(LPCWSTR pszClassName, MsgClass ** ppmc);
// Data
protected:
CritLock m_lock;
GList<MsgClass>
m_lstClasses;
};
ClassLibrary *
GetClassLibrary();
#include "ClassLibrary.inl"
#endif // MSG__ClassLibrary_h__INCLUDED