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.
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.