4.2.2.3 Optimized Client and Optimized Server

The product versions that exhibit optimized client behavior and optimized server behavior are referenced in section 4.2.2.

To make a synchronous operation from a client to a server, the client uses the IWbemServices interface pointer. The client calls the IWbemServices synchronous methods IWbemServices::CreateInstanceEnum, IWbemServices::CreateClassEnum, and IWbemServices::ExecQuery. In response to the method executed, the server returns an IEnumWbemClassObject interface pointer. The client uses IRemUnknown and IRemUnknown2, as specified in [MS-DCOM], to obtain an IWbemFetchSmartEnum interface pointer from the IEnumWbemClassObject interface pointer. The client then calls the IWbemFetchSmartEnum::GetSmartEnum method to obtain the IWbemWCOSmartEnum interface pointer. The client uses the IWbemWCOSmartEnum::Next method repeatedly to retrieve the IWbemClassObject interface pointers that contains the result set. The results are encoded as an ObjectArray as specified in section 2.2.14.

Optimized Client and Optimized Server

Figure 15: Optimized Client and Optimized Server

An example capture is given on [SysDocCap-WMI] showing a Windows Vista operating system client connecting to Windows Server 2008 operating system using the wbemtest utility and enumerating the default namespace.