TestimoX

API Reference

Class

HybridWmiClient

Namespace ComputerX.Wmi
Assembly ComputerX
Implements
Modifiers sealed
Attributes
SupportedOSPlatform("windows")

Hybrid client that prefers CIM where available but falls back to classic WMI.

Inheritance

  • Object
  • HybridWmiClient

Constructors

HybridWmiClient 2 overloads
public HybridWmiClient() #

Creates a hybrid client with default implementations (CIM first, WMI fallback).

public HybridWmiClient(IWmiClient cimClient, IWmiClient wmiClient) #

Creates a hybrid client with explicit inner clients.

Parameters

cimClient ComputerX.Wmi.IWmiClient requiredposition: 0
Client used for CIM queries.
wmiClient ComputerX.Wmi.IWmiClient requiredposition: 1
Client used for classic WMI queries.

Methods

Query 2 overloads
public virtual IReadOnlyList<WmiRow> Query(String computer, String namespace, String query, WmiOptions options, CancellationToken ct = null) #
Returns: IReadOnlyList<WmiRow>

Executes a query preferring CIM first and falling back to WMI on failure.

Parameters

computer System.String requiredposition: 0
Target computer name or IP.
namespace System.String requiredposition: 1
Target namespace (e.g., root\\cimv2).
query System.String requiredposition: 2
WQL query text.
timeout System.Nullable{System.TimeSpan} = null requiredposition: 3
Optional per-query timeout.
ct System.Threading.CancellationToken = null optionalposition: 4
Cancellation token.
Query(System.String computer, System.String namespace, System.String query, ComputerX.Wmi.WmiOptions options, System.Threading.CancellationToken ct) #

Executes a query with options, honoring PreferCimFirst for initial transport.

Parameters

computer System.String required
Target computer name or IP.
namespace System.String required
Target namespace (e.g., root\\cimv2).
query System.String required
WQL query text.
options ComputerX.Wmi.WmiOptions required
Query options such as credentials and timeout.
ct System.Threading.CancellationToken required
Cancellation token.
QueryAsync 2 overloads
public virtual async Task<IReadOnlyList<WmiRow>> QueryAsync(String computer, String namespace, String query, WmiOptions options, CancellationToken ct = null) #
Returns: Task<IReadOnlyList<WmiRow>>

Executes a query asynchronously preferring CIM first and falling back to WMI on failure.

Parameters

computer System.String requiredposition: 0
Target computer name or IP.
namespace System.String requiredposition: 1
Target namespace (e.g., root\\cimv2).
query System.String requiredposition: 2
WQL query text.
timeout System.Nullable{System.TimeSpan} = null requiredposition: 3
Optional per-query timeout.
ct System.Threading.CancellationToken = null optionalposition: 4
Cancellation token.
QueryAsync(System.String computer, System.String namespace, System.String query, ComputerX.Wmi.WmiOptions options, System.Threading.CancellationToken ct) #

Executes a query asynchronously with options, honoring PreferCimFirst for initial transport.

Parameters

computer System.String required
Target computer name or IP.
namespace System.String required
Target namespace (e.g., root\\cimv2).
query System.String required
WQL query text.
options ComputerX.Wmi.WmiOptions required
Query options such as credentials and timeout.
ct System.Threading.CancellationToken required
Cancellation token.
public virtual T QuerySingle<T>(String computer, String namespace, String query, Func<WmiRow, T> projector, WmiOptions options, CancellationToken ct = null) #
Returns: T

Type Parameters

T

Parameters

computer String requiredposition: 0
namespace String requiredposition: 1
query String requiredposition: 2
projector Func<WmiRow, T> requiredposition: 3
timeout Nullable<TimeSpan> = null requiredposition: 4
ct CancellationToken = null optionalposition: 5
public virtual async Task<T> QuerySingleAsync<T>(String computer, String namespace, String query, Func<WmiRow, T> projector, WmiOptions options, CancellationToken ct = null) #
Returns: Task<T>

Type Parameters

T

Parameters

computer String requiredposition: 0
namespace String requiredposition: 1
query String requiredposition: 2
projector Func<WmiRow, T> requiredposition: 3
timeout Nullable<TimeSpan> = null requiredposition: 4
ct CancellationToken = null optionalposition: 5
QuerySingleAsync``1 2 overloads
QuerySingleAsync``1(System.String computer, System.String namespace, System.String query, System.Func{ComputerX.Wmi.WmiRow,``0} projector, System.Nullable{System.TimeSpan} timeout, System.Threading.CancellationToken ct) #

Executes a query asynchronously and projects the first row using a hybrid CIM→WMI approach.

Type Parameters

T
Result type produced by the projector.

Parameters

computer System.String required
Target computer name or IP.
namespace System.String required
Target namespace (e.g., root\\cimv2).
query System.String required
WQL query text.
projector System.Func{ComputerX.Wmi.WmiRow,``0} required
Projection function for the first row.
timeout System.Nullable{System.TimeSpan} required
Optional per-query timeout.
ct System.Threading.CancellationToken required
Cancellation token.
QuerySingleAsync``1(System.String computer, System.String namespace, System.String query, System.Func{ComputerX.Wmi.WmiRow,``0} projector, ComputerX.Wmi.WmiOptions options, System.Threading.CancellationToken ct) #

Executes a query asynchronously with options and projects the first row using a hybrid approach.

Type Parameters

T
Result type produced by the projector.

Parameters

computer System.String required
Target computer name or IP.
namespace System.String required
Target namespace (e.g., root\\cimv2).
query System.String required
WQL query text.
projector System.Func{ComputerX.Wmi.WmiRow,``0} required
Projection function for the first row.
options ComputerX.Wmi.WmiOptions required
Query options such as credentials and timeout.
ct System.Threading.CancellationToken required
Cancellation token.
QuerySingle``1 2 overloads
QuerySingle``1(System.String computer, System.String namespace, System.String query, System.Func{ComputerX.Wmi.WmiRow,``0} projector, System.Nullable{System.TimeSpan} timeout, System.Threading.CancellationToken ct) #

Executes a query and projects the first row using a hybrid CIM→WMI approach.

Type Parameters

T
Result type produced by the projector.

Parameters

computer System.String required
Target computer name or IP.
namespace System.String required
Target namespace (e.g., root\\cimv2).
query System.String required
WQL query text.
projector System.Func{ComputerX.Wmi.WmiRow,``0} required
Projection function for the first row.
timeout System.Nullable{System.TimeSpan} required
Optional per-query timeout.
ct System.Threading.CancellationToken required
Cancellation token.
QuerySingle``1(System.String computer, System.String namespace, System.String query, System.Func{ComputerX.Wmi.WmiRow,``0} projector, ComputerX.Wmi.WmiOptions options, System.Threading.CancellationToken ct) #

Executes a query with options and projects the first row using a hybrid approach.

Type Parameters

T
Result type produced by the projector.

Parameters

computer System.String required
Target computer name or IP.
namespace System.String required
Target namespace (e.g., root\\cimv2).
query System.String required
WQL query text.
projector System.Func{ComputerX.Wmi.WmiRow,``0} required
Projection function for the first row.
options ComputerX.Wmi.WmiOptions required
Query options such as credentials and timeout.
ct System.Threading.CancellationToken required
Cancellation token.