Unable to Enumerate Instances By Using WBEM_FLAG_DIRECT_READ (276469)



The information in this article applies to:

  • Microsoft Windows Management Instrumentation 1.5

This article was previously published under Q276469

SYMPTOMS

Windows Management Instrumentation (WMI) is not able to enumerate instances of a framework provider (such as a Win32 provider) superclass by using the WBEM_FLAG_DIRECT_READ flag.

CAUSE

The WBEM_FLAG_DIRECT_READ flag causes direct access to the provider for the class that is specified without any regard to its superclass or subclasses. The WBEM_FLAG_DIRECT_READ flag can be passed to a number of IWbemServices routines in lFlags to enumerate instances or to obtain a particular instance. These IWbemServices routines include ExecQuery, ExecQueryAsync, CreateInstanceEnum, CreateInstanceEnumAsync, GetObject and GetObjectAsync.

The WBEM_FLAG_DIRECT_READ flag is used internally by the WMI core, and although the flag is passed to the providers, it is not intended for use by the providers. WMI providers that have been built by using the Provider Framework (such as the Win32 provider), were not designed to process the WBEM_FLAG_DIRECT_READ flag. When this flag is received, framework-based providers return an invalid parameter error code. Normally, when the WMI core receives this error code from a provider, the core retries the operation with a smaller set of flags. However, this retry mechanism does not function properly with the WBEM_FLAG_DIRECT_READ flag.

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 version of this fix should have the following file attributes or later:
   Date        Time      Version       Size     File name    Platform
   ------------------------------------------------------------------
   10/12/2000  17:25:22  1.50.1085.33  643,140  Wbemcore.dll i386
				

Using the Hotfix Installer

NOTE: You can use this method only for Intel-based computers with Windows 2000 installed.
  1. Copy the hotfix executable file (Q276469.exe) to a local folder on your computer or to a share on your network.
  2. Run the Q276469.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 2.

MORE INFORMATION

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:MajorLast Reviewed:4/7/2006
Keywords:kbQFE KBHotfixServer kbbug kbenv kbfix kbWin2000PreSP2Fix KB276469