mirror of https://github.com/lianthony/NT4.0
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.
144 lines
3.2 KiB
144 lines
3.2 KiB
// 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.
|
|
|
|
// afxv_nt.h - target version/configuration control for NT
|
|
|
|
|
|
|
|
#if !defined(NOSTRICT) && !defined(STRICT)
|
|
#define STRICT 1 // default is to use STRICT interfaces
|
|
#endif
|
|
|
|
#include <windows.h>
|
|
|
|
|
|
#define BASED_CODE
|
|
#define BASED_DEBUG
|
|
|
|
#ifndef PASCAL
|
|
#define PASCAL pascal
|
|
#endif
|
|
|
|
#ifndef CDECL
|
|
#define CDECL cdecl
|
|
#endif
|
|
|
|
#ifndef FAR
|
|
#define FAR far
|
|
#endif
|
|
|
|
#ifndef NEAR
|
|
#define NEAR near
|
|
#endif
|
|
|
|
#ifndef AFXAPI
|
|
#define AFXAPI PASCAL
|
|
#endif
|
|
|
|
#define _huge
|
|
#define huge
|
|
#define near
|
|
#define far
|
|
#define _far
|
|
#define _near
|
|
|
|
#define _loadds
|
|
#define __loadds
|
|
#define _export
|
|
#define __export
|
|
|
|
#define _fstrcpy strcpy
|
|
#define _fstrlen strlen
|
|
#define _fstrcmp strcmp
|
|
#define _fstrcat strcat
|
|
#define _fstrncpy strncpy
|
|
#define _fstrncmp strncmp
|
|
#define _fstrdup _strdup
|
|
#define _fstrrchr strrchr
|
|
#define _fstrchr strchr
|
|
#define _fstrnicmp _strnicmp
|
|
#define _fstricmp _stricmp
|
|
#define _fmemcpy memcpy
|
|
#define _fmemcmp memcmp
|
|
#define _fmemicmp _memicmp
|
|
#define _fmalloc malloc
|
|
#define _frealloc realloc
|
|
#define _ffree free
|
|
|
|
|
|
// Catch/Throw support
|
|
#include <setjmp.h>
|
|
#define Catch setjmp
|
|
#define Throw longjmp
|
|
|
|
|
|
#define AFX_MSG_CALL // standard calling convention
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Now for the Windows API specific parts
|
|
|
|
#ifdef _WINDOWS
|
|
|
|
// These are necessary because WINDOWS.H is not included consistently
|
|
// when the CString class is defined, but is included when the CString
|
|
// class is implemented.
|
|
|
|
// We have already defined inlines above for these, but Windows/NT header
|
|
// defines macros, which break C++ code.
|
|
|
|
#undef LoadString
|
|
#undef AnsiToOem
|
|
#undef OemToAnsi
|
|
|
|
inline int LoadString(HINSTANCE hInstance, UINT uID,
|
|
LPSTR lpBuffer, int nBufferMax)
|
|
#ifdef UNICODE
|
|
{ return ::LoadStringW(hInstance, uID, lpBuffer, nBufferMax); }
|
|
#else
|
|
{ return ::LoadStringA(hInstance, uID, lpBuffer, nBufferMax); }
|
|
#endif
|
|
|
|
inline BOOL AnsiToOem(LPCSTR lpcstr, LPSTR lpstr)
|
|
{ return ::CharToOemA(lpcstr, lpstr); }
|
|
|
|
inline BOOL OemToAnsi(LPCSTR lpcstr, LPSTR lpstr)
|
|
{ return ::OemToCharA(lpcstr, lpstr); }
|
|
|
|
|
|
// WM_CTLCOLOR for 16 bit API compatability
|
|
#define WM_CTLCOLOR 0x0019
|
|
|
|
|
|
// We emulate HTASK for compatibility, even though Win32 has no notion of it.
|
|
//
|
|
// RonaldM -- #defined as a DWORD in compobj.h
|
|
//
|
|
//typedef DWORD HTASK;
|
|
|
|
#undef GetWindowTask
|
|
inline HTASK GetWindowTask(HWND hWnd)
|
|
{
|
|
return (HTASK)::GetWindowThreadProcessId(hWnd, NULL);
|
|
}
|
|
|
|
// Windows NT uses macros with parameters for these, which breaks C++ code.
|
|
|
|
#ifdef GetNextWindow
|
|
#undef GetNextWindow
|
|
inline HWND GetNextWindow(HWND hWnd, UINT uFlag)
|
|
{ return ::GetWindow(hWnd, uFlag); }
|
|
#endif
|
|
|
|
|
|
#endif //_WINDOWS
|
|
|
|
#define AFX_MSG_CALL // standard calling convention
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|