MI Interfaces

WMI provides the following interfaces.

In this section

MI_Application

Represents the initialized infrastructure.

MI_Application_Close

Deinitializes the management infrastructure client API that was initialized through a call to MI_Application_Initialize.

MI_Application_Initialize

Initializes an application so that it can make Management Infrastructure (MI) client API calls.

MI_Application_NewClass

Creates an MI_Class from an MI_ClassDecl structure.

MI_Application_NewDeserializer

Creates a deserializer object that can then be used to convert a serialized object back into a class or instance.

MI_Application_NewDestinationOptions

Creates an MI_DestinationOptions object that can be used with the MI_Application_NewSession function.

MI_Application_NewHostedProvider

Registers a hosted provider with the WMI engine on the local machine.

MI_Application_NewInstance

Creates a new MI_Instance object to be passed to various MI operation APIs that require instances.

MI_Application_NewInstanceFromClass

Creates a new MI_Instance object based on a class object.

MI_Application_NewOperationOptions

Creates an MI_OperationOptions object that can be used with the operation functions on the MI_Session object.

MI_Application_NewParameterSet

Creates a new parameter set.

MI_Application_NewSerializer

Retrieves a serializer object that can then be used to serialize instances and classes into various different formats.

MI_Application_NewSession

Creates a session used to share connections for a set of operations to a single destination.

MI_Application_NewSubscriptionDeliveryOptions

Creates an MI_SubscriptionDeliveryOptions object that represents the configuration needed to carry out subscribe operations over certain protocols.

MI_CancelCallback

Cancels an operation.

MI_Class

Represents the schema of an instance.

MI_Class_Clone

Clones an MI_Class object.

MI_Class_Delete

Deletes an MI_Class object.

MI_Class_GetClassName

Gets the class name of the specified class.

MI_Class_GetClassQualifierSet

Gets the qualifier set that is associated with the specified class object.

MI_Class_GetElement

Gets all details of a specified named element from a class.

MI_Class_GetElementAt

Gets details of a class element based on the element index.

MI_Class_GetElementCount

Gets the number of elements in a class.

MI_Class_GetMethod

Gets details of a method based on the method name.

MI_Class_GetMethodAt

Gets details of a method based on the method index.

MI_Class_GetMethodCount

Gets the number of methods in the class.

MI_Class_GetNameSpace

Gets the namespace name of the specified class.

MI_Class_GetParentClass

Gets the parent class for the specified class.

MI_Class_GetParentClassName

Gets the parent class name of the specified class.

MI_Class_GetServerName

Gets the name of the server from the specified class.

MI_Context_Canceled

Determines whether the operation has been canceled. This function is reserved; instead, use the MI_Context_RegisterCancel function.

MI_Context_ConstructInstance

Initializes an MI class instance on the stack or as a member of a structure.

MI_Context_ConstructParameters

A provider calls this function to initialize a parameter's instance.

MI_Context_GetCustomOption

Retrieves an option set by the client.

MI_Context_GetCustomOptionAt

Retrieves an option at a particular index that was set by the client.

MI_Context_GetCustomOptionCount

Gets the number of custom options available to the provider.

MI_Context_GetLocale

Retrieves the requested locale information that the client specified for the operation.

MI_Context_GetLocalSession

Gets the local session (MI_Session) which allows the provider to perform CIM operations against the local server hosting the provider.

MI_Context_GetNumberOption

Gets the numeric option that the client sets, based on the operation name.

MI_Context_GetStringOption

Gets the string option that the client sets, based on the operation name.

MI_Context_NewDynamicInstance

Creates a new dynamic instance (weakly typed instance without a class declaration) of a class.

MI_Context_NewInstance

Creates a new instance of a class given a class declaration.

MI_Context_NewParameters

Creates a new instance of a method given a method declaration.

MI_Context_PostCimError

Posts a return code and an error message (in the form of a CIM_Error object) to the server in response to a request.

MI_Context_PostError

Providers call this function to post a return code to the client in response to a request.

MI_Context_PostIndication

Posts an indication result to the server in response to a subscribe operation request.

MI_Context_PostInstance

Posts an instance back to the client (through the server) in response to a request.

