Cómo obtener Win32_OperatingSystem.LastBootUpTime en formato de fecha y hora

He estado tratando de obtener LastBootUpTime usando la clase Win32_OperatingSystem (WMI).

HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, 
        &pclsObj, &uReturn);

    if(0 == uReturn)
    {
        break;
    }

    VARIANT vtProp;

    // Get the value of the Name property
    hr = pclsObj->Get(L"LastBootUpTime", 0, &vtProp, 0, 0);          
    VariantClear(&vtProp);

Quiero escribir esta vez en CTime o COleDateTime variable. Pero la variable vtProp tiene un tipo BSTR y parece20100302185848.499768 + 300 Además, cualquier propiedad de fecha y hora de cualquier clase WMI tiene tipo BSTR

¿Cómo puedo poner la propiedad datetime de la clase WMI en CTime?

Pero, ¿cómo usar SWbemDateTime.GetVarDate () en C ++? En MSDN solo muestra de secuencias de comandos para esta función

Respuestas a la pregunta(2)

Su respuesta a la pregunta