wbemprox: Return a null variant instead of an empty string if the property isn't set.
diff --git a/dlls/wbemprox/query.c b/dlls/wbemprox/query.c
index 1d2eca7..77a3bf3 100644
--- a/dlls/wbemprox/query.c
+++ b/dlls/wbemprox/query.c
@@ -728,6 +728,9 @@
         V_VT( ret ) = VT_UI4;
         V_UI4( ret ) = val;
         return;
+    case VT_NULL:
+        V_VT( ret ) = VT_NULL;
+        return;
     default:
         ERR("unhandled variant type %u\n", vartype);
         return;
@@ -758,8 +761,13 @@
     {
     case CIM_STRING:
     case CIM_DATETIME:
-        vartype = VT_BSTR;
-        val_bstr = SysAllocString( (const WCHAR *)(INT_PTR)val );
+        if (val)
+        {
+            vartype = VT_BSTR;
+            val_bstr = SysAllocString( (const WCHAR *)(INT_PTR)val );
+        }
+        else
+            vartype = VT_NULL;
         break;
     case CIM_SINT16:
         if (!vartype) vartype = VT_I2;