MI_Context_PostResult

Posts the final terminating result code back to the client (through the server) in response to a request.

MI_Context_PromptUser

Sends a prompt message to the client querying whether to continue the operation or cancel it.

MI_Context_RefuseUnload

Tells the provider infrastructure not to unload the provider.

MI_Context_RegisterCancel

Registers a callback that is invoked when the operation is canceled.

MI_Context_RequestUnload

Requests to unload the module or the provider.

MI_Context_SetStringOption

Sets a context-specific option.

MI_Context_ShouldContinue

Queries the client to determine if an operation should continue.

MI_Context_ShouldProcess

Queries the client to determine if an operation should continue.

MI_Context_WriteCimError

Sends a CIM (informative) error instance to the client.

MI_Context_WriteDebug

Sends a debug message to the client.

MI_Context_WriteError

Sends an error code and error message to the client.

MI_Context_WriteMessage

Sends an operational message to the client.

MI_Context_WriteProgress

Sends a progress message to the client.

MI_Context_WriteStreamParameter

Sends streamed parameter data to the client for a method invocation.

MI_Context_WriteVerbose

Writes a verbose message to the client.

MI_Context_WriteWarning

Writes a warning message to the client.

MI_Deserializer_Class_GetClassName

Gets the class name from a serialized class buffer.

MI_Deserializer_Class_GetParentClassName

Gets the parent class name from a serialized class buffer.

MI_Deserializer_ClassObjectNeeded

Used to provide requested class object during deserialization.

MI_Deserializer_Close

Closes a deserializer object and deletes any associated memory that is held within the deserializer.

MI_Deserializer_DeserializeClass

Deserializes a serialized buffer into an MI_Class object.

MI_Deserializer_DeserializeInstance

Deserializes a serialized buffer into a MI_Instance object.

MI_Deserializer_Instance_GetClassName

Gets the class name associated with the serialized instance.

MI_DestinationOptions_AddDestinationCredentials

Sets the credentials for talking to the destination.

MI_DestinationOptions_AddProxyCredentials

Adds credentials to authenticate against a proxy.

MI_DestinationOptions_Clone

Creates a copy of a MI_DestinationOptions structure.

MI_DestinationOptions_Delete

Deletes the destination options structure created by using the MI_Application_NewDestinationOptions or MI_DestinationOptions_Clone function.

MI_DestinationOptions_GetCertCACheck

Gets the server certificate CA check value.

MI_DestinationOptions_GetCertCNCheck

Gets the server certificate CN check value.

MI_DestinationOptions_GetCertRevocationCheck

Gets the server certificate's revocation check value.

MI_DestinationOptions_GetCredentialsAt

Get the credentials at the specified index.

MI_DestinationOptions_GetCredentialsCount

Gets the number of previously added credentials.

MI_DestinationOptions_GetCredentialsPasswordAt

Gets a credentials password based on a specified index.

MI_DestinationOptions_GetDataLocale

Gets the data locale (as opposed to UI locale) set by the user.

MI_DestinationOptions_GetDestinationPort

Gets the default port for transport.

MI_DestinationOptions_GetEncodePortInSPN

Gets the port's Service Principal Name encoding value.

MI_DestinationOptions_GetHttpUrlPrefix

Gets the HTTP URL prefix.

MI_DestinationOptions_GetImpersonationType

Gets the impersonation type.

MI_DestinationOptions_GetMaxEnvelopeSize

Gets the maximum size of the packet sent to a server or received by the client from the server.

MI_DestinationOptions_GetNumber

Gets a previously added custom number option.

MI_DestinationOptions_GetOption

Gets a previously added option value based on the option name.

MI_DestinationOptions_GetOptionAt

Gets a previously added option value based on the specified index.

MI_DestinationOptions_GetOptionCount

Gets the number of options previously added.

MI_DestinationOptions_GetPacketEncoding

Gets the previously set packet encoding setting.

MI_DestinationOptions_GetPacketIntegrity

Gets the packet integrity setting.

MI_DestinationOptions_GetPacketPrivacy

Gets the packet privacy (encryption) setting.

MI_DestinationOptions_GetProxyType

Gets the proxy type set by the user.

