mirror of https://github.com/UMSKT/xpmgr.git
137 lines
3.4 KiB
Plaintext
137 lines
3.4 KiB
Plaintext
////////////////////////////////////////////////////////////
|
|
//
|
|
// 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
|
|
|