Microsoft KB Archive/276469

From BetaArchive Wiki

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


Last Reviewed: May 25, 2001
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.