Microsoft KB Archive/819064

From BetaArchive Wiki

Article ID: 819064

Article Last Modified on 12/3/2007



APPLIES TO

  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition




SYMPTOMS

In Windows Server 2003, when you run a Windows Driver Model (WDM) method, you may receive an "Invalid Class" (WBEM_E_INVALID_CLASS) error message from Windows Management Instrumentation (WMI).

CAUSE

This problem may occur if the method definition in the Managed Object Format (MOF) file contains an OUT parameter first, for example:

[WmiMethodId(2), Implemented] 
void SampleMethod2([OUT] uint32 Output1,
                   [IN]  uint32 Input1,
                   [IN]  uint32 Input2  );

RESOLUTION

Hotfix Information

A supported hotfix is now available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next service pack that contains this hotfix.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

Note If additional issues occur or any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. To create a separate service request, visit the following Microsoft Web site:

File Information

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

   Date         Time   Version      Size     File name
   -----------------------------------------------------
   29-May-2003  08:24  5.2.3790.40  137,728  Wmiprov.dll
   29-May-2003  08:24  5.2.3790.40  137,728  Wmisvc.dll

WORKAROUND

To work around this problem, change the order of the [IN] and [OUT] parameters. In the example described in the "Cause" section, change the parameters so that they use the following order:

[WmiMethodId(1), Implemented] 
void SampleMethod1([IN]  uint32 Input1,
                   [IN]  uint32 Input2,
                   [OUT] uint32 Output1);

Note This workaround does not work in Microsoft Windows 2000. In Windows 2000, a problem exists when more than one [IN] parameter is used. If you are using Windows 2000, define the method with the [OUT] parameter first to work around this problem.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

For more information about WMI, visit the following Microsoft Web site:

For more information about WDM, visit the following Microsoft Web site:


Additional query words: wbem_e_invalid_class

Keywords: kbhotfixserver kbqfe kbbug kbfix kbqfe kbwinserv2003presp1fix KB819064