beautypg.com

Error reporting, Overview, Error codes – Dell Intel PRO Family of Adapters User Manual

Page 16

background image

Back to Contents Page

Error Reporting: Intel® PRO Network Adapters WMI and CDM

Providers User Guide

Overview

Error Codes

Overview

This section about IANet_ExtendedStatus describes how to handle errors generated by WMI and CDM Providers. How and

when an error object is returned depends on whether a call is synchronous, semi-synchronous or asynchronous. In most

cases, the HRESULT is set to WBEM_E_FAILED when an error occurs. At this point, however, it is unknown whether WMI or

the Providers generated the error.

To get the error object for synchronous calls, use GetErrorInfo() to get the IErrorInfo object. Use QueryInterface() to get the

IWbemClassObject that contains the error information.

To get the error object for asynchronous calls, the IWbemClassObject is passed back as the last item in the last SetStatus()

call. After you get the error object instance, you can check the __Class property to determine the origin of the error. WMI

creates an instance of __ExtendedStatus, and the Providers create an instance of IANet_ExtendedStatus for errors relating to

IANet_ classes. IANet_ExtendedStatus is derived from __ExtendedStatus and contains the following error object qualifiers:

Description — Description of the error tailored to the current locale.

File — Code file where the error was generated.

Line — Line number of the code file with the error.

ParameterInfo — Class or attribute that was being utilized when the error occurred.

Operation — Operation being attempted when the error occurred.

ProviderName — Name of the Provider that caused the error.

StatusCode — Code returned from the internal call that failed.

SessionHandle — Session handle used for the operation.

RuleFailureReasons — Reason for operation failure. An operation can fail because a technical rule has failed. (e.g., you

must have a management adapter in certain teams).

Back to Top

Error Codes

For all error codes, the Providers give a description customized to the locale. Error codes are in the form of HRESULT with

severity set to one (1) and facility set to ITF. An application may use the following codes as a basis for a recovery action:

0x80040901 — "WMI: Put property failed"

0x80040902 — "WMI: No class object"

0x80040903 — "WMI: Failed to create class"

0x80040904 — "WMI: Failed to spawn instance of class"

0x80040905 — "WMI: Failed to create safe array"

0x80040906 — "WMI: Failed to put safe array"

0x80040907 — "WMI: Failed to return object to WMI"

0x80040908 — "WMI: Get property failed"

0x80040909 — "WMI: Unexpected type while getting property"

0x8004090A — "WMI: Class not implemented by this provider"

0x8004090B — "WMI: Unable to parse WQL statement"

0x8004090C — "WMI: Providers only support WQL"

0x8004090D — "WMI: Parameter in context has the wrong type"

0x8004090E — "WMI: Error formatting debug log"

0x8004090F — "WMI: bad object path"

0x80040910 — "WMI: Failed to update setting"

0x80040911 — "WMI: Null parameter passed to method"

0x80040912 — "Setting value too small."

0x80040913 — "Setting value too big."

0x80040914 — "Setting not in step"

0x80040915 — "String setting is too long"

16