3.2.3 Initialization

The client MUST activate the IWbemLevel1Login interface on the machine that is running the target WMI server by using the CLSID {8BC3F05E-D86B-11D0-A075-00C04FB68820}, as specified in the DCOM Remote Protocol ([MS-DCOM]). The client SHOULD obtain the IWbemLoginClientID interface by using the IRemUnknown and IRemUnknown2 interfaces, [MS-DCOM], on the IWbemLevel1Login interface. If the server returns an error for the IWbemLoginClientID interface, the client MUST ignore the error. If the server returns the IWbemLoginClientID interface, the client SHOULD call the IWbemLoginClientID::SetClientInfo method to set the client information on the server.<77>

The client SHOULD NOT obtain the IWbemLoginHelper interface from IWbemLevel1Login by calling the IRemUnknown and IRemUnknown2 interfaces.<78>

The client MUST call the IWbemLevel1Login::NTLMLogin method. If the IWbemLevel1Login::NTLMLogin method completes successfully, the ppNamespace parameter has an IWbemServices interface pointer that can be used by the client to call the IWbemServices methods.

If the client has multiple preferred locales or any locale string that does not match the "MS_xxx" format as the pszPreferredLocale parameter to IWbemLevel1Login::NTLMLogin, the client MUST determine whether the server supports the locale and filter out unsupported locales before calling IWbemLevel1Login::NTLMLogin. To determine supported locales, the client MUST call IWbemLevel1Login::EstablishPosition If the return value is E_NOTIMPL, the client MUST choose the first locale that matches the "MS_xxx" format and MUST remove other locales from the string.

If the locale list is empty after unsupported locales are filtered out,<79> the client MUST pass NULL for pszPreferredLocale.