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
10 extern "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
40