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