mirror of https://github.com/UMSKT/xpmgr.git
85 lines
2.4 KiB
Plaintext
85 lines
2.4 KiB
Plaintext
////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) Microsoft Corporation.
|
|
//
|
|
// SYNOPSIS
|
|
//
|
|
// IDL source for interaction with certificate relying
|
|
// parties.
|
|
//
|
|
////////////////////////////////////////////////////////////
|
|
|
|
#ifndef NAPCERTRELYINGPARTY_IDL
|
|
#define NAPCERTRELYINGPARTY_IDL
|
|
|
|
import "NapTypes.idl";
|
|
import "unknwn.idl";
|
|
|
|
cpp_quote("#include <wincrypt.h>")
|
|
cpp_quote("static const UINT32 NapAfwZonePropId = CERT_FIRST_USER_PROP_ID;")
|
|
cpp_quote("static const UINT32 NapAfwProtectionLevelPropId = CERT_FIRST_USER_PROP_ID + 1;")
|
|
|
|
// Certificate relying parties must use this interface to
|
|
// communicate with the NapAgent.
|
|
//
|
|
[object,
|
|
uuid(62c02ffc-4c77-4158-8754-782d5b4ee66e),
|
|
pointer_default(unique)]
|
|
interface INapCertRelyingParty : IUnknown
|
|
{
|
|
// Subscribe to an already registered HCS server
|
|
//
|
|
// Parameters:-
|
|
// id : id of the subscriber
|
|
// reserved : should be NULL.
|
|
// subscriberName : name of the subscriber, currently
|
|
// used only for logging purposes
|
|
// certExists : a health certificate from this HCS is
|
|
// already being maintained by the NapAgent, and is
|
|
// present in the MachineStore
|
|
//
|
|
HRESULT
|
|
SubscribeCertByGroup(
|
|
[in] EnforcementEntityId id,
|
|
[in] const BSTR subscriberName,
|
|
[in, unique] const VARIANT* reserved,
|
|
[out] BOOL* certExists
|
|
);
|
|
|
|
// UnSubscribe an HCS server.
|
|
// If there are no other subscribers to the HCS, the
|
|
// NapAgent will delete the corresponding health
|
|
// certificates from the MachineStore
|
|
//
|
|
// Parameters:-
|
|
// id : id of the subscriber
|
|
// reserved : should be NULL.
|
|
//
|
|
HRESULT
|
|
UnSubscribeCertByGroup(
|
|
[in] EnforcementEntityId id,
|
|
[in, unique] const VARIANT* reserved
|
|
);
|
|
|
|
// Get a list of relying parties that have subscribed
|
|
//
|
|
// Parameters:-
|
|
// count : number of subscribed relying parties
|
|
// relyingParties : subscribed relying parties
|
|
HRESULT
|
|
GetSubscribedRelyingParties(
|
|
[out] EnforcementEntityCount* count,
|
|
[out, size_is(, *count)]
|
|
EnforcementEntityId** relyingParties
|
|
);
|
|
};
|
|
|
|
cpp_quote("// Declarations of CLSIDs of objects provided ")
|
|
cpp_quote("// by the system. Link to uuid.lib to get them ")
|
|
cpp_quote("// defined. ")
|
|
cpp_quote("EXTERN_C const CLSID ")
|
|
cpp_quote(" CLSID_NapCertRelyingParty;")
|
|
|
|
#endif // NAPCERTRELYINGPARTY_IDL
|
|
|