80 lines
2.1 KiB
C
80 lines
2.1 KiB
C
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
//
|
||
|
// Copyright (C) Microsoft Corporation, 1997 - 1999
|
||
|
//
|
||
|
// File: rkeysvcc.h
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
#ifndef __rkeysvcc_h__
|
||
|
#define __rkeysvcc_h__
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C"{
|
||
|
#endif
|
||
|
|
||
|
typedef void *KEYSVCC_HANDLE;
|
||
|
|
||
|
typedef enum _KEYSVC_TYPE {
|
||
|
KeySvcMachine,
|
||
|
KeySvcService
|
||
|
} KEYSVC_TYPE;
|
||
|
|
||
|
typedef struct _KEYSVC_UNICODE_STRING {
|
||
|
USHORT Length;
|
||
|
USHORT MaximumLength;
|
||
|
#ifdef KEYSVC_MIDL_PASS
|
||
|
[size_is(MaximumLength / 2), length_is((Length) / 2) ]
|
||
|
#endif // KEYSVC_MIDL_PASS
|
||
|
USHORT *Buffer;
|
||
|
} KEYSVC_UNICODE_STRING, *PKEYSVC_UNICODE_STRING;
|
||
|
|
||
|
|
||
|
typedef struct _KEYSVC_BLOB {
|
||
|
ULONG cb;
|
||
|
#ifdef KEYSVC_MIDL_PASS
|
||
|
[size_is(cb), length_is(cb)]
|
||
|
#endif // KEYSVC_MIDL_PASS
|
||
|
BYTE *pb;
|
||
|
} KEYSVC_BLOB, *PKEYSVC_BLOB;
|
||
|
|
||
|
//--------------------------------------------------------------------------------
|
||
|
// Define flags for use with RKeyOpenKeyService().
|
||
|
//
|
||
|
// RKEYSVC_CONNECT_SECURE_ONLY - client will require mutual authentication to prevent
|
||
|
// spoofing. While more secure, this will cause the call to fail in situations when
|
||
|
// fallback to NTLM would otherwise have been possible.
|
||
|
//
|
||
|
#ifndef KEYSVC_MIDL_PASS
|
||
|
#define RKEYSVC_CONNECT_SECURE_ONLY 0x00000001
|
||
|
#endif // #ifndef KEYSVC_MIDL_PASS
|
||
|
|
||
|
ULONG RKeyOpenKeyService
|
||
|
( /* [in] */ LPSTR pszMachineName,
|
||
|
/* [in] */ KEYSVC_TYPE OwnerType,
|
||
|
/* [in] */ LPWSTR pwszOwnerName,
|
||
|
/* [in] */ void *pAuthentication,
|
||
|
/* [out][in] */ void *pReserved,
|
||
|
/* [out] */ KEYSVCC_HANDLE *phKeySvcCli);
|
||
|
|
||
|
ULONG RKeyCloseKeyService
|
||
|
(/* [in] */ KEYSVCC_HANDLE hKeySvcCli,
|
||
|
/* [out][in] */ void *pReserved);
|
||
|
|
||
|
ULONG RKeyPFXInstall
|
||
|
(/* [in] */ KEYSVCC_HANDLE hKeySvcCli,
|
||
|
/* [in] */ PKEYSVC_BLOB pPFX,
|
||
|
/* [in] */ PKEYSVC_UNICODE_STRING pPassword,
|
||
|
/* [in] */ ULONG ulFlags);
|
||
|
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif // #ifndef __rkeysvcc_h__
|