Microsoft KB Archive/276469

{|
 * width="100%"|

Unable to Enumerate Instances By Using WBEM_FLAG_DIRECT_READ

 * }

Q276469

-

The information in this article applies to:


 * Windows Management Instrumentation, version 1.5, on platform(s):
 * Microsoft Windows 2000 Professional
 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Advanced Server

-

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, please see the following article in the Microsoft Knowledge Base:

"Q260910 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 this to be 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:

"Q249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes" Additional query words:

Keywords : kbenv kbtool kbWin2000PreSP2Fix kbWin2000SP2Fix

Issue type : kbbug

Technology : kbWMISearch kbAudDeveloper