104 lines
3.3 KiB
C#
104 lines
3.3 KiB
C#
// Copyright (C) Intel Corporation, 2010 All Rights Reserved.
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
using System.Security;
|
|
using System.Text;
|
|
|
|
namespace Intel.Management.Mei
|
|
{
|
|
/// <summary>
|
|
/// Represents a Local Intel Management Engine Device
|
|
/// </summary>
|
|
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
|
|
[Guid("2DCE50E0-7AC4-40a1-B6F9-06A31F818574")]
|
|
[ComVisible(true)]
|
|
public interface IMeDevice
|
|
{
|
|
/// <summary>
|
|
/// Gets a Local (OS Admin) Wsman Connection to the device
|
|
/// </summary>
|
|
Wsman.IWsmanConnection LocalConnection { get; }
|
|
|
|
/// <summary>
|
|
/// Enables AMT State Independence (Manageablity mode becomes AMT)
|
|
/// </summary>
|
|
bool Enable();
|
|
|
|
/// <summary>
|
|
/// Gets basic discovery information
|
|
/// </summary>
|
|
bool Discover();
|
|
|
|
|
|
/// <summary>
|
|
/// Starts remote configuration
|
|
/// <remarks>This will open the network interface for PKI provisioning</remarks>
|
|
/// </summary>
|
|
bool StartRemoteConfiguration(string otp, bool enableIPv6);
|
|
|
|
/// <summary>
|
|
/// Gets the core version of the device
|
|
/// </summary>
|
|
IMeVersionInfo CoreVersion { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a value that indicates the Setup status of the device
|
|
/// </summary>
|
|
MeSetupStatus SetupStatus { get; }
|
|
|
|
|
|
/// <summary>
|
|
/// Gets a specific code version of the device
|
|
/// </summary>
|
|
/// <param name="name">Specific code version string</param>
|
|
/// <returns>An IMeVersionInfo object containing version information</returns>
|
|
IMeVersionInfo GetCodeVersion(string name);
|
|
|
|
|
|
/// <summary>
|
|
/// Gets the reported BIOS version of the device
|
|
/// </summary>
|
|
string BiosVersion { get; }
|
|
|
|
/// <summary>
|
|
/// Gets the Configuration Nonce for host setup signatures
|
|
/// </summary>
|
|
string ConfigurationNonce { get; }
|
|
|
|
/// <summary>
|
|
/// Returns the Digest Realm host master passwords
|
|
/// </summary>
|
|
string DigestRealm { get; }
|
|
|
|
/// <summary>
|
|
/// Unprovisions the ME using the local Driver
|
|
/// </summary>
|
|
/// <remarks>This method is only support when in Client Control Mode. Use Wsman for other modes</remarks>
|
|
/// <returns>Returns true if sucessfull</returns>
|
|
bool Unprovision();
|
|
|
|
/// <summary>
|
|
/// Gets a list of active supported root hashes
|
|
/// </summary>
|
|
string[] ActiveHashes { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a value that indicates if Client Control Mode is supported
|
|
/// </summary>
|
|
bool ClientControlSupported { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a value that indicates if Host Based Configuration is supported
|
|
/// </summary>
|
|
bool HostConfigurationSupported { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a value that indicates if Remote setup of the device is enabled
|
|
/// </summary>
|
|
bool RemoteConfigurationSupported { get; }
|
|
SecureString CreateRandomPassword(int length);
|
|
string GetPasswordHash(string user, string realm, SecureString password);
|
|
}
|
|
}
|