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.

123 lines
2.0 KiB

  1. /*++
  2. Copyright (C) Microsoft Corporation, 2002
  3. Module Name:
  4. selbinding.cxx
  5. Abstract:
  6. Manipulation of the selective binding registry settings.
  7. Revision History:
  8. MauricF 03-20-02 Consolodate access to selective binding settings across
  9. rpccfg/rpcnsh/rpctrans.lib
  10. --*/
  11. #define RPC_SETTINGS_PATH "System\\CurrentControlSet\\Services\\Rpc"
  12. #define RPC_SELECTIVE_BINDING_KEY "Linkage"
  13. #define RPC_SELECTIVE_BINDING_VALUE "Bind"
  14. #define RPC_SELECTIVE_BINDING_KEY_PATH "System\\CurrentControlSet\\Services\\Rpc\\Linkage"
  15. #pragma warning( disable : 4200 )
  16. struct SUBNET_REG_ENTRY
  17. {
  18. DWORD dwFlag;
  19. DWORD dwAdmit;
  20. DWORD dwCount;
  21. DWORD dwSubnets[];
  22. };
  23. struct VER_SUBNETS_SETTINGS
  24. {
  25. BOOL bAdmit;
  26. DWORD dwCount;
  27. DWORD dwSubnets[];
  28. };
  29. struct VER_INDICES_SETTINGS
  30. {
  31. DWORD dwCount;
  32. DWORD dwIndices[];
  33. };
  34. #pragma warning( default : 4200 )
  35. enum SB_VER {SB_VER_DEFAULT, SB_VER_UNKNOWN, SB_VER_INDICES, SB_VER_SUBNETS};
  36. DWORD
  37. DeleteSelectiveBinding();
  38. DWORD
  39. GetSelectiveBindingSettings(
  40. OUT SB_VER *pVer,
  41. OUT LPDWORD lpSize,
  42. OUT LPVOID *lppSettings);
  43. DWORD
  44. SetSelectiveBindingSubnets(
  45. IN DWORD dwCount,
  46. IN LPDWORD lpSubnetTable,
  47. IN BOOL bAdmit
  48. );
  49. //Internal
  50. DWORD
  51. NextIndex(
  52. IN OUT char **Ptr
  53. );
  54. DWORD
  55. GetSelectiveBindingVersion(
  56. IN DWORD dwSize,
  57. IN LPVOID lpBuffer,
  58. OUT SB_VER *pVer
  59. );
  60. DWORD
  61. GetSelectiveBindingBuffer(
  62. OUT LPDWORD lpSize,
  63. OUT LPVOID *lppBuffer
  64. );
  65. DWORD
  66. GetSelectiveBindingSubnets(
  67. IN DWORD dwSize,
  68. IN LPVOID lpBuffer,
  69. OUT LPDWORD lpSize,
  70. OUT VER_SUBNETS_SETTINGS **lppSettings
  71. );
  72. DWORD
  73. GetSelectiveBindingIndices(
  74. IN DWORD dwSize,
  75. IN LPVOID lpBuffer,
  76. OUT LPDWORD lpSize,
  77. OUT VER_INDICES_SETTINGS **lppSettings
  78. );
  79. DWORD
  80. SetSelectiveBindingBuffer(
  81. IN DWORD dwSize,
  82. IN LPVOID lpBuffer
  83. );