Source code of Windows XP (NT5)
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.

113 lines
3.6 KiB

  1. /***************************************************************************
  2. *
  3. * RPCWIRE.H
  4. *
  5. * This module contains structures passed over the wire between winsta.dll
  6. * and icasrv.
  7. *
  8. * Copyright Microsoft Corporation. 1998
  9. *
  10. ****************************************************************************/
  11. #ifndef __RPCWIRE_H__
  12. #define __RPCWIRE_H__
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. // Common structure for variable length data
  17. typedef struct _VARDATA_WIRE {
  18. USHORT Size;
  19. USHORT Offset;
  20. } VARDATA_WIRE, *PVARDATA_WIRE;
  21. // Wire structure for WINSTATIONCONFIGW
  22. // WinStationQuery/SetInfo ( WinStationConfiguration )
  23. typedef struct _WINSTACONFIGWIREW {
  24. WCHAR Comment[WINSTATIONCOMMENT_LENGTH + 1];
  25. char OEMId[4];
  26. VARDATA_WIRE UserConfig; // Embedded structure
  27. VARDATA_WIRE NewFields; // For any new fields added after UserConfig
  28. // Variable length data follows - UserConfig and new fields added
  29. } WINSTACONFIGWIREW, *PWINSTACONFIGWIREW;
  30. // Wire structure for PDPARAMSW
  31. // WinStationQueryInformation( WinStationPdParams )
  32. typedef struct _PDPARAMSWIREW {
  33. SDCLASS SdClass;
  34. VARDATA_WIRE SdClassSpecific; // Embedded union
  35. // Variable length PdClass specific data follows
  36. } PDPARAMSWIREW, *PPDPARAMSWIREW;
  37. // Wire structure for PDCONFIGW
  38. // WinStationQueryInformation( WinStationPd)
  39. typedef struct _PDCONFIGWIREW {
  40. VARDATA_WIRE PdConfig2W; // Embedded structure
  41. PDPARAMSWIREW PdParams; // Enbedded structure
  42. // Variable length data follows
  43. } PDCONFIGWIREW, *PPDCONFIGWIREW;
  44. // Wire structure for WLX_CLIENT_CREDENTIALS_V2_0
  45. typedef struct _WLXCLIENTCREDWIREW {
  46. DWORD dwType;
  47. BOOL fDisconnectOnLogonFailure;
  48. BOOL fPromptForPassword;
  49. VARDATA_WIRE UserNameData;
  50. VARDATA_WIRE DomainData;
  51. VARDATA_WIRE PasswordData;
  52. // Variable data starts here
  53. } WLXCLIENTCREDWIREW, *PWLXCLIENTCREDWIREW;
  54. // common routines
  55. VOID InitVarData(PVARDATA_WIRE pVarData, ULONG Size, ULONG Offset);
  56. ULONG NextOffset(PVARDATA_WIRE PrevData);
  57. ULONG CopySourceToDest(PCHAR SourceBuf, ULONG SourceSize,
  58. PCHAR DestBuf, ULONG DestSize);
  59. VOID CopyPdParamsToWire(PPDPARAMSWIREW PdParamsWire, PPDPARAMSW PdParams);
  60. VOID CopyPdParamsFromWire(PPDPARAMSWIREW PdParamsWire, PPDPARAMSW PdParams);
  61. VOID CopyPdConfigToWire(PPDCONFIGWIREW PdConfigWire, PPDCONFIGW PdConfig);
  62. VOID CopyPdConfigFromWire(PPDCONFIGWIREW PdConfigWire, PPDCONFIGW PdConfig);
  63. VOID CopyWinStaConfigToWire(PWINSTACONFIGWIREW WinStaConfigWire,
  64. PWINSTATIONCONFIGW WinStaConfig);
  65. VOID CopyWinStaConfigFromWire(PWINSTACONFIGWIREW WinStaConfigWire,
  66. PWINSTATIONCONFIGW WinStaConfig);
  67. BOOLEAN CopyInWireBuf(WINSTATIONINFOCLASS InfoClass,
  68. PVOID UserBuf, PVOID WireBuf);
  69. BOOLEAN CopyOutWireBuf(WINSTATIONINFOCLASS InfoClass,
  70. PVOID UserBuf,PVOID WireBuf);
  71. ULONG AllocateAndCopyCredToWire(PWLXCLIENTCREDWIREW *ppWire,
  72. PWLX_CLIENT_CREDENTIALS_INFO_V2_0 pCredentials);
  73. BOOLEAN CopyCredFromWire(PWLXCLIENTCREDWIREW pWire,
  74. PWLX_CLIENT_CREDENTIALS_INFO_V2_0 pCredentials);
  75. /*
  76. * Licensing Core wire typedefs and function prototypes
  77. */
  78. typedef struct {
  79. ULONG ulVersion;
  80. VARDATA_WIRE PolicyNameData;
  81. VARDATA_WIRE PolicyDescriptionData;
  82. // Variable data begins here.
  83. } LCPOLICYINFOWIRE_V1, *LPLCPOLICYINFOWIRE_V1;
  84. ULONG
  85. CopyPolicyInformationToWire(
  86. LPLCPOLICYINFOGENERIC *ppWire,
  87. LPLCPOLICYINFOGENERIC pPolicyInfo
  88. );
  89. BOOLEAN
  90. CopyPolicyInformationFromWire(
  91. LPLCPOLICYINFOGENERIC *ppPolicyInfo,
  92. LPLCPOLICYINFOGENERIC pWire
  93. );
  94. #ifdef __cplusplus
  95. }
  96. #endif
  97. #endif // __RPCWIRE_H__