Documentation ¶
Overview ¶
Package wmi handles WMI queries
Package wmi handles WMI queries ¶
Package wmi handles WMI queries ¶
Package wmi handles WMI queries ¶
Package wmi handles WMI queries ¶
Package wmi handles WMI queries ¶
Package wmi handles WMI queries ¶
Package wmi handles WMI queries ¶
Package wmi handles WMI queries ¶
Package wmi handles WMI queries ¶
Package wmi handles WMI queries ¶
Package wmi handles WMI queries
Index ¶
- Constants
- Variables
- func Cleanup()
- func ExecQuery(wqlQuery string, namespace string, dst interface{}) (err error)
- func ExecWmiMethod(className, methodName, namespace string, params ...interface{}) (result *ole.VARIANT, err error)
- func FAILED(hresult uintptr) bool
- func RescanDisks() error
- func SUCCEEDED(hresult uintptr) bool
- type CIMTYPE_ENUMERATION
- type EOLE_AUTHENTICATION_CAPABILITIES
- type IEnumWbemClassObjectVtbl
- type ISCSI_IP_Address
- type ISCSI_PortalInfo
- type IWbemClassObjectVtbl
- type IWbemLocatorVtbl
- type IWbemServicesVtbl
- type MSCluster_Property_Resource_IP_Address
- type MSCluster_Resource_IP_Address
- type MSFC_FibrePortHBAAttributes
- type MSFC_HBAPortAttributesResults
- type MSFT_Disk
- type MSFT_Partition
- type MSFT_iSCSITargetPortal
- type MSIscsiInitiator_LUNList
- type MSIscsiInitiator_Portal
- type MSIscsiInitiator_PortalGroup
- type MSIscsiInitiator_TargetLoginOptions
- type MSIscsiInitiator_TargetMappings
- type MSiSCSIInitiator_TargetClass
- type MSiSCSI_PortalInfoClass
- type STORAGE_BUS_TYPE
- type WBEM_CONDITION_FLAG_TYPE
- type WBEM_FLAVOR_TYPE
- type WBEM_GENERIC_FLAG_TYPE
- type WBEM_TIMEOUT_TYPE
- type Win32_DiskDrive
- type Win32_DiskPartition
- type Win32_OperatingSystem
- type Win32_Volume
Constants ¶
const ( ISCSI_IP_ADDRESS_TEXT = iota ISCSI_IP_ADDRESS_IPV4 ISCSI_IP_ADDRESS_IPV6 ISCSI_IP_ADDRESS_EMPTY )
const ( S_OK = 0 S_FALSE = 1 WBEM_S_NO_ERROR = 0 WBEM_S_FALSE = 1 WBEM_E_CRITICAL_ERROR = 0x8004100A WBEM_E_NOT_SUPPORTED = 0x8004100C WBEM_E_INVALID_NAMESPACE = 0x8004100E WBEM_E_INVALID_CLASS = 0x80041010 )
HRESULT values
const ( RPC_C_AUTHN_LEVEL_DEFAULT = 0 RPC_C_AUTHN_LEVEL_NONE = 1 RPC_C_AUTHN_LEVEL_CONNECT = 2 RPC_C_AUTHN_LEVEL_CALL = 3 RPC_C_AUTHN_LEVEL_PKT = 4 RPC_C_AUTHN_LEVEL_PKT_INTEGRITY = 5 RPC_C_AUTHN_LEVEL_PKT_PRIVACY = 6 )
Authentication Level Constants
const ( RPC_C_IMP_LEVEL_DEFAULT = 0 RPC_C_IMP_LEVEL_ANONYMOUS = 1 RPC_C_IMP_LEVEL_IDENTIFY = 2 RPC_C_IMP_LEVEL_IMPERSONATE = 3 RPC_C_IMP_LEVEL_DELEGATE = 4 )
Impersonation Level Constants
Variables ¶
var ( // WMI Class and Interface GUIDs CLSID_WbemLocator = ole.NewGUID("4590f811-1d3a-11d0-891f-00aa004b2e24") IID_IWbemLocator = ole.NewGUID("dc12a687-737f-11cf-884d-00aa004b2e24") IID_IWbemClassObject = ole.NewGUID("dc12a681-737f-11cf-884d-00aa004b2e24") )
Package variables
Functions ¶
func Cleanup ¶
func Cleanup()
Cleanup is an optional routine that should only be called when the process using the WMI package is exiting.
func ExecQuery ¶
ExecQuery executes the given WMI query, in the given namespace, and returns JSON objects
func ExecWmiMethod ¶
func ExecWmiMethod(className, methodName, namespace string, params ...interface{}) (result *ole.VARIANT, err error)
ExecWmiMethod is used to execute a WMI method. A VARIANT is returned from the WMI method as well as an error should the WMI method be executed.
func RescanDisks ¶
func RescanDisks() error
RescanDisks calls the UpdateHostStorageCache method of the MSFT_StorageSetting WMI class. It's equivalent to performing a rescan within diskpart.exe.
Types ¶
type CIMTYPE_ENUMERATION ¶
type CIMTYPE_ENUMERATION uint32
The CIMTYPE_ENUMERATION enumeration defines values that specify different CIM data types
const ( CIM_ILLEGAL CIMTYPE_ENUMERATION = 0xFFF CIM_EMPTY CIMTYPE_ENUMERATION = 0 CIM_SINT8 CIMTYPE_ENUMERATION = 16 CIM_UINT8 CIMTYPE_ENUMERATION = 17 CIM_SINT16 CIMTYPE_ENUMERATION = 2 CIM_UINT16 CIMTYPE_ENUMERATION = 18 CIM_SINT32 CIMTYPE_ENUMERATION = 3 CIM_UINT32 CIMTYPE_ENUMERATION = 19 CIM_SINT64 CIMTYPE_ENUMERATION = 20 CIM_UINT64 CIMTYPE_ENUMERATION = 21 CIM_REAL32 CIMTYPE_ENUMERATION = 4 CIM_REAL64 CIMTYPE_ENUMERATION = 5 CIM_BOOLEAN CIMTYPE_ENUMERATION = 11 CIM_STRING CIMTYPE_ENUMERATION = 8 CIM_DATETIME CIMTYPE_ENUMERATION = 101 CIM_REFERENCE CIMTYPE_ENUMERATION = 102 CIM_CHAR16 CIMTYPE_ENUMERATION = 103 CIM_OBJECT CIMTYPE_ENUMERATION = 13 CIM_FLAG_ARRAY CIMTYPE_ENUMERATION = 0x2000 )
type EOLE_AUTHENTICATION_CAPABILITIES ¶
type EOLE_AUTHENTICATION_CAPABILITIES uint32
EOLE_AUTHENTICATION_CAPABILITIES specifies various capabilities in CoInitializeSecurity and IClientSecurity::SetBlanket (or its helper function CoSetProxyBlanket).
const ( EOAC_NONE EOLE_AUTHENTICATION_CAPABILITIES = 0 EOAC_MUTUAL_AUTH EOLE_AUTHENTICATION_CAPABILITIES = 0x1 EOAC_STATIC_CLOAKING EOLE_AUTHENTICATION_CAPABILITIES = 0x20 EOAC_DYNAMIC_CLOAKING EOLE_AUTHENTICATION_CAPABILITIES = 0x40 EOAC_ANY_AUTHORITY EOLE_AUTHENTICATION_CAPABILITIES = 0x80 EOAC_MAKE_FULLSIC EOLE_AUTHENTICATION_CAPABILITIES = 0x100 EOAC_DEFAULT EOLE_AUTHENTICATION_CAPABILITIES = 0x800 EOAC_SECURE_REFS EOLE_AUTHENTICATION_CAPABILITIES = 0x2 EOAC_ACCESS_CONTROL EOLE_AUTHENTICATION_CAPABILITIES = 0x4 EOAC_APPID EOLE_AUTHENTICATION_CAPABILITIES = 0x8 EOAC_DYNAMIC EOLE_AUTHENTICATION_CAPABILITIES = 0x10 EOAC_REQUIRE_FULLSIC EOLE_AUTHENTICATION_CAPABILITIES = 0x200 EOAC_AUTO_IMPERSONATE EOLE_AUTHENTICATION_CAPABILITIES = 0x400 EOAC_DISABLE_AAA EOLE_AUTHENTICATION_CAPABILITIES = 0x1000 EOAC_NO_CUSTOM_MARSHAL EOLE_AUTHENTICATION_CAPABILITIES = 0x2000 EOAC_RESERVED1 EOLE_AUTHENTICATION_CAPABILITIES = 0x4000 )
type IEnumWbemClassObjectVtbl ¶
type IEnumWbemClassObjectVtbl struct { QueryInterface uintptr AddRef uintptr Release uintptr Reset uintptr Next uintptr NextAsync uintptr Clone uintptr Skip uintptr }
IEnumWbemClassObjectVtbl is the IEnumWbemClassObject COM virtual table
type ISCSI_IP_Address ¶
type ISCSI_PortalInfo ¶
type ISCSI_PortalInfo struct { Index uint32 PortalType uint8 Protocol uint8 Reserved1 uint8 Reserved2 uint8 IPAddr *ISCSI_IP_Address Port uint32 PortalTag uint16 }
ISCSI_PortalInfo WMI class
type IWbemClassObjectVtbl ¶
type IWbemClassObjectVtbl struct { QueryInterface uintptr AddRef uintptr Release uintptr GetQualifierSet uintptr Get uintptr Put uintptr Delete uintptr GetNames uintptr BeginEnumeration uintptr Next uintptr EndEnumeration uintptr GetPropertyQualifierSet uintptr Clone uintptr GetObjectText uintptr SpawnDerivedClass uintptr SpawnInstance uintptr CompareTo uintptr GetPropertyOrigin uintptr InheritsFrom uintptr GetMethod uintptr PutMethod uintptr DeleteMethod uintptr BeginMethodEnumeration uintptr NextMethod uintptr EndMethodEnumeration uintptr GetMethodQualifierSet uintptr GetMethodOrigin uintptr }
IWbemClassObjectVtbl is the IWbemClassObject COM virtual table
type IWbemLocatorVtbl ¶
type IWbemLocatorVtbl struct { QueryInterface uintptr AddRef uintptr Release uintptr ConnectServer uintptr }
IWbemLocatorVtbl is the IWbemLocator COM virtual table
type IWbemServicesVtbl ¶
type IWbemServicesVtbl struct { QueryInterface uintptr AddRef uintptr Release uintptr OpenNamespace uintptr CancelAsyncCall uintptr QueryObjectSink uintptr GetObject uintptr GetObjectAsync uintptr PutClass uintptr PutClassAsync uintptr DeleteClass uintptr DeleteClassAsync uintptr CreateClassEnum uintptr CreateClassEnumAsync uintptr PutInstance uintptr PutInstanceAsync uintptr DeleteInstance uintptr DeleteInstanceAsync uintptr CreateInstanceEnum uintptr CreateInstanceEnumAsync uintptr ExecQuery uintptr ExecQueryAsync uintptr ExecNotificationQuery uintptr ExecNotificationQueryAsync uintptr ExecMethod uintptr ExecMethodAsync uintptr }
IWbemServicesVtbl is the IWbemServices COM virtual table
type MSCluster_Property_Resource_IP_Address ¶
type MSCluster_Property_Resource_IP_Address struct { Address string DhcpAddress string DhcpServer string DhcpSubnetMask string EnableDhcp uint32 EnableNetBIOS uint32 LeaseExpiresTime string LeaseObtainedTime string Network string OverrideAddressMatch uint32 ProbeFailureThreshold uint32 ProbePort uint32 SubnetMask string }
MSCluster_Property_Resource_IP_Address WMI class
type MSCluster_Resource_IP_Address ¶
type MSCluster_Resource_IP_Address struct { Caption string InstallDate string Status string Flags uint32 Characteristics uint32 Name string Id string Description string IsAlivePollInterval uint32 LooksAlivePollInterval uint32 PendingTimeout uint32 MonitorProcessId uint32 PersistentState bool RestartAction uint32 RestartPeriod uint32 RestartThreshold uint32 EmbeddedFailureAction uint32 RetryPeriodOnFailure uint32 SeparateMonitor bool Type string State uint32 ResourceClass uint32 Subclass uint32 PrivateProperties *MSCluster_Property_Resource_IP_Address CryptoCheckpoints []string RegistryCheckpoints []string QuorumCapable bool LocalQuorumCapable bool DeleteRequiresAllNodes bool CoreResource bool DeadlockTimeout uint32 StatusInformation uint64 LastOperationStatusCode uint64 ResourceSpecificData1 uint64 ResourceSpecificData2 uint64 ResourceSpecificStatus string RestartDelay uint32 RequiredDependencyTypes []string RequiredDependencyClasses []uint32 OwnerGroup string OwnerNode string }
MSCluster_Resource_IP_Address is a customer MSCluster_Resource WMI class where PrivateProperties is defined as MSCluster_Property_Resource_IP_Address.
func GetClusterIPs ¶
func GetClusterIPs() (clusterIPs []*MSCluster_Resource_IP_Address, err error)
GetClusterIPs enumerates this host's cluster IPs
type MSFC_FibrePortHBAAttributes ¶
type MSFC_FibrePortHBAAttributes struct { InstanceName string Active bool UniquePortId uint64 HBAStatus uint32 Attributes *MSFC_HBAPortAttributesResults }
MSFC_FibrePortHBAAttributes WMI class
func GetMSFC_FibrePortHBAAttributes ¶
func GetMSFC_FibrePortHBAAttributes() (fcPorts []*MSFC_FibrePortHBAAttributes, err error)
GetMSFC_FibrePortHBAAttributes enumerates this host's MSFC_FibrePortHBAAttributes objects
type MSFC_HBAPortAttributesResults ¶
type MSFC_HBAPortAttributesResults struct { NodeWWN [8]uint8 PortWWN [8]uint8 PortFcId uint32 PortType uint32 PortState uint32 PortSupportedClassofService uint32 PortSupportedFc4Types [32]uint8 PortActiveFc4Types [32]uint8 PortSupportedSpeed uint32 PortSpeed uint32 PortMaxFrameSize uint32 FabricName [8]uint8 NumberofDiscoveredPorts uint32 }
MSFC_HBAPortAttributesResults WMI class
type MSFT_Disk ¶
type MSFT_Disk struct { // MSFT_StorageObject base class (in the future we might moved supported contained objects) ObjectId string PassThroughClass string PassThroughIds string PassThroughNamespace string PassThroughServer string UniqueId string // MSFT_Disk Path string Location string FriendlyName string UniqueIdFormat uint16 `wmi:",nil=0xFFFF"` // If property not available, use 0xFFFF Number uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF SerialNumber string AdapterSerialNumber string FirmwareVersion string Manufacturer string Model string Size uint64 AllocatedSize uint64 LogicalSectorSize uint32 PhysicalSectorSize uint32 LargestFreeExtent uint64 NumberOfPartitions uint32 ProvisioningType uint16 OperationalStatus []uint16 HealthStatus uint16 `wmi:",nil=0xFFFF"` // If property not available, use 0xFFFF BusType uint16 // See STORAGE_BUS_TYPE PartitionStyle uint16 Signature uint32 Guid string IsOffline bool OfflineReason uint16 IsReadOnly bool IsSystem bool IsClustered bool IsBoot bool BootFromDisk bool IsHighlyAvailable bool IsScaleOut bool }
MSFT_Disk WMI class
func GetMSFTDisk ¶
GetMSFTDisk enumerates this host's MSFT_Disk objects
func GetNimbleMSFTDisk ¶
GetNimbleMSFTDisk enumerates only Nimble volumes
type MSFT_Partition ¶
type MSFT_Partition struct { // MSFT_StorageObject base class (in the future we might moved supported contained objects) ObjectId string PassThroughClass string PassThroughIds string PassThroughNamespace string PassThroughServer string UniqueId string // MSFT_Partition DiskId string DiskNumber uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF PartitionNumber uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF DriveLetter uint16 AccessPaths []string OperationalStatus uint16 TransitionState uint16 Offset uint64 Size uint64 MbrType uint16 GptType string Guid string IsReadOnly bool IsOffline bool IsSystem bool IsBoot bool IsActive bool IsHidden bool IsShadowCopy bool IsDAX bool NoDefaultDriveLetter bool }
MSFT_Partition WMI class
func GetMSFTPartition ¶
func GetMSFTPartition(whereOperator string) (diskPartitions []*MSFT_Partition, err error)
GetMSFTPartition enumerates this host's MSFTPartition objects
func GetMSFTPartitionForDiskNumber ¶
func GetMSFTPartitionForDiskNumber(diskNumber uint32) (diskPartitions []*MSFT_Partition, err error)
GetMSFTPartitionForDiskNumber enumerates only the given disk's partitions
type MSFT_iSCSITargetPortal ¶
type MSFT_iSCSITargetPortal struct { InitiatorInstanceName string InitiatorPortalAddress string IsDataDigest bool IsHeaderDigest bool TargetPortalAddress string TargetPortalPortNumber uint16 }
MSFT_iSCSITargetPortal WMI class
func GetMSFTiSCSITargetPortal ¶
func GetMSFTiSCSITargetPortal(whereOperator string) (portals []*MSFT_iSCSITargetPortal, err error)
GetMSFTiSCSITargetPortal enumerates this host's MSFT_iSCSITargetPortal objects
type MSIscsiInitiator_LUNList ¶
MSIscsiInitiator_LUNList WMI class
type MSIscsiInitiator_Portal ¶
MSIscsiInitiator_Portal WMI class
type MSIscsiInitiator_PortalGroup ¶
type MSIscsiInitiator_PortalGroup struct { Index uint32 Portals []*MSIscsiInitiator_Portal }
MSIscsiInitiator_PortalGroup WMI class
type MSIscsiInitiator_TargetLoginOptions ¶
type MSIscsiInitiator_TargetLoginOptions struct { Version uint32 InformationSpecified uint32 LoginFlags uint32 AuthType uint32 HeaderDigest uint32 DataDigest uint32 MaximumConnectionsuint32 uint32 DefaultTime2Waituint32 uint32 DefaultTime2Retainuint32 uint32 Username []uint8 Password []uint8 }
MSIscsiInitiator_TargetLoginOptions WMI class
type MSIscsiInitiator_TargetMappings ¶
type MSIscsiInitiator_TargetMappings struct { InitiatorName string TargetName string OSDeviceName string OSBusNumber uint32 OSTargetNumber uint32 LUNList []*MSIscsiInitiator_LUNList }
MSIscsiInitiator_TargetMappings WMI class
type MSiSCSIInitiator_TargetClass ¶
type MSiSCSIInitiator_TargetClass struct { TargetName string DiscoveryMechanism string InitiatorName string ProtocolType uint32 TargetAlias string PortalGroups []*MSIscsiInitiator_PortalGroup Mappings *MSIscsiInitiator_TargetMappings TargetFlags uint32 LoginOptions *MSIscsiInitiator_TargetLoginOptions }
MSiSCSIInitiator_TargetClass WMI class
func GetMSIscsiInitiatorTargetClass ¶
func GetMSIscsiInitiatorTargetClass(whereOperator string) (targets []*MSiSCSIInitiator_TargetClass, err error)
GetMSIscsiInitiatorTargetClass enumerates this host's MSiSCSIInitiator_TargetClass objects
func GetMSIscsiInitiatorTargetClassForTarget ¶
func GetMSIscsiInitiatorTargetClassForTarget(target string) ([]*MSiSCSIInitiator_TargetClass, error)
GetMSIscsiInitiatorTargetClassForTarget enumerates the specific target's MSiSCSIInitiator_TargetClass object.
type MSiSCSI_PortalInfoClass ¶
type MSiSCSI_PortalInfoClass struct { InstanceName string Active bool PortalInfoCount uint32 PortalInformation []*ISCSI_PortalInfo }
MSiSCSI_PortalInfoClass WMI class
func GetMSiSCSIPortalInfoClass ¶
func GetMSiSCSIPortalInfoClass() (portals *MSiSCSI_PortalInfoClass, err error)
GetMSiSCSIPortalInfoClass enumerates this host's MSiSCSI_PortalInfoClass object
type STORAGE_BUS_TYPE ¶
type STORAGE_BUS_TYPE uint16
STORAGE_BUS_TYPE defines the supported bus types https://docs.microsoft.com/en-us/previous-versions/windows/hardware/drivers/ff566356(v=vs.85)
const ( BusTypeUnknown STORAGE_BUS_TYPE = 0 BusTypeScsi STORAGE_BUS_TYPE = 1 BusTypeAtapi STORAGE_BUS_TYPE = 2 BusTypeAta STORAGE_BUS_TYPE = 3 BusType1394 STORAGE_BUS_TYPE = 4 BusTypeSsa STORAGE_BUS_TYPE = 5 BusTypeFibre STORAGE_BUS_TYPE = 6 BusTypeUsb STORAGE_BUS_TYPE = 7 BusTypeRAID STORAGE_BUS_TYPE = 8 BusTypeiScsi STORAGE_BUS_TYPE = 9 BusTypeSas STORAGE_BUS_TYPE = 10 BusTypeSata STORAGE_BUS_TYPE = 11 BusTypeSd STORAGE_BUS_TYPE = 12 BusTypeMmc STORAGE_BUS_TYPE = 13 BusTypeVirtual STORAGE_BUS_TYPE = 14 BusTypeFileBackedVirtual STORAGE_BUS_TYPE = 15 BusTypeSpaces STORAGE_BUS_TYPE = 16 BusTypeNvme STORAGE_BUS_TYPE = 17 BusTypeSCM STORAGE_BUS_TYPE = 18 BusTypeUfs STORAGE_BUS_TYPE = 19 BusTypeMax STORAGE_BUS_TYPE = 20 BusTypeMaxReserved STORAGE_BUS_TYPE = 0x7F )
type WBEM_CONDITION_FLAG_TYPE ¶
type WBEM_CONDITION_FLAG_TYPE uint32
WBEM_CONDITION_FLAG_TYPE contains flags used with the IWbemClassObject::GetNames method.
const ( WBEM_FLAG_ALWAYS WBEM_CONDITION_FLAG_TYPE = 0 WBEM_FLAG_ONLY_IF_TRUE WBEM_CONDITION_FLAG_TYPE = 0x1 WBEM_FLAG_ONLY_IF_FALSE WBEM_CONDITION_FLAG_TYPE = 0x2 WBEM_FLAG_ONLY_IF_IDENTICAL WBEM_CONDITION_FLAG_TYPE = 0x3 WBEM_MASK_PRIMARY_CONDITION WBEM_CONDITION_FLAG_TYPE = 0x3 WBEM_FLAG_KEYS_ONLY WBEM_CONDITION_FLAG_TYPE = 0x4 WBEM_FLAG_REFS_ONLY WBEM_CONDITION_FLAG_TYPE = 0x8 WBEM_FLAG_LOCAL_ONLY WBEM_CONDITION_FLAG_TYPE = 0x10 WBEM_FLAG_PROPAGATED_ONLY WBEM_CONDITION_FLAG_TYPE = 0x20 WBEM_FLAG_SYSTEM_ONLY WBEM_CONDITION_FLAG_TYPE = 0x30 WBEM_FLAG_NONSYSTEM_ONLY WBEM_CONDITION_FLAG_TYPE = 0x40 WBEM_MASK_CONDITION_ORIGIN WBEM_CONDITION_FLAG_TYPE = 0x70 WBEM_FLAG_CLASS_OVERRIDES_ONLY WBEM_CONDITION_FLAG_TYPE = 0x100 WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES WBEM_CONDITION_FLAG_TYPE = 0x200 WBEM_MASK_CLASS_CONDITION WBEM_CONDITION_FLAG_TYPE = 0x300 )
type WBEM_FLAVOR_TYPE ¶
type WBEM_FLAVOR_TYPE uint32
WBEM_FLAVOR_TYPE lists qualifier flavors
const ( WBEM_FLAVOR_DONT_PROPAGATE WBEM_FLAVOR_TYPE = 0 WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE WBEM_FLAVOR_TYPE = 0x1 WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS WBEM_FLAVOR_TYPE = 0x2 WBEM_FLAVOR_MASK_PROPAGATION WBEM_FLAVOR_TYPE = 0xf WBEM_FLAVOR_OVERRIDABLE WBEM_FLAVOR_TYPE = 0 WBEM_FLAVOR_NOT_OVERRIDABLE WBEM_FLAVOR_TYPE = 0x10 WBEM_FLAVOR_MASK_PERMISSIONS WBEM_FLAVOR_TYPE = 0x10 WBEM_FLAVOR_ORIGIN_LOCAL WBEM_FLAVOR_TYPE = 0 WBEM_FLAVOR_ORIGIN_PROPAGATED WBEM_FLAVOR_TYPE = 0x20 WBEM_FLAVOR_ORIGIN_SYSTEM WBEM_FLAVOR_TYPE = 0x40 WBEM_FLAVOR_MASK_ORIGIN WBEM_FLAVOR_TYPE = 0x60 WBEM_FLAVOR_NOT_AMENDED WBEM_FLAVOR_TYPE = 0 WBEM_FLAVOR_AMENDED WBEM_FLAVOR_TYPE = 0x80 WBEM_FLAVOR_MASK_AMENDED WBEM_FLAVOR_TYPE = 0x80 )
type WBEM_GENERIC_FLAG_TYPE ¶
type WBEM_GENERIC_FLAG_TYPE uint32
WBEM_GENERIC_FLAG_TYPE enumeration is used to indicate and update the type of the flag
const ( WBEM_FLAG_RETURN_WBEM_COMPLETE WBEM_GENERIC_FLAG_TYPE = 0x0 WBEM_FLAG_RETURN_IMMEDIATELY WBEM_GENERIC_FLAG_TYPE = 0x10 WBEM_FLAG_FORWARD_ONLY WBEM_GENERIC_FLAG_TYPE = 0x20 WBEM_FLAG_NO_ERROR_OBJECT WBEM_GENERIC_FLAG_TYPE = 0x40 WBEM_FLAG_SEND_STATUS WBEM_GENERIC_FLAG_TYPE = 0x80 WBEM_FLAG_ENSURE_LOCATABLE WBEM_GENERIC_FLAG_TYPE = 0x100 WBEM_FLAG_DIRECT_READ WBEM_GENERIC_FLAG_TYPE = 0x200 WBEM_MASK_RESERVED_FLAGS WBEM_GENERIC_FLAG_TYPE = 0x1F000 WBEM_FLAG_USE_AMENDED_QUALIFIERS WBEM_GENERIC_FLAG_TYPE = 0x20000 WBEM_FLAG_STRONG_VALIDATION WBEM_GENERIC_FLAG_TYPE = 0x100000 )
type WBEM_TIMEOUT_TYPE ¶
type WBEM_TIMEOUT_TYPE uint32
WBEM_TIMEOUT_TYPE contains values used to specify the timeout for the IEnumWbemClassObject::Next method
const ( WBEM_NO_WAIT WBEM_TIMEOUT_TYPE = 0 WBEM_INFINITE WBEM_TIMEOUT_TYPE = 0xFFFFFFFF )
type Win32_DiskDrive ¶
type Win32_DiskDrive struct { Availability uint16 BytesPerSector uint32 Capabilities []uint16 CapabilityDescriptions []string Caption string CompressionMethod string ConfigManagerErrorCode uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF ConfigManagerUserConfig bool CreationClassName string DefaultBlockSize uint64 Description string DeviceID string ErrorCleared bool ErrorDescription string ErrorMethodology string FirmwareRevision string Index uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF InstallDate string InterfaceType string LastErrorCode uint32 Manufacturer string MaxBlockSize uint64 MaxMediaSize uint64 MediaLoaded bool MediaType string MinBlockSize uint64 Model string Name string NeedsCleaning bool NumberOfMediaSupported uint32 Partitions uint32 PNPDeviceID string PowerManagementCapabilities []uint16 PowerManagementSupported bool SCSIBus uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF SCSILogicalUnit uint16 `wmi:",nil=0xFFFF"` // If property not available, use 0xFFFF SCSIPort uint16 `wmi:",nil=0xFFFF"` // If property not available, use 0xFFFF SCSITargetId uint16 `wmi:",nil=0xFFFF"` // If property not available, use 0xFFFF SectorsPerTrack uint32 SerialNumber string Signature uint32 Size uint64 Status string StatusInfo uint16 SystemCreationClassName string SystemName string TotalCylinders uint64 TotalHeads uint32 TotalSectors uint64 TotalTracks uint64 TracksPerCylinder uint32 }
Win32_DiskDrive WMI class
func GetNimbleWin32DiskDrive ¶
func GetNimbleWin32DiskDrive(serialNumber string) ([]*Win32_DiskDrive, error)
GetNimbleWin32DiskDrive enumerates only Nimble volumes
func GetWin32DiskDrive ¶
func GetWin32DiskDrive(whereOperator string) (diskDevices []*Win32_DiskDrive, err error)
GetWin32DiskDrive enumerates this host's Win32_DiskDrive objects
type Win32_DiskPartition ¶
type Win32_DiskPartition struct { Access uint16 Availability uint16 BlockSize uint64 Bootable bool BootPartition bool Caption string ConfigManagerErrorCode uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF ConfigManagerUserConfig bool CreationClassName string Description string DeviceID string DiskIndex uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF ErrorCleared bool ErrorDescription string ErrorMethodology string HiddenSectors uint32 Index uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF InstallDate string LastErrorCode uint32 Name string NumberOfBlocks uint64 PNPDeviceID string PowerManagementCapabilities []uint16 PowerManagementSupported bool PrimaryPartition bool Purpose string RewritePartition bool Size uint64 StartingOffset uint64 Status string StatusInfo uint16 SystemCreationClassName string SystemName string Type string }
Win32_DiskPartition WMI class
func GetWin32DiskPartition ¶
func GetWin32DiskPartition(whereOperator string) (diskPartitions []*Win32_DiskPartition, err error)
GetWin32DiskPartition enumerates this host's Win32_DiskPartition objects
func GetWin32DiskPartitionForDiskIndex ¶
func GetWin32DiskPartitionForDiskIndex(diskIndex int) ([]*Win32_DiskPartition, error)
GetWin32DiskPartitionForDiskIndex enumerates only the given disk's partitions
type Win32_OperatingSystem ¶
type Win32_OperatingSystem struct { BootDevice string BuildNumber string BuildType string Caption string CodeSet string CountryCode string CreationClassName string CSCreationClassName string CSDVersion string CSName string CurrentTimeZone int16 `wmi:",nil=0x7FFF"` // If property not available, use 0x7FFF DataExecutionPrevention_Available bool DataExecutionPrevention_32BitApplications bool DataExecutionPrevention_Drivers bool DataExecutionPrevention_SupportPolicy uint8 Debug bool Description string Distributed bool EncryptionLevel uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF ForegroundApplicationBoost uint8 `wmi:",nil=0xFF"` // If property not available, use 0xFF FreePhysicalMemory uint64 FreeSpaceInPagingFiles uint64 FreeVirtualMemory uint64 InstallDate string LargeSystemCache uint32 LastBootUpTime string LocalDateTime string Locale string Manufacturer string MaxNumberOfProcesses uint32 MaxProcessMemorySize uint64 MUILanguages []string Name string NumberOfLicensedUsers uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF NumberOfProcesses uint32 NumberOfUsers uint32 OperatingSystemSKU uint32 Organization string OSArchitecture string OSLanguage uint32 OSProductSuite uint32 OSType uint16 OtherTypeDescription string PAEEnabled bool PlusProductID string PlusVersionNumber string PortableOperatingSystem bool Primary bool ProductType uint32 RegisteredUser string SerialNumber string ServicePackMajorVersion uint16 ServicePackMinorVersion uint16 SizeStoredInPagingFiles uint64 Status string SuiteMask uint32 SystemDevice string SystemDirectory string SystemDrive string TotalSwapSpaceSize uint64 TotalVirtualMemorySize uint64 TotalVisibleMemorySize uint64 Version string WindowsDirectory string }
Win32_OperatingSystem WMI class
func GetWin32OperatingSystem ¶
func GetWin32OperatingSystem() (operatingSystem *Win32_OperatingSystem, err error)
GetWin32OperatingSystem enumerates this host's Win32_OperatingSystem object
type Win32_Volume ¶
type Win32_Volume struct { Access uint16 Automount bool Availability uint16 BlockSize uint64 BootVolume bool Capacity uint64 Caption string Compressed bool ConfigManagerErrorCode uint32 `wmi:",nil=0xFFFFFFFF"` // If property not available, use 0xFFFFFFFF ConfigManagerUserConfig bool CreationClassName string Description string DeviceID string DirtyBitSet bool DriveLetter string DriveType uint32 ErrorCleared bool ErrorDescription string ErrorMethodology string FileSystem string FreeSpace uint64 IndexingEnabled bool InstallDate string Label string LastErrorCode uint32 MaximumFileNameLength uint32 Name string NumberOfBlocks uint64 PageFilePresent bool PNPDeviceID string PowerManagementCapabilities []uint16 PowerManagementSupported bool Purpose string QuotasEnabled bool QuotasIncomplete bool QuotasRebuilding bool SerialNumber uint32 Status string StatusInfo uint16 SupportsDiskQuotas bool SupportsFileBasedCompression bool SystemCreationClassName string SystemName string SystemVolume bool }
Win32_Volume WMI class
func GetWin32Volume ¶
func GetWin32Volume() (volumes []*Win32_Volume, err error)
GetWin32Volume enumerates this host's Win32_Volume objects