//////////////////////////////////////////////////////////// // // Copyright (c) Microsoft Corporation. // // SYNOPSIS // // IDL source for management of the NAP Server. // //////////////////////////////////////////////////////////// #ifndef NAPSERVERMANAGEMENT_IDL #define NAPSERVERMANAGEMENT_IDL import "NapTypes.idl"; import "unknwn.idl"; // Management clients (eg. WMI providers, command-line tools, // etc.) use this interface to query the status of the // NAP server system. The APIs provide only static // information about the Nap Server and its components // on the system. // [object, uuid(599F9021-5643-4965-9949-E88975EFFF0E), pointer_default(unique)] interface INapServerInfo : IUnknown { // Used for reporting information about the NAP server // Strings will be retrieved in the caller's locale-id. // HRESULT GetNapServerInfo( [out] CountedString** serverName, [out] CountedString** serverDescription, [out] CountedString** protocolVersion ) const; // Used to query the list of SHVs // The isBound flag is always TRUE - and can be // ignored. // HRESULT GetRegisteredSystemHealthValidators( [out] SystemHealthEntityCount* count, [out, size_is(, *count)] NapComponentRegistrationInfo** validators, [out, size_is(, *count)] CLSID** validatorClsids ) const; // Used to query the failure category mappings for a // particular SHV. // HRESULT GetFailureCategoryMappings( [in] SystemHealthEntityId id, [out] FailureCategoryMapping* mapping ) const; }; [object, uuid(9DE543E7-0F23-47e0-A8BC-971A894F86D4), pointer_default(unique)] interface INapServerManagement : IUnknown { // Register an SHV. // // Parameters:- // validatorClsid : CLSID of the COM object that // implements the INapSystemHealthValidator interface. // // Error codes:- // NAP_E_CONFLICTING_ID: SHV id is already registered. // HRESULT RegisterSystemHealthValidator( [in] const NapComponentRegistrationInfo* validator, [in] const CLSID* validatorClsid ); // Used to Unregister an SHV with the NAP server. If // there are any asynchronous calls pending on the SHV, // they complete at a later time and are discarded. // HRESULT UnregisterSystemHealthValidator( [in] SystemHealthEntityId id ); // Set SHV's failure category mapping. // HRESULT SetFailureCategoryMappings( [in] SystemHealthEntityId id, [in] const FailureCategoryMapping mapping ); }; 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_NapServerInfo;") cpp_quote("EXTERN_C const CLSID ") cpp_quote(" CLSID_NapServerManagement;") #endif // NAPSERVERMANAGEMENT_IDL