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.

79 lines
2.1 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997 - 1999
  6. //
  7. // File: rkeysvcc.h
  8. //
  9. //--------------------------------------------------------------------------
  10. #ifndef __rkeysvcc_h__
  11. #define __rkeysvcc_h__
  12. #ifdef __cplusplus
  13. extern "C"{
  14. #endif
  15. typedef void *KEYSVCC_HANDLE;
  16. typedef enum _KEYSVC_TYPE {
  17. KeySvcMachine,
  18. KeySvcService
  19. } KEYSVC_TYPE;
  20. typedef struct _KEYSVC_UNICODE_STRING {
  21. USHORT Length;
  22. USHORT MaximumLength;
  23. #ifdef KEYSVC_MIDL_PASS
  24. [size_is(MaximumLength / 2), length_is((Length) / 2) ]
  25. #endif // KEYSVC_MIDL_PASS
  26. USHORT *Buffer;
  27. } KEYSVC_UNICODE_STRING, *PKEYSVC_UNICODE_STRING;
  28. typedef struct _KEYSVC_BLOB {
  29. ULONG cb;
  30. #ifdef KEYSVC_MIDL_PASS
  31. [size_is(cb), length_is(cb)]
  32. #endif // KEYSVC_MIDL_PASS
  33. BYTE *pb;
  34. } KEYSVC_BLOB, *PKEYSVC_BLOB;
  35. //--------------------------------------------------------------------------------
  36. // Define flags for use with RKeyOpenKeyService().
  37. //
  38. // RKEYSVC_CONNECT_SECURE_ONLY - client will require mutual authentication to prevent
  39. // spoofing. While more secure, this will cause the call to fail in situations when
  40. // fallback to NTLM would otherwise have been possible.
  41. //
  42. #ifndef KEYSVC_MIDL_PASS
  43. #define RKEYSVC_CONNECT_SECURE_ONLY 0x00000001
  44. #endif // #ifndef KEYSVC_MIDL_PASS
  45. ULONG RKeyOpenKeyService
  46. ( /* [in] */ LPSTR pszMachineName,
  47. /* [in] */ KEYSVC_TYPE OwnerType,
  48. /* [in] */ LPWSTR pwszOwnerName,
  49. /* [in] */ void *pAuthentication,
  50. /* [out][in] */ void *pReserved,
  51. /* [out] */ KEYSVCC_HANDLE *phKeySvcCli);
  52. ULONG RKeyCloseKeyService
  53. (/* [in] */ KEYSVCC_HANDLE hKeySvcCli,
  54. /* [out][in] */ void *pReserved);
  55. ULONG RKeyPFXInstall
  56. (/* [in] */ KEYSVCC_HANDLE hKeySvcCli,
  57. /* [in] */ PKEYSVC_BLOB pPFX,
  58. /* [in] */ PKEYSVC_UNICODE_STRING pPassword,
  59. /* [in] */ ULONG ulFlags);
  60. #ifdef __cplusplus
  61. }
  62. #endif
  63. #endif // #ifndef __rkeysvcc_h__