master
 1/**
 2 * This file has no copyright assigned and is placed in the Public Domain.
 3 * This file is part of the mingw-w64 runtime package.
 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 5 */
 6#ifndef __rkeysvcc_h__
 7#define __rkeysvcc_h__
 8
 9#ifdef __cplusplus
10extern "C" {
11#endif
12
13  typedef void *KEYSVCC_HANDLE;
14
15  typedef enum _KEYSVC_TYPE {
16    KeySvcMachine,KeySvcService
17  } KEYSVC_TYPE;
18
19  typedef struct _KEYSVC_UNICODE_STRING {
20    USHORT Length;
21    USHORT MaximumLength;
22    USHORT *Buffer;
23  } KEYSVC_UNICODE_STRING,*PKEYSVC_UNICODE_STRING;
24
25  typedef struct _KEYSVC_BLOB {
26    ULONG cb;
27    BYTE *pb;
28  } KEYSVC_BLOB,*PKEYSVC_BLOB;
29
30#define RKEYSVC_CONNECT_SECURE_ONLY 0x00000001
31
32  ULONG RKeyOpenKeyService(LPSTR pszMachineName,KEYSVC_TYPE OwnerType,LPWSTR pwszOwnerName,void *pAuthentication,void *pReserved,KEYSVCC_HANDLE *phKeySvcCli);
33  ULONG RKeyCloseKeyService(KEYSVCC_HANDLE hKeySvcCli,void *pReserved);
34  ULONG RKeyPFXInstall(KEYSVCC_HANDLE hKeySvcCli,PKEYSVC_BLOB pPFX,PKEYSVC_UNICODE_STRING pPassword,ULONG ulFlags);
35
36#ifdef __cplusplus
37}
38#endif
39#endif