//////////////////////////////////////////////////////////// // // 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 ") 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