| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- // This is a part of the Microsoft Foundation Classes C++ library.
- // Copyright (C) 1992-1998 Microsoft Corporation
- // All rights reserved.
- //
- // This source code is only intended as a supplement to the
- // Microsoft Foundation Classes Reference and related
- // electronic documentation provided with the library.
- // See these sources for detailed information regarding the
- // Microsoft Foundation Classes product.
- // Note: This header file contains useful classes that are documented only
- // in the MFC Technical Notes. These classes may change from version to
- // version, so be prepared to change your code accordingly if you utilize
- // this header. In the future, commonly used portions of this header
- // may be moved and officially documented.
- #ifndef __AFXPRIV2_H__
- // Do not define __AFXPRIV2_H__ here. It is defined at the bottom.
- #ifndef __AFXPRIV_H__
- #include <afxpriv.h>
- #endif
- #ifdef _AFX_MINREBUILD
- #pragma component(minrebuild, off)
- #endif
- #ifndef _AFX_FULLTYPEINFO
- #pragma component(mintypeinfo, on)
- #endif
- #ifdef _AFX_PACKING
- #pragma pack(push, _AFX_PACKING)
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // AFXPRIV2 - MFC Private Classes
- // General OLE features
- #if (!defined _AFX_NO_OLE_SUPPORT) && (defined _OBJBASE_H_)
- // Implementation structures
- struct AFX_EVENT; // Event sink implementation
- // Classes declared in this file
- class COleControlLock;
- #endif
- // OLE Automation features
- #ifdef __AFXDISP_H__
- // Classes declared in this file
- //IStream
- class CArchiveStream;
- // Functions declared in this file
- // AfxBSTR2ABTSR
- // AfxTaskStringA2W
- // AfxTaskStringW2A
- #endif
- /////////////////////////////////////////////////////////////////////////////
- #undef AFX_DATA
- #define AFX_DATA AFX_CORE_DATA
- /////////////////////////////////////////////////////////////////////////////
- // General OLE features
- #if (!defined _AFX_NO_OLE_SUPPORT) && (defined _OBJBASE_H_)
- #ifndef __AFXPRIV2_H__OLE__
- #define __AFXPRIV2_H__OLE__
- /////////////////////////////////////////////////////////////////////////////
- // Implementation of event sink handling
- struct AFX_EVENT
- {
- enum
- {
- event,
- propRequest, propChanged,
- propDSCNotify
- };
- AFX_EVENT(int eventKind);
- AFX_EVENT(int eventKind, DISPID dispid, DISPPARAMS* pDispParams = NULL,
- EXCEPINFO* pExcepInfo = NULL, UINT* puArgError = NULL);
- int m_eventKind;
- DISPID m_dispid;
- DISPPARAMS* m_pDispParams;
- EXCEPINFO* m_pExcepInfo;
- UINT* m_puArgError;
- BOOL m_bPropChanged;
- HRESULT m_hResult;
- DSCSTATE m_nDSCState;
- DSCREASON m_nDSCReason;
- };
- AFX_INLINE AFX_EVENT::AFX_EVENT(int eventKind)
- {
- m_eventKind = eventKind;
- m_dispid = DISPID_UNKNOWN;
- m_pDispParams = NULL;
- m_pExcepInfo = NULL;
- m_puArgError = NULL;
- m_hResult = NOERROR;
- m_nDSCState = dscNoState;
- m_nDSCReason = dscNoReason;
- }
- AFX_INLINE AFX_EVENT::AFX_EVENT(int eventKind, DISPID dispid,
- DISPPARAMS* pDispParams, EXCEPINFO* pExcepInfo, UINT* puArgError)
- {
- m_eventKind = eventKind;
- m_dispid = dispid;
- m_pDispParams = pDispParams;
- m_pExcepInfo = pExcepInfo;
- m_puArgError = puArgError;
- m_hResult = NOERROR;
- m_nDSCState = dscNoState;
- m_nDSCReason = dscNoReason;
- }
- /////////////////////////////////////////////////////////////////////////////
- // COleControlLock
- class COleControlLock
- {
- // Constructors
- public:
- COleControlLock(REFCLSID clsid);
- // Attributes
- CLSID m_clsid;
- LPCLASSFACTORY m_pClassFactory;
- COleControlLock* m_pNextLock;
- // Implementation
- public:
- virtual ~COleControlLock();
- };
- #endif // __AFXPRIV2_H__OLE__
- #endif //(!defined _AFX_NO_OLE_SUPPORT) && (defined _OBJBASE_H_)
- /////////////////////////////////////////////////////////////////////////////
- // OLE Automation features
- #ifdef __AFXDISP_H__
- #ifndef __AFXPRIV2_H__DISP__
- #define __AFXPRIV2_H__DISP__
- /////////////////////////////////////////////////////////////////////////////
- // CArchiveStream
- class CArchiveStream : public IStream
- {
- public:
- CArchiveStream(CArchive* pArchive);
- // Implementation
- CArchive* m_pArchive;
- STDMETHOD_(ULONG, AddRef)();
- STDMETHOD_(ULONG, Release)();
- STDMETHOD(QueryInterface)(REFIID, LPVOID*);
- STDMETHOD(Read)(void*, ULONG, ULONG*);
- STDMETHOD(Write)(const void*, ULONG cb, ULONG*);
- STDMETHOD(Seek)(LARGE_INTEGER, DWORD, ULARGE_INTEGER*);
- STDMETHOD(SetSize)(ULARGE_INTEGER);
- STDMETHOD(CopyTo)(LPSTREAM, ULARGE_INTEGER, ULARGE_INTEGER*,
- ULARGE_INTEGER*);
- STDMETHOD(Commit)(DWORD);
- STDMETHOD(Revert)();
- STDMETHOD(LockRegion)(ULARGE_INTEGER, ULARGE_INTEGER,DWORD);
- STDMETHOD(UnlockRegion)(ULARGE_INTEGER, ULARGE_INTEGER, DWORD);
- STDMETHOD(Stat)(STATSTG*, DWORD);
- STDMETHOD(Clone)(LPSTREAM*);
- };
- /////////////////////////////////////////////////////////////////////////////
- // Global UNICODE<>ANSI translation helpers
- void AFXAPI AfxBSTR2CString(CString* pStr, BSTR bstr);
- #if !defined(_UNICODE) && !defined(OLE2ANSI)
- BSTR AFXAPI AfxBSTR2ABSTR(BSTR bstrW);
- LPWSTR AFXAPI AfxTaskStringA2W(LPCSTR lpa);
- LPSTR AFXAPI AfxTaskStringW2A(LPCWSTR lpw);
- #endif
- #endif // __AFXPRIV2_H__DISP__
- #endif // __AFXDISP_H__
- /////////////////////////////////////////////////////////////////////////////
- #ifdef _AFX_PACKING
- #pragma pack(pop)
- #endif
- #undef AFX_DATA
- #define AFX_DATA
- #ifdef _AFX_MINREBUILD
- #pragma component(minrebuild, on)
- #endif
- #ifndef _AFX_FULLTYPEINFO
- #pragma component(mintypeinfo, off)
- #endif
- #if (defined __AFXPRIV2_H__OLE__) && (defined __AFXPRIV2_H__DISP__)
- #define __AFXPRIV2_H__
- #endif
- #endif // __AFXPRIV2_H__
- /////////////////////////////////////////////////////////////////////////////
|