}
value->v.dword = IVAL(data, 0);
break;
+ case REG_QWORD:
+ if ((size != 8) || (length != 8)) {
+ err = WERR_INVALID_PARAM;
+ goto error;
+ }
+ value->v.qword = BVAL(data, 0);
+ break;
case REG_SZ:
case REG_EXPAND_SZ:
{
memcpy((void *)tmp, (const void *)data, length);
tmp[num_ucs2] = 0;
}
-
if (length + 2 < length) {
/* Integer wrap. */
SAFE_FREE(tmp);
}
break;
}
+ case REG_QWORD: {
+ char buf[8];
+ SBVAL(buf, 0, value->v.qword);
+ *presult = data_blob_talloc(mem_ctx, (void *)buf, 8);
+ if (presult->data == NULL) {
+ return WERR_NOMEM;
+ }
+ break;
+ }
case REG_SZ:
case REG_EXPAND_SZ: {
if (!push_reg_sz(mem_ctx, presult, value->v.sz.str))