WMI: WDM Provider Rejects Dynamic Arrays Of Zero Length (286803)



The information in this article applies to:

  • Microsoft Windows Management Instrumentation 1.5, when used with:
    • the operating system: Microsoft Windows 2000

This article was previously published under Q286803

SYMPTOMS

The Windows Driver Model (WDM) Provider in Windows Management Instrumentation (WMI) rejects dynamic arrays of zero size. Any attempt to store an instance of an object that includes a dynamic array of zero size will result in an "Invalid Parameter" error.

As an example, the following MOF declares a variable length array.
class Test_DiagnosticsStatus
{
   datetime timeoflastrun;
   uint16   numberofresults;
   [read,WmiSizeIs("NumberOfResults")]
   Test_DiagnosticsResult DiagResults[];   // Varying array
};
				
The problem arises when the dynamic array (DiagResults[]) is of zero length.
DiagnosticsStatus = instance of Test_DiagnosticsStatus
{
   NumberOfResults = 0;

   TimeOfLastRun = "16010101000000.000000+000";
};
				
Any attempt to store the above instance (DiagnosticsStatus) would result in an "Invalid Parameter" error (0x80041008).

RESOLUTION

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

The English-language version of this fix should have the following file attributes or later:
   Date       Time   Version       Size     File name    Platform
   --------------------------------------------------------------
   2/13/2001  19:36  1.50.1085.49  110,660  Wmiprov.dll  Intel
				

How to Use the Hotfix Installer

NOTE: You can use this method only for Intel-based computers with Windows 2000 installed.
  1. Copy the Q286803.exe hotfix file to a local folder on your computer or to a share on your network.
  2. Run the Q286803.exe file and follow the directions.
  3. Restart your computer.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3.

MORE INFORMATION

For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the article number below to view the article in the Microsoft Knowledge Base:

265173 The Datacenter Program and Windows 2000 Datacenter Server Product

For additional information about how to install multiple hotfixes with only one reboot, click the article number below to view the article in the Microsoft Knowledge Base:

296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot

For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:

249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes


Modification Type:MinorLast Reviewed:9/26/2005
Keywords:kbHotfixServer kbQFE kbDSWManage2003Swept kbbug kbfix kbSysAdmin kbWin2000PreSP3Fix kbWin2000sp3fix KB286803