summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/mfc30/afxdll_.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/mfc30/afxdll_.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/public/sdk/inc/mfc30/afxdll_.h b/public/sdk/inc/mfc30/afxdll_.h
new file mode 100644
index 000000000..f1734498d
--- /dev/null
+++ b/public/sdk/inc/mfc30/afxdll_.h
@@ -0,0 +1,90 @@
+// Microsoft Foundation Classes C++ library.
+// Copyright (C) 1992 Microsoft Corporation,
+// All rights reserved.
+
+// This source code is only intended as a supplement to the
+// Microsoft Foundation Classes Reference and Microsoft
+// QuickHelp and/or WinHelp documentation provided with the library.
+// See these sources for detailed information regarding the
+// Microsoft Foundation Classes product.
+
+// afxdll_.h - extensions to AFXWIN.H used for the 'AFXDLL' version
+// This file contains MFC library implementation details as well
+// as APIs for writing MFC Extension DLLs.
+// Please refer to Technical Note 033 (TN033) for more details.
+
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _AFXDLL
+ #error file must be compiled with _AFXDLL
+#endif
+
+#ifdef _AFX_PACKING
+#pragma pack(push, _AFX_PACKING)
+#endif
+
+#undef AFX_DATA
+#define AFX_DATA AFX_CORE_DATA
+
+/////////////////////////////////////////////////////////////////////////////
+
+// AFX_EXTENSION_MODULE - special struct used during DLL initialization
+
+struct AFX_EXTENSION_MODULE
+{
+ BOOL bInitialized;
+ HMODULE hModule;
+ HMODULE hResource;
+ CRuntimeClass* pFirstSharedClass;
+ COleObjectFactory* pFirstSharedFactory;
+};
+
+/////////////////////////////////////////////////////////////////////////////
+// CDynLinkLibrary - for implementation of MFC Extension DLLs
+
+class COleObjectFactory;
+
+class CDynLinkLibrary : public CCmdTarget
+{
+ DECLARE_DYNAMIC(CDynLinkLibrary)
+public:
+
+// Constructor
+ CDynLinkLibrary(AFX_EXTENSION_MODULE& state);
+
+// Attributes
+ HMODULE m_hModule;
+ HMODULE m_hResource; // for shared resources
+ CRuntimeClass* m_pFirstSharedClass;
+ COleObjectFactory* m_pFirstSharedFactory;
+ BOOL m_bSystem; // TRUE only for MFC DLLs
+
+// Implementation
+public:
+ CDynLinkLibrary* m_pNextDLL; // simple singly linked list
+ virtual ~CDynLinkLibrary();
+
+#ifdef _DEBUG
+ virtual void AssertValid() const;
+ virtual void Dump(CDumpContext& dc) const;
+#endif //_DEBUG
+};
+
+// get best fitting resource
+HINSTANCE AFXAPI AfxFindResourceHandle(LPCTSTR lpszName, LPCTSTR lpszType);
+
+// Call in DLL's LibMain
+BOOL AFXAPI AfxInitExtensionModule(AFX_EXTENSION_MODULE& state, HMODULE hMod);
+
+// Optional: call on final process detach in your DLL
+// (not necessary unless clients can dynamically load/unload your DLL)
+void AFXAPI AfxTermExtensionModule(AFX_EXTENSION_MODULE& state);
+
+#undef AFX_DATA
+#define AFX_DATA
+
+#ifdef _AFX_PACKING
+#pragma pack(pop)
+#endif
+
+/////////////////////////////////////////////////////////////////////////////