xpmgr/BuildTools/Include/napservermanagement.idl

115 lines
2.9 KiB
Plaintext

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