//////////////////////////////////////////////////////////// // // Copyright (c) Microsoft Corporation. // // SYNOPSIS // // IDL source for management of the NapClient // //////////////////////////////////////////////////////////// #ifndef NAPMANAGEMENT_IDL #define NAPMANAGEMENT_IDL import "NapTypes.idl"; import "unknwn.idl"; [object, uuid(432a1da5-3888-4b9a-a734-cff1e448c5b9), pointer_default(unique)] interface INapClientManagement : IUnknown { // Used for reporting information about the NAP client. // Strings will be retrieved in the caller's locale-id. // HRESULT GetNapClientInfo( [out] BOOL* isNapEnabled, [out] CountedString** clientName, [out] CountedString** clientDescription, [out] CountedString** protocolVersion ) const; // Used to query the isolation state of the NapClient. // If any of the connections are in an unknown state, // the 'unknownConnections' flag is set to true. // The 'isolationInfo' does not reflect unknown states. // HRESULT GetSystemIsolationInfo( [out] IsolationInfo** isolationInfo, [out] BOOL* unknownConnections ) const; // Registers an SHA. // // Return codes: // NAP_E_CONFLICTING_ID: SHA with this id is already // registered. HRESULT RegisterSystemHealthAgent( [in] const NapComponentRegistrationInfo* agent ); // Unregisters an SHA. // // Return codes: // NAP_E_STILL_BOUND: SHA is still bound and could // not be unregistered. // HRESULT UnregisterSystemHealthAgent( [in] SystemHealthEntityId id ); // Registers an enforcer. // // Return codes: // NAP_E_CONFLICTING_ID: Enforcer with this id is // already registered. HRESULT RegisterEnforcementClient( [in] const NapComponentRegistrationInfo* enforcer ); // Unregisters an enforcer. // // Return codes: // NAP_E_STILL_BOUND: Enforcer is still bound and // could not be unregistered. // HRESULT UnregisterEnforcementClient( [in] EnforcementEntityId id ); // Used to query the list of registered SHAs. // HRESULT GetRegisteredSystemHealthAgents( [out] SystemHealthEntityCount* count, [out, size_is(, *count)] NapComponentRegistrationInfo** agents ) const; // Used to query the list of registered enforcers. // HRESULT GetRegisteredEnforcementClients( [out] EnforcementEntityCount* count, [out, size_is(, *count)] NapComponentRegistrationInfo** enforcers ) const; }; [object, uuid(07a1127b-18cc-422a-b988-e892600fcc74), pointer_default(unique)] interface INapClientManagement2 : INapClientManagement { // Used to query the isolation state and extended isolation // state of the NapClient. // If any of the connections are in an unknown state, // the 'unknownConnections' flag is set to true. // The 'isolationInfo' does not reflect unknown states. // HRESULT GetSystemIsolationInfoEx( [out] IsolationInfoEx** isolationInfo, [out] BOOL* unknownConnections ) const; }; 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_NapClientManagement;") #endif // NAPMANAGEMENT_IDL