Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

535 lines
16 KiB

// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1995 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.
/////////////////////////////////////////////////////////////////////////////
// AFX_COMCTL_CALL - used to dynamically load the COMCTL32 library
#ifdef _AFXDLL
#undef AFX_DATA
#define AFX_DATA AFX_CORE_DATA
struct AFX_COMMCTRL_CALL
{
// housekeeping and other
void (STDAPICALLTYPE* pfnInitCommonControls[2])();
int (STDAPICALLTYPE* pfnLBItemFromPt[2])(HWND hLB, POINT pt, BOOL bAutoScroll);
HBITMAP (STDAPICALLTYPE* pfnCreateMappedBitmap[2])(HINSTANCE hInstance, int idBitmap,
UINT wFlags, LPCOLORMAP lpColorMap, int iNumMaps);
BOOL (STDAPICALLTYPE* pfnMakeDragList[2])(HWND hLB);
// image lists
BOOL (STDAPICALLTYPE* pfnImageList_SetOverlayImage[2])(HIMAGELIST himl, int iImage, int iOverlay);
COLORREF (STDAPICALLTYPE* pfnImageList_GetBkColor[2])(HIMAGELIST himl);
COLORREF (STDAPICALLTYPE* pfnImageList_SetBkColor[2])(HIMAGELIST himl, COLORREF clrBk);
BOOL (STDAPICALLTYPE* pfnImageList_GetImageInfo[2])(HIMAGELIST himl, int i, IMAGEINFO FAR* pImageInfo);
BOOL (STDAPICALLTYPE* pfnImageList_Draw[2])(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle);
HICON (STDAPICALLTYPE* pfnImageList_GetIcon[2])(HIMAGELIST himl, int i, UINT flags);
int (STDAPICALLTYPE* pfnImageList_ReplaceIcon[2])(HIMAGELIST himl, int i, HICON hicon);
BOOL (STDAPICALLTYPE* pfnImageList_Replace[2])(HIMAGELIST himl, int i, HBITMAP hbmImage, HBITMAP hbmMask);
BOOL (STDAPICALLTYPE* pfnImageList_Remove[2])(HIMAGELIST himl, int i);
int (STDAPICALLTYPE* pfnImageList_AddMasked[2])(HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask);
void (STDAPICALLTYPE* pfnImageList_EndDrag[2])();
BOOL (STDAPICALLTYPE* pfnImageList_BeginDrag[2])(HIMAGELIST himlTrack, int iTrack, int dxHotspot, int dyHotspot);
HIMAGELIST (STDAPICALLTYPE* pfnImageList_Merge[2])(HIMAGELIST himl1, int i1, HIMAGELIST himl2, int i2, int dx, int dy);
HIMAGELIST (STDAPICALLTYPE* pfnImageList_Create[2])(int cx, int cy, UINT flags, int cInitial, int cGrow);
BOOL (STDAPICALLTYPE* pfnImageList_Destroy[2])(HIMAGELIST himl);
BOOL (STDAPICALLTYPE* pfnImageList_DragMove[2])(int x, int y);
BOOL (STDAPICALLTYPE* pfnImageList_SetDragCursorImage[2])(HIMAGELIST himlDrag, int iDrag, int dxHotspot, int dyHotspot);
BOOL (STDAPICALLTYPE* pfnImageList_DragShowNolock[2])(BOOL fShow);
HIMAGELIST (STDAPICALLTYPE* pfnImageList_GetDragImage[2])(POINT FAR* ppt,POINT FAR* pptHotspot);
BOOL (STDAPICALLTYPE* pfnImageList_DragEnter[2])(HWND hwndLock, int x, int y);
BOOL (STDAPICALLTYPE* pfnImageList_DragLeave[2])(HWND hwndLock);
int (STDAPICALLTYPE* pfnImageList_GetImageCount[2])(HIMAGELIST himl);
int (STDAPICALLTYPE* pfnImageList_Add[2])(HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask);
HIMAGELIST (STDAPICALLTYPE* pfnImageList_LoadImage[2])(HINSTANCE hi, LPCTSTR lpbmp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags);
#ifndef _AFX_NO_OLE_SUPPORT
BOOL (STDAPICALLTYPE* pfnImageList_Write[2])(HIMAGELIST himl, LPSTREAM pstm);
HIMAGELIST (STDAPICALLTYPE* pfnImageList_Read[2])(LPSTREAM pstm);
#endif
// property sheets
BOOL (STDAPICALLTYPE* pfnDestroyPropertySheetPage[2])(HPROPSHEETPAGE);
int (STDAPICALLTYPE* pfnPropertySheet[2])(LPCPROPSHEETHEADER);
HPROPSHEETPAGE (STDAPICALLTYPE* pfnCreatePropertySheetPage[2])(LPCPROPSHEETPAGE);
};
extern AFX_DATA AFX_COMMCTRL_CALL _afxCommCtrl;
#ifndef _MAC
struct AFX_SHELL_CALL
{
DWORD (WINAPI* pfnSHGetFileInfo[2])(LPCTSTR pszPath, DWORD dwFileAttributes, SHFILEINFO FAR *psfi, UINT cbFileInfo, UINT uFlags);
HICON (WINAPI* pfnExtractIcon[2])(HINSTANCE hInst, LPCTSTR lpszExeFileName, UINT nIconIndex);
UINT (WINAPI* pfnDragQueryFile[2])(HDROP,UINT,LPTSTR,UINT);
VOID (WINAPI* pfnDragAcceptFiles[2])(HWND,BOOL);
VOID (WINAPI* pfnDragFinish[2])(HDROP);
};
struct AFX_WINSPOOL_CALL
{
BOOL (APIENTRY* pfnOpenPrinter[2])(LPTSTR, LPHANDLE, LPPRINTER_DEFAULTS);
BOOL (APIENTRY* pfnClosePrinter[2])(HANDLE hPrinter);
LONG (APIENTRY* pfnDocumentProperties[2])(HWND hWnd, HANDLE hPrinter,
LPTSTR pDeviceName, PDEVMODE pDevModeOutput, PDEVMODE pDevModeInput,
DWORD fMode);
};
struct AFX_COMDLG_CALL
{
BOOL (APIENTRY* pfnChooseColor[2])(LPCHOOSECOLOR);
DWORD (APIENTRY* pfnCommDlgExtendedError[2])(VOID);
HWND (APIENTRY* pfnReplaceText[2])(LPFINDREPLACE);
BOOL (APIENTRY* pfnGetSaveFileName[2])(LPOPENFILENAME);
short (APIENTRY* pfnGetFileTitle[2])(LPCTSTR, LPTSTR, WORD);
BOOL (APIENTRY* pfnPrintDlg[2])(LPPRINTDLG);
BOOL (APIENTRY* pfnChooseFont[2])(LPCHOOSEFONT);
HWND (APIENTRY* pfnFindText[2])(LPFINDREPLACE);
BOOL (APIENTRY* pfnPageSetupDlg[2])(LPPAGESETUPDLG);
BOOL (APIENTRY* pfnGetOpenFileName[2])(LPOPENFILENAME);
};
struct AFX_ADVAPI_CALL
{
LONG (APIENTRY* pfnRegCreateKeyEx[2])(HKEY hKey, LPCTSTR lpSubKey,
DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired,
LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult,
LPDWORD lpdwDisposition);
LONG (APIENTRY* pfnRegEnumKey[2])(HKEY hKey, DWORD dwIndex, LPTSTR lpName,
DWORD cbName);
LONG (APIENTRY* pfnRegDeleteKey[2])(HKEY hKey, LPCTSTR lpSubKey);
LONG (APIENTRY* pfnRegDeleteValue[2])(HKEY hKey, LPCTSTR lpValueName);
LONG (APIENTRY* pfnRegOpenKeyEx[2])(HKEY hKey, LPCTSTR lpSubKey,
DWORD ulOptions, REGSAM samDesired, PHKEY phkResult);
LONG (APIENTRY* pfnRegCloseKey[2])(HKEY hKey);
LONG (APIENTRY* pfnRegSetValue[2])(HKEY hKey, LPCTSTR lpSubKey, DWORD dwType,
LPCTSTR lpData, DWORD cbData);
LONG (APIENTRY* pfnRegCreateKey[2])(HKEY hKey, LPCTSTR lpSubKey,
PHKEY phkResult);
LONG (APIENTRY* pfnRegSetValueEx[2])(HKEY hKey, LPCTSTR lpValueName,
DWORD Reserved, DWORD dwType, CONST BYTE* lpData, DWORD cbData);
LONG (APIENTRY* pfnRegQueryValue[2])(HKEY hKey, LPCTSTR lpSubKey,
LPTSTR lpValue, PLONG lpcbValue);
LONG (APIENTRY* pfnRegOpenKey[2])(HKEY hKey, LPCTSTR lpSubKey,
PHKEY phkResult);
LONG (APIENTRY* pfnRegQueryValueEx[2])(HKEY hKey, LPCTSTR lpValueName,
LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
#ifndef _MAC
BOOL (APIENTRY* pfnSetFileSecurity[2])(LPCTSTR lpszFile, SECURITY_INFORMATION si,
PSECURITY_DESCRIPTOR psd);
BOOL (APIENTRY* pfnGetFileSecurity[2])(LPCTSTR lpFileName,
SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor,
DWORD nLength, LPDWORD lpnLengthNeeded);
#endif
};
extern AFX_DATA AFX_COMDLG_CALL _afxComDlg;
extern AFX_DATA AFX_SHELL_CALL _afxShell;
extern AFX_DATA AFX_WINSPOOL_CALL _afxWinSpool;
extern AFX_DATA AFX_ADVAPI_CALL _afxAdvApi;
#endif //!_MAC
/////////////////////////////////////////////////////////////////////////////
//
#ifdef InitCommonControls
#undef InitCommonControls
#endif
#define InitCommonControls _afxCommCtrl.pfnInitCommonControls[0]
#ifdef LBItemFromPt
#undef LBItemFromPt
#endif
#define LBItemFromPt _afxCommCtrl.pfnLBItemFromPt[0]
#ifdef CreateMappedBitmap
#undef CreateMappedBitmap
#endif
#define CreateMappedBitmap _afxCommCtrl.pfnCreateMappedBitmap[0]
#ifdef MakeDragList
#undef MakeDragList
#endif
#define MakeDragList _afxCommCtrl.pfnMakeDragList[0]
/////////////////////////////////////////////////////////////////////////////
//
#ifdef ImageList_SetOverlayImage
#undef ImageList_SetOverlayImage
#endif
#define ImageList_SetOverlayImage _afxCommCtrl.pfnImageList_SetOverlayImage[0]
#ifdef ImageList_GetBkColor
#undef ImageList_GetBkColor
#endif
#define ImageList_GetBkColor _afxCommCtrl.pfnImageList_GetBkColor[0]
#ifdef ImageList_SetBkColor
#undef ImageList_SetBkColor
#endif
#define ImageList_SetBkColor _afxCommCtrl.pfnImageList_SetBkColor[0]
#ifdef ImageList_GetImageInfo
#undef ImageList_GetImageInfo
#endif
#define ImageList_GetImageInfo _afxCommCtrl.pfnImageList_GetImageInfo[0]
#ifdef ImageList_Draw
#undef ImageList_Draw
#endif
#define ImageList_Draw _afxCommCtrl.pfnImageList_Draw[0]
#ifdef ImageList_GetIcon
#undef ImageList_GetIcon
#endif
#define ImageList_GetIcon _afxCommCtrl.pfnImageList_GetIcon[0]
#ifdef ImageList_ReplaceIcon
#undef ImageList_ReplaceIcon
#endif
#define ImageList_ReplaceIcon _afxCommCtrl.pfnImageList_ReplaceIcon[0]
#ifdef ImageList_Replace
#undef ImageList_Replace
#endif
#define ImageList_Replace _afxCommCtrl.pfnImageList_Replace[0]
#ifdef ImageList_Remove
#undef ImageList_Remove
#endif
#define ImageList_Remove _afxCommCtrl.pfnImageList_Remove[0]
#ifdef ImageList_AddMasked
#undef ImageList_AddMasked
#endif
#define ImageList_AddMasked _afxCommCtrl.pfnImageList_AddMasked[0]
#ifdef ImageList_EndDrag
#undef ImageList_EndDrag
#endif
#define ImageList_EndDrag _afxCommCtrl.pfnImageList_EndDrag[0]
#ifdef ImageList_BeginDrag
#undef ImageList_BeginDrag
#endif
#define ImageList_BeginDrag _afxCommCtrl.pfnImageList_BeginDrag[0]
#ifdef ImageList_LoadImage
#undef ImageList_LoadImage
#endif
#define ImageList_LoadImage _afxCommCtrl.pfnImageList_LoadImage[0]
#ifndef _AFX_NO_OLE_SUPPORT
#ifdef ImageList_Write
#undef ImageList_Write
#endif
#define ImageList_Write _afxCommCtrl.pfnImageList_Write[0]
#ifdef ImageList_Read
#undef ImageList_Read
#endif
#define ImageList_Read _afxCommCtrl.pfnImageList_Read[0]
#endif // !_AFX_NO_OLE_SUPPORT
#ifdef ImageList_Merge
#undef ImageList_Merge
#endif
#define ImageList_Merge _afxCommCtrl.pfnImageList_Merge[0]
#ifdef ImageList_Create
#undef ImageList_Create
#endif
#define ImageList_Create _afxCommCtrl.pfnImageList_Create[0]
#ifdef ImageList_Destroy
#undef ImageList_Destroy
#endif
#define ImageList_Destroy _afxCommCtrl.pfnImageList_Destroy[0]
#ifdef ImageList_DragMove
#undef ImageList_DragMove
#endif
#define ImageList_DragMove _afxCommCtrl.pfnImageList_DragMove[0]
#ifdef ImageList_SetDragCursorImage
#undef ImageList_SetDragCursorImage
#endif
#define ImageList_SetDragCursorImage _afxCommCtrl.pfnImageList_SetDragCursorImage[0]
#ifdef ImageList_DragShowNolock
#undef ImageList_DragShowNolock
#endif
#define ImageList_DragShowNolock _afxCommCtrl.pfnImageList_DragShowNolock[0]
#ifdef ImageList_GetDragImage
#undef ImageList_GetDragImage
#endif
#define ImageList_GetDragImage _afxCommCtrl.pfnImageList_GetDragImage[0]
#ifdef ImageList_DragEnter
#undef ImageList_DragEnter
#endif
#define ImageList_DragEnter _afxCommCtrl.pfnImageList_DragEnter[0]
#ifdef ImageList_DragLeave
#undef ImageList_DragLeave
#endif
#define ImageList_DragLeave _afxCommCtrl.pfnImageList_DragLeave[0]
#ifdef ImageList_GetImageCount
#undef ImageList_GetImageCount
#endif
#define ImageList_GetImageCount _afxCommCtrl.pfnImageList_GetImageCount[0]
#ifdef ImageList_Add
#undef ImageList_Add
#endif
#define ImageList_Add _afxCommCtrl.pfnImageList_Add[0]
/////////////////////////////////////////////////////////////////////////////
//
#ifdef DestroyPropertySheetPage
#undef DestroyPropertySheetPage
#endif
#define DestroyPropertySheetPage _afxCommCtrl.pfnDestroyPropertySheetPage[0]
#ifdef PropertySheet
#undef PropertySheet
#endif
#define PropertySheet _afxCommCtrl.pfnPropertySheet[0]
#ifdef CreatePropertySheetPage
#undef CreatePropertySheetPage
#endif
#define CreatePropertySheetPage _afxCommCtrl.pfnCreatePropertySheetPage[0]
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
// comdlg32
#ifdef ChooseColor
#undef ChooseColor
#endif
#define ChooseColor _afxComDlg.pfnChooseColor[0]
#ifdef CommDlgExtendedError
#undef CommDlgExtendedError
#endif
#define CommDlgExtendedError _afxComDlg.pfnCommDlgExtendedError[0]
#ifdef ReplaceText
#undef ReplaceText
#endif
#define ReplaceText _afxComDlg.pfnReplaceText[0]
#ifdef GetSaveFileName
#undef GetSaveFileName
#endif
#define GetSaveFileName _afxComDlg.pfnGetSaveFileName[0]
//#define GetFileTitle _afxComDlg.pfnGetFileTitle[0]
#ifdef PrintDlg
#undef PrintDlg
#endif
#define PrintDlg _afxComDlg.pfnPrintDlg[0]
#ifdef ChooseFont
#undef ChooseFont
#endif
#define ChooseFont _afxComDlg.pfnChooseFont[0]
//#define FindText _afxComDlg.pfnFindText
inline HWND APIENTRY FindText(LPFINDREPLACE lp)
{
return _afxComDlg.pfnFindText[0](lp);
}
#ifdef PageSetupDlg
#undef PageSetupDlg
#endif
#define PageSetupDlg _afxComDlg.pfnPageSetupDlg[0]
#ifdef GetOpenFileName
#undef GetOpenFileName
#endif
#define GetOpenFileName _afxComDlg.pfnGetOpenFileName[0]
/////////////////////////////////////////////////////////////////////////////
// shell32
#ifdef SHGetFileInfo
#undef SHGetFileInfo
#endif
#define SHGetFileInfo _afxShell.pfnSHGetFileInfo[0]
//#define ExtractIcon _afxShell.pfnExtractIcon[0]
#ifdef DragQueryFile
#undef DragQueryFile
#endif
#define DragQueryFile _afxShell.pfnDragQueryFile[0]
//#define DragAcceptFiles _afxShell.pfnDragAcceptFiles[0]
#ifdef DragFinish
#undef DragFinish
#endif
#define DragFinish _afxShell.pfnDragFinish[0]
/////////////////////////////////////////////////////////////////////////////
// WINSPOOL.DRV
#ifdef DocumentProperties
#undef DocumentProperties
#endif
#define DocumentProperties _afxWinSpool.pfnDocumentProperties[0]
#ifdef OpenPrinter
#undef OpenPrinter
#endif
#define OpenPrinter _afxWinSpool.pfnOpenPrinter[0]
#ifdef ClosePrinter
#undef ClosePrinter
#endif
#define ClosePrinter _afxWinSpool.pfnClosePrinter[0]
/////////////////////////////////////////////////////////////////////////////
// ADVAPI32.DLL
#ifdef RegCreateKeyEx
#undef RegCreateKeyEx
#endif
#define RegCreateKeyEx _afxAdvApi.pfnRegCreateKeyEx[0]
#ifdef RegEnumKey
#undef RegEnumKey
#endif
#define RegEnumKey _afxAdvApi.pfnRegEnumKey[0]
#ifdef RegDeleteKey
#undef RegDeleteKey
#endif
#define RegDeleteKey _afxAdvApi.pfnRegDeleteKey[0]
#ifdef RegDeleteValue
#undef RegDeleteValue
#endif
#define RegDeleteValue _afxAdvApi.pfnRegDeleteValue[0]
#ifdef RegOpenKeyEx
#undef RegOpenKeyEx
#endif
#define RegOpenKeyEx _afxAdvApi.pfnRegOpenKeyEx[0]
#ifdef RegCloseKey
#undef RegCloseKey
#endif
#define RegCloseKey _afxAdvApi.pfnRegCloseKey[0]
#ifdef RegSetValue
#undef RegSetValue
#endif
#define RegSetValue _afxAdvApi.pfnRegSetValue[0]
#ifdef RegCreateKey
#undef RegCreateKey
#endif
#define RegCreateKey _afxAdvApi.pfnRegCreateKey[0]
#ifdef RegSetValueEx
#undef RegSetValueEx
#endif
#define RegSetValueEx _afxAdvApi.pfnRegSetValueEx[0]
#ifdef RegQueryValue
#undef RegQueryValue
#endif
#define RegQueryValue _afxAdvApi.pfnRegQueryValue[0]
#ifdef RegOpenKey
#undef RegOpenKey
#endif
#define RegOpenKey _afxAdvApi.pfnRegOpenKey[0]
#ifdef RegQueryValueEx
#undef RegQueryValueEx
#endif
#define RegQueryValueEx _afxAdvApi.pfnRegQueryValueEx[0]
#ifdef SetFileSecurity
#undef SetFileSecurity
#endif
#define SetFileSecurity _afxAdvApi.pfnSetFileSecurity[0]
#ifdef GetFileSecurity
#undef GetFileSecurity
#endif
#define GetFileSecurity _afxAdvApi.pfnGetFileSecurity[0]
#define AfxDllExtractIcon _afxShell.pfnExtractIcon[0]
#define AfxDllDragAcceptFiles _afxShell.pfnDragAcceptFiles[0]
#define AfxDllGetFileTitle _afxComDlg.pfnGetFileTitle[0]
#else // !_MAC
#define AfxDllExtractIcon ::ExtractIcon
#define AfxDllDragAcceptFiles ::DragAcceptFiles
#define AfxDllGetFileTitle ::GetFileTitle
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
// _AFX_EXTDLL_STATE
#undef AFX_DATA
#define AFX_DATA
class _AFX_EXTDLL_STATE : public CNoTrackObject
{
public:
_AFX_EXTDLL_STATE::~_AFX_EXTDLL_STATE();
// Note: only necessary to initialize non-zero data
#ifdef _AFXDLL
HINSTANCE m_hInstCommCtrl;
#ifndef _MAC
HINSTANCE m_hInstComDlg;
HINSTANCE m_hInstShell;
HINSTANCE m_hInstWinSpool;
HINSTANCE m_hInstAdvApi;
#endif
#endif
};
EXTERN_PROCESS_LOCAL(_AFX_EXTDLL_STATE, _afxExtDllState)
///////////////////////////////////////////////////////////////////////////////
#else // _AFXDLL
#define AfxDllExtractIcon ::ExtractIcon
#define AfxDllDragAcceptFiles ::DragAcceptFiles
#define AfxDllGetFileTitle ::GetFileTitle
#endif // _AFXDLL