Leaked source code of windows server 2003
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.

94 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 2001, Microsoft Corporation
  3. Module Name:
  4. private.h
  5. Abstract:
  6. This file defines the precompile header.
  7. Author:
  8. Revision History:
  9. Notes:
  10. --*/
  11. #ifndef _PRIVATE_H_
  12. #define _PRIVATE_H_
  13. #define _OLEAUT32_
  14. #define NOIME
  15. #include <windows.h>
  16. #include <winuserp.h>
  17. #include <immp.h>
  18. #include <ole2.h>
  19. #include <ocidl.h>
  20. #include <olectl.h>
  21. #include <commctrl.h>
  22. #include <debug.h>
  23. #include <limits.h>
  24. #include <initguid.h>
  25. #include <tsattrs.h>
  26. #ifndef STRSAFE_NO_DEPRECATE
  27. #define STRSAFE_NO_DEPRECATE
  28. #endif
  29. #include <strsafe.h>
  30. #if 0
  31. // New NT5 header
  32. #include "immdev.h"
  33. #endif
  34. #define _IMM_
  35. #define _DDKIMM_H_
  36. #include "msctf.h"
  37. #include "msctfp.h"
  38. #include "aimmp.h"
  39. #include "ico.h"
  40. #include "tes.h"
  41. #include "computil.h"
  42. #include "timsink.h"
  43. #include "sink.h"
  44. #include "immxutil.h"
  45. #include "dispattr.h"
  46. #include "helpers.h"
  47. #include "osver.h"
  48. #include "mem.h"
  49. #ifndef ARRAY_SIZE
  50. #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x)[0])
  51. #endif
  52. #ifndef ARRAYSIZE
  53. #define ARRAYSIZE(x) ARRAY_SIZE(x)
  54. #endif
  55. //
  56. // SAFECAST(obj, type)
  57. //
  58. // This macro is extremely useful for enforcing strong typechecking on other
  59. // macros. It generates no code.
  60. //
  61. // Simply insert this macro at the beginning of an expression list for
  62. // each parameter that must be typechecked. For example, for the
  63. // definition of MYMAX(x, y), where x and y absolutely must be integers,
  64. // use:
  65. //
  66. // #define MYMAX(x, y) (SAFECAST(x, int), SAFECAST(y, int), ((x) > (y) ? (x) : (y)))
  67. //
  68. //
  69. #define SAFECAST(_obj, _type) (((_type)(_obj)==(_obj)?0:0), (_type)(_obj))
  70. #endif // _PRIVATE_H_