MI_DestinationOptions_GetString

Gets a previously added custom string option.

MI_DestinationOptions_GetTimeout

Gets the default options timeout value.

MI_DestinationOptions_GetTransport

Gets the transport setting that the client added.

MI_DestinationOptions_GetUILocale

Gets the user interface locale set by the user.

MI_DestinationOptions_SetCertCACheck

Enables or disables the CA certificate check for an SSL transport.

MI_DestinationOptions_SetCertCNCheck

Enables or disables the certificate CN check when an SSL transport is used.

MI_DestinationOptions_SetCertRevocationCheck

Enables or disables the certificate revocation when communicating over SSL.

MI_DestinationOptions_SetDataLocale

Sets the default data locale to use for operations.

MI_DestinationOptions_SetDestinationPort

Set the port to use to communicate to the destination.

MI_DestinationOptions_SetEncodePortInSPN

Enables or disables the encoding of the port number in the Service Principal Name when establishing a connection to a remote machine.

MI_DestinationOptions_SetHttpUrlPrefix

Set the default HTTP URL prefix for transports that go over HTTP and HTTPS.

MI_DestinationOptions_SetImpersonationType

Sets the impersonation type.

MI_DestinationOptions_SetMaxEnvelopeSize

Sets the maximum packet size for transports.

MI_DestinationOptions_SetNumber

Sets a custom numeric option value.

MI_DestinationOptions_SetPacketEncoding

Sets the encoding mechanism for certain protocol handles.

MI_DestinationOptions_SetPacketIntegrity

Enables or disables packet integrity (signing) of a protocol connection.

MI_DestinationOptions_SetPacketPrivacy

Enables or disables packet privacy (encryption).

MI_DestinationOptions_SetProxyType

Sets the type of proxy settings to use when communicating to a destination through a proxy.

MI_DestinationOptions_SetString

Sets a custom string option.

MI_DestinationOptions_SetTimeout

Sets the default options timeout value.

MI_DestinationOptions_SetTransport

Sets the transport to be used to communicate with the destination machine.

MI_DestinationOptions_SetUILocale

Sets the default UI locale for operations.

MI_Filter_Evaluate

The provider calls this function to evaluate an instance against a given filter.

MI_Filter_GetExpression

Gets the filter language and expression.

MI_HostedProvider_Close

Close a hosted provider handle that was returned from MI_Application_NewHostedProvider.

MI_HostedProvider_GetApplication

Gets the top-level application handle from which the hosted provider handle was created.

MI_Instance_AddElement

Adds a new property to a dynamic instance (supported only by dynamic instances whose schema may be extended at run time).

MI_Instance_ClearElement

Clears the value of the named element (CIM property) and sets it to NULL.

MI_Instance_ClearElementAt

Clears the value of the element (CIM property) at the specified index and sets it to NULL.

MI_Instance_Clone

Creates a copy of the specified instance on the heap.

MI_Instance_Delete

Deletes an instance that was created on the heap or cloned from another instance.

MI_Instance_Destruct

Deletes an instance that was created on the stack or as a member of a structure.

MI_Instance_GetClass

Gets the MI_Class associated with an instance.

MI_Instance_GetClassName

Gets the class name of the specified instance.

MI_Instance_GetElement

Gets the value of the named element (CIM property).

MI_Instance_GetElementAt

Gets the value of the element (CIM property) at the specified index.

MI_Instance_GetElementCount

Gets the number of elements in an instance.

MI_Instance_GetNameSpace

Gets the namespace name of the specified instance.

MI_Instance_GetServerName

Gets the server name from the specified instance.

MI_Instance_IsA

Determines if the instance self is an instance of the class given by classDecl.

MI_Instance_Normalize

Parses an MI_Instance_ExFT structure and then retrieves the MI_InstanceFT function table.

MI_Instance_SetElement

Set the value of the element with the given name in the given instance.

MI_Instance_SetElementAt

Set the value of the element at the given index of an instance.

MI_Instance_SetNameSpace

Sets the namespace name of the specified instance.

MI_Instance_SetServerName

Sets the server name of the specified instance.

MI_MethodDecl_Invoke

Calls the provider implementation of a CIM method represented by a MI_MethodDecl structure.

MI_Module_Load

Loads the main provider module.

MI_Module_Unload

Unloads the main provider module.

MI_Operation_Cancel

Cancels a running operation.

MI_Operation_Close

Closes an operation handle.

MI_Operation_GetClass

Gets a synchronous result for a class operation.

MI_Operation_GetIndication

Get the synchronous results from a subscription.

MI_Operation_GetInstance

Gets a synchronous result for an instance operation.

MI_Operation_GetSession

Gets the session associated with an operation.

MI_OperationCallback_Class

Optional instance callback to get classes and class options from an operation.

MI_OperationCallback_Indication

Optional instance callback to get indication (subscribe) results from an operation.

MI_OperationCallback_Instance

Optional instance callback to get asynchronous results from an operation.

MI_OperationCallback_PromptUser

Optional callback to handle prompt user requests from the server.

MI_OperationCallback_StreamedParameter

Optional callback to get streamed parameter results from method invocation operations.

MI_OperationCallback_WriteError

Optional callback to receive write error messages from the server.

MI_OperationCallback_WriteMessage

Optional callback to receive write messages from the server.

MI_OperationCallback_WriteProgress

Optional callback to receive progress reports from the server.

MI_OperationOptions_Clone

Creates a copy of a MI_OperationOptions structure.

MI_OperationOptions_Delete

Deletes an option set and its associated memory.

MI_OperationOptions_DisableChannel

Uses MI_Context_WriteMessage to disable logging to the specified channel.

MI_OperationOptions_EnableChannel

Uses MI_Context_WriteMessage to enable logging to the specified channel.

MI_OperationOptions_GetEnabledChannels

Gets the list of previously enabled channels.

MI_OperationOptions_GetNumber

Gets a previously added custom number option.

MI_OperationOptions_GetOption

Gets a previously added option value based on the option name.

MI_OperationOptions_GetOptionAt

Gets a previously added option value based on the specified index.

MI_OperationOptions_GetOptionCount

Gets the number of options previously added.

MI_OperationOptions_GetPromptUserMode

Gets the value that tells the server how to respond to a provider's call to MI_Context_PromptUser.

MI_OperationOptions_GetPromptUserRegularMode

Gets the value that tells the server how to respond to a provider's call to MI_Context_PromptUser.

MI_OperationOptions_GetProviderArchitecture

Gets the provider architecture for an operation.

MI_OperationOptions_GetResourceUri

Gets the resource URI being used for an operation.

MI_OperationOptions_GetResourceUriPrefix

Gets the resource URI prefix being used for an operation.

MI_OperationOptions_GetString

Gets a custom string option.

MI_OperationOptions_GetTimeout

Gets the operation timeout value.

MI_OperationOptions_GetUseMachineID

Gets the value that indicates whether to use machine identification information in the operation request.

MI_OperationOptions_GetWriteErrorMode

Sets the error reporting mode.

MI_OperationOptions_SetCustomOption

Sets a custom option for the operation.

MI_OperationOptions_SetNumber

Sets a custom number option value.

MI_OperationOptions_SetPromptUserMode

Sets the value that tells the server how to respond to a provider's call to the MI_Context_PromptUser function.

MI_OperationOptions_SetPromptUserRegularMode

Sets the value that tells the server how to respond to a provider's call to the MI_Context_PromptUser function.

MI_OperationOptions_SetProviderArchitecture

Sets the provider architecture for an operation.

MI_OperationOptions_SetResourceUri

Sets the resource URI to use for an operation.

MI_OperationOptions_SetResourceUriPrefix

Sets the resource URI prefix to use for an operation.

MI_OperationOptions_SetString

Sets a custom string option.

MI_OperationOptions_SetTimeout

Sets the operation timeout for a specific operation.

MI_OperationOptions_SetUseMachineID

Enables or disables the sending of machine identification information in the operation request.

MI_OperationOptions_SetWriteErrorMode

Sets the error reporting mode.

MI_ParameterSet_GetMethodReturnType

Gets the method return type and qualifier set for a specified parameter set.

MI_ParameterSet_GetParameter

Gets a method's parameter information based on a parameter name.

MI_ParameterSet_GetParameterAt

Gets a method's parameter information at the specified index.

MI_ParameterSet_GetParameterCount

Gets the number of parameters in a method's parameter set.

MI_PropertySet_AddElement

Adds a name to the property list.

MI_PropertySet_Clear

Removes all names from the property list. Afterwards, the count is zero. This allows property lists to be reused (without having to be destructed and reconstructed).

MI_PropertySet_Clone

Creates a copy of the specified property set on the heap.

MI_PropertySet_ContainsElement

Determines whether the property list contains the specified property name.

MI_PropertySet_Delete

Deletes the specified property list that was constructed on the heap.

MI_PropertySet_Destruct

Deletes the specified property list that was constructed on the stack.

MI_PropertySet_GetElementAt

Gets the element of a property set at the specified index.

MI_PropertySet_GetElementCount

Gets the number of elements in the specified property set.

MI_ProviderFT_AssociatorInstances

Finds all CIM instances associated with a specified CIM instance.

MI_ProviderFT_CreateInstance

Create a single CIM instance in the target namespace.

MI_ProviderFT_DeleteInstance

Delete a single CIM instance from the target namespace.

MI_ProviderFT_DisableIndications

Disable indications delivery from the provider.

MI_ProviderFT_EnableIndications

Enable indications delivery from the provider.

MI_ProviderFT_EnumerateInstances

Enumerate instances of a CIM class in the target namespace.

MI_ProviderFT_GetInstance

Get a single CIM instance from the provider.

MI_ProviderFT_Invoke

Calls a CIM extrinsic method on behalf of a requestor.

MI_ProviderFT_Load

Initialize the provider.

MI_ProviderFT_ModifyInstance

Modify an existing CIM instance in the target namespace. The instance must already exist.

MI_ProviderFT_ReferenceInstances

Enumerate association instances that refer to a particular CIM instance.

MI_ProviderFT_Subscribe

Subscribe to indications.

MI_ProviderFT_Unload

TBD

MI_ProviderFT_Unsubscribe

unsubscribe from indications.

MI_QualifierSet_GetQualifier

Gets the qualifier information based on the given qualifier name.

MI_QualifierSet_GetQualifierAt

Gets a qualifier at the specified index.

MI_QualifierSet_GetQualifierCount

Gets the number of qualifiers in a qualifier set.

MI_Serializer_Close

Closes a serializer object and frees any internal memory associated with it.

MI_Serializer_SerializeClass

Serializes an MI_Class into a buffer in the format specified when the serializer was created. Options can be passed into the flags to control if the class and all its parent classes are serialized, or just the child-most class.

MI_Serializer_SerializeInstance

Serializes an MI_Instance into a buffer in the format specified when the serializer was created. Options can be passed into the flags to control if the class is also serialized into the buffer as well as the instance.

MI_Server_GetSystemName

Gets the system name for the server.

MI_Server_GetVersion

Gets the value of the MI_VERSION macro used when generating the provider.

MI_Session_AssociatorInstances

Finds instances that are associated with the specific key instance.

MI_Session_Close

Closes a session and releases all associated memory.

MI_Session_CreateInstance

Creates an instance on the server that the session represents.

MI_Session_DeleteInstance

Deletes an instance on the server represented by the session.

MI_Session_EnumerateClasses

Enumerates the classes of a specified session.

MI_Session_EnumerateInstances

Enumerate all instances (on the server represented by the session) that are associated with a class.

MI_Session_GetApplication

Gets the application handle that was used to create the specified session.

MI_Session_GetClass

Gets an MI_Class declaration based on a specific class name.

MI_Session_GetInstance

Gets the specified instance from the server represented by the session.

MI_Session_Invoke

Invokes a method in the provider.

MI_Session_ModifyInstance

Updates an existing instance in the server represented by the session.

MI_Session_QueryInstances

Queries for a set of instances based on a query expression.

MI_Session_ReferenceInstances

Finds the association object that references the specified key instance.

MI_Session_Subscribe

Subscribes to an indication on the server represented by the session.

MI_Session_TestConnection

Tests a connection by communicating with the server represented by the session to determine whether it is responding.

MI_SubscriptionDeliveryOptions_AddDeliveryCredentials

Sets a subscription option for delivery credentials to use when connecting back to the client to deliver a push indication result.

MI_SubscriptionDeliveryOptions_Clone

Creates a copy of a MI_SubscriptionDeliveryOptions structure.

MI_SubscriptionDeliveryOptions_Delete

Deletes the specified subscription delivery options structure.

MI_SubscriptionDeliveryOptions_GetBookmark

Gets a previously set subscription bookmark.

MI_SubscriptionDeliveryOptions_GetCredentialsAt

Gets a previously added credential based on a specified index.

MI_SubscriptionDeliveryOptions_GetCredentialsCount

Gets the number of previously added credentials.

MI_SubscriptionDeliveryOptions_GetCredentialsPasswordAt

Gets a previously added credential password based on a specified index.

MI_SubscriptionDeliveryOptions_GetDateTime

Gets a previously set datetime option.

MI_SubscriptionDeliveryOptions_GetDeliveryDestination

Gets the previously set subscription delivery destination.

MI_SubscriptionDeliveryOptions_GetDeliveryPortNumber

Gets the previously set delivery port number.

MI_SubscriptionDeliveryOptions_GetDeliveryRetryAttempts

Gets the number of delivery retry attempts.

MI_SubscriptionDeliveryOptions_GetDeliveryRetryInterval

Gets the delivery retry interval—the amount of time to wait before retrying the delivery.

MI_SubscriptionDeliveryOptions_GetExpirationTime

Gets the delivery expiration value (which can be expressed as a timestamp or an interval).

MI_SubscriptionDeliveryOptions_GetHeartbeatInterval

Gets the delivery heartbeat interval.

MI_SubscriptionDeliveryOptions_GetInterval

Gets the delivery interval for a specified option.

MI_SubscriptionDeliveryOptions_GetMaximumLatency

Gets the maximum amount of time that the server will hold a result before delivering it to the client.

MI_SubscriptionDeliveryOptions_GetNumber

Gets the value of the named numeric option.

MI_SubscriptionDeliveryOptions_GetOption

Gets the value of the named option.

MI_SubscriptionDeliveryOptions_GetOptionAt

Gets the option at the specified index.

MI_SubscriptionDeliveryOptions_GetOptionCount

Gets the number of previously set options.

MI_SubscriptionDeliveryOptions_GetString

Gets the value of the named string option.

MI_SubscriptionDeliveryOptions_SetBookmark

Sets a bookmark for subscription indication delivery.

MI_SubscriptionDeliveryOptions_SetDateTime

Sets the value of a named DateTime option.

MI_SubscriptionDeliveryOptions_SetDeliveryDestination

Sets the destination endpoint that an indication will be delivered to.

MI_SubscriptionDeliveryOptions_SetDeliveryPortNumber

Sets the subscription delivery port number.

MI_SubscriptionDeliveryOptions_SetDeliveryRetryAttempts

Sets the number of times a push delivery subscription will try to deliver a result.

MI_SubscriptionDeliveryOptions_SetDeliveryRetryInterval

Sets the delivery retry interval for subscriptions that are for push delivery.

MI_SubscriptionDeliveryOptions_SetExpirationTime

Sets the subscription expiration time (when the subscription will shut down).

MI_SubscriptionDeliveryOptions_SetHeartbeatInterval

Sets the heartbeat interval.

MI_SubscriptionDeliveryOptions_SetInterval

Sets the value of a named interval option.

MI_SubscriptionDeliveryOptions_SetMaximumLatency

Sets the maximum amount of time that the server will hold a result before delivering it to the client.

MI_SubscriptionDeliveryOptions_SetNumber

Sets the value of a named numeric option that is not covered by a dedicated function.

MI_SubscriptionDeliveryOptions_SetString

Sets the value of a named string option that is not covered by a dedicated function.

MI_Utilities_CimErrorFromErrorCode

Maps an operating-system specific error code to a CIM error instance.

MI_Utilities_MapErrorToExtendedError

MI_Utilities_MapErrorToExtendedError is not supported.

MI_Utilities_MapErrorToMiErrorCategory

Maps an operating system specific error code to an error category.