Click or drag to resize
VirtualMachineValidation Class
Attempts to determine whether or not the application is running in a known virtual machine guest environment. See the VirtualMachineValidationVirtualMachineType enumeration for a list of supported hypervisors.
Inheritance Hierarchy

Namespace: com.softwarekey.Client.Licensing
Assembly: PLUSManaged (in PLUSManaged.dll) Version:
public class VirtualMachineValidation : SystemValidation

The VirtualMachineValidation type exposes the following members.

Public methodVirtualMachineValidation
Creates a new VirtualMachineValidation object.
Public methodVirtualMachineValidation(SystemComponentInformation)
Creates a new VirtualMachineValidation object.
Public propertyIsVirtual
Gets whether the system is running on a virtual machine guest environment. (This property should only be referenced after calling the Validate method once.)
Public propertyLastError
Gets or sets the last error encountered in this object.
(Inherited from SystemValidation.)
Public propertyType
Gets the type of virtual machine guest environment on which the system is running. (This property should only be referenced after calling the Validate method once.)
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodToString (Inherited from Object.)
Public methodValidate
Determines if the system is running on a virtual machine.
(Overrides SystemValidationValidate.)
Caution note Caution

This class can only detect supported hypervisors, which are documented in the VirtualMachineValidationVirtualMachineType enumeration.

Caution note Caution

It is not possible to guarantee the detection of a virtual machine guest environment, as many hypervisors have settings (which may or may not even be officially supported or documented by the manufacturer of the hypervisor) which allow the hypervisor to change its behavior in ways that could make it difficult to detect. Despite this, this class has been designed to avoid this kind of weakness as much as reasonably possible. Additionally, using these settings for day-to-day application use is typically problematic, which makes it unlikely to encounter this kind of behavior (as users would not typically use such undocumented, unsupported, problematic settings).

See Also