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.

83 lines
2.2 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. registry.cpp
  5. Abstract:
  6. This header contains the private data structures and
  7. function prototypes for the fax server registry code.
  8. Author:
  9. Wesley Witt (wesw) 9-June-1996
  10. Revision History:
  11. --*/
  12. #include <windows.h>
  13. #include <stdio.h>
  14. #include <stdlib.h>
  15. #include <tchar.h>
  16. #include "fxsapip.h"
  17. #include "faxutil.h"
  18. #include "faxreg.h"
  19. #include "faxsvcrg.h"
  20. #include "eventlog.h"
  21. typedef struct _REGISTRY_KEY {
  22. LPTSTR Name; // key name
  23. BOOL Dynamic; //
  24. DWORD DynamicDataSize; //
  25. LPBYTE DynamicData; //
  26. DWORD DynamicDataCount; //
  27. DWORD SubKeyOffset; //
  28. } REGISTRY_KEY, *PREGISTRY_KEY;
  29. typedef struct _REGISTRY_VALUE {
  30. LPTSTR Name; // key or value name
  31. ULONG Type; // value type
  32. DWORD DataPtr; // pointer to the data buffer
  33. ULONG Size; // data size for strings
  34. ULONG Default; // default if it doesn't exist
  35. } REGISTRY_VALUE, *PREGISTRY_VALUE;
  36. typedef struct _REGISTRY_KEYVALUE {
  37. REGISTRY_KEY RegKey; // registry key data
  38. DWORD ValueCount; // number of RegValue entries
  39. PREGISTRY_VALUE RegValue; // registry value data
  40. struct _REGISTRY_KEYVALUE *SubKey; // subkey data, NULL is valid
  41. } REGISTRY_KEYVALUE, *PREGISTRY_KEYVALUE;
  42. typedef struct _REGISTRY_TABLE {
  43. DWORD Count; // number of RegKeyValue entries
  44. PREGISTRY_KEYVALUE RegKeyValue[0]; // registry keys & values
  45. } REGISTRY_TABLE, *PREGISTRY_TABLE;
  46. //
  47. // internal function prototypes
  48. //
  49. BOOL
  50. InitializeRegistryTable(
  51. LPTSTR RegKeySoftware,
  52. PREGISTRY_TABLE RegistryTable
  53. );
  54. BOOL
  55. ChangeRegistryTable(
  56. LPTSTR RegKeySoftware,
  57. PREGISTRY_TABLE RegistryTable
  58. );