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.

112 lines
3.2 KiB

  1. /*******************************************************************************
  2. *
  3. * (C) COPYRIGHT MICROSOFT CORP., 1993-1994
  4. *
  5. * TITLE: REGBINED.H
  6. *
  7. * VERSION: 4.01
  8. *
  9. * AUTHOR: Tracy Sharpe
  10. *
  11. * DATE: 05 Mar 1994
  12. *
  13. * Binary edit dialog for use by the Registry Editor.
  14. *
  15. ********************************************************************************
  16. *
  17. * CHANGE LOG:
  18. *
  19. * DATE REV DESCRIPTION
  20. * ----------- --- -------------------------------------------------------------
  21. * 05 Mar 1994 TCS Original implementation.
  22. *
  23. *******************************************************************************/
  24. #ifndef _INC_REGBINED
  25. #define _INC_REGBINED
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. #define HEM_SETBUFFER (WM_USER + 1)
  30. //
  31. // HexEdit context menu identifier and items. The IDKEY_* identifier
  32. // correspond to the WM_CHAR message that it corresponds to. For example,
  33. // IDKEY_COPY would send a control-c to the HexEdit_OnChar routine.
  34. //
  35. // Surrogate AfxMessageBox replacement for error message filtering.
  36. int DhcpMessageBox(DWORD dwIdPrompt,
  37. UINT nType,
  38. const TCHAR * pszSuffixString,
  39. UINT nHelpContext);
  40. #define IDM_HEXEDIT_CONTEXT 108
  41. #define IDKEY_COPY 3
  42. #define IDKEY_PASTE 22
  43. #define IDKEY_CUT 24
  44. #define ID_SELECTALL 0x0400
  45. #define HEXEDIT_CLASSNAME TEXT("HEX")
  46. #define MAXDATA_LENGTH 256
  47. // Max length of a value data item
  48. typedef struct _EDITVALUEPARAM {
  49. LPCTSTR pServer;
  50. LPTSTR pValueName;
  51. LPTSTR pValueComment;
  52. PBYTE pValueData;
  53. UINT cbValueData;
  54. } EDITVALUEPARAM, FAR *LPEDITVALUEPARAM;
  55. //
  56. // Reference data for the HexEdit window. Because we only ever expect one
  57. // instance of this class to exist, we can safely create one instance of this
  58. // structure now to avoid allocating and managing the structure later.
  59. //
  60. typedef struct _HEXEDITDATA {
  61. UINT Flags;
  62. PBYTE pBuffer;
  63. int cbBuffer;
  64. int cxWindow; // Width of the window
  65. int cyWindow; // Height of the window
  66. HFONT hFont; // Font being used for output
  67. LONG FontHeight; // Height of the above font
  68. LONG FontMaxWidth; // Maximum width of the above font
  69. int LinesVisible; // Number of lines can be displayed
  70. int MaximumLines; // Total number of lines
  71. int FirstVisibleLine; // Line number of top of display
  72. int xHexDumpStart;
  73. int xHexDumpByteWidth;
  74. int xAsciiDumpStart;
  75. int CaretIndex;
  76. int MinimumSelectedIndex;
  77. int MaximumSelectedIndex;
  78. int xPrevMessagePos; // Cursor point on last mouse message
  79. int yPrevMessagePos; // Cursor point on last mouse message
  80. } HEXEDITDATA;
  81. BOOL
  82. CALLBACK
  83. EditBinaryValueDlgProc(
  84. HWND hWnd,
  85. UINT Message,
  86. WPARAM wParam,
  87. LPARAM lParam
  88. );
  89. BOOL
  90. PASCAL
  91. RegisterHexEditClass(
  92. HINSTANCE hInstance
  93. );
  94. #ifdef __cplusplus
  95. } // extern "C"
  96. #endif
  97. #endif // _INC_REGBINED