memcpy((uint8_t*)mcpi + mcpi->DeviceNameOffset, device.data(), device.length() * sizeof(WCHAR));
Status = NtDeviceIoControlFile(h, nullptr, nullptr, nullptr, &iosb, IOCTL_MOUNTMGR_CREATE_POINT,
+#ifndef __REACTOS__
buf.data(), (ULONG)buf.size(), nullptr, 0);
+#else
+ &buf[0], (ULONG)buf.size(), nullptr, 0);
+#endif
if (!NT_SUCCESS(Status))
throw ntstatus_error(Status);
#endif
Status = NtDeviceIoControlFile(h, nullptr, nullptr, nullptr, &iosb, IOCTL_MOUNTMGR_DELETE_POINTS,
+#ifndef __REACTOS__
buf.data(), (ULONG)buf.size(), buf2.data(), (ULONG)buf2.size());
+#else
+ &buf[0], (ULONG)buf.size(), &buf2[0], (ULONG)buf2.size());
+#endif
if (Status == STATUS_BUFFER_OVERFLOW) {
buf2.resize(mmps->Size);
Status = NtDeviceIoControlFile(h, nullptr, nullptr, nullptr, &iosb, IOCTL_MOUNTMGR_DELETE_POINTS,
+#ifndef __REACTOS__
buf.data(), (ULONG)buf.size(), buf2.data(), (ULONG)buf2.size());
+#else
+ &buf[0], (ULONG)buf.size(), &buf2[0], (ULONG)buf2.size());
+#endif
}
if (!NT_SUCCESS(Status))
#endif
Status = NtDeviceIoControlFile(h, nullptr, nullptr, nullptr, &iosb, IOCTL_MOUNTMGR_QUERY_POINTS,
+#ifndef __REACTOS__
buf.data(), (ULONG)buf.size(), buf2.data(), (ULONG)buf2.size());
+#else
+ &buf[0], (ULONG)buf.size(), &buf2[0], (ULONG)buf2.size());
+#endif
if (!NT_SUCCESS(Status) && Status != STATUS_BUFFER_OVERFLOW)
throw ntstatus_error(Status);
#endif
Status = NtDeviceIoControlFile(h, nullptr, nullptr, nullptr, &iosb, IOCTL_MOUNTMGR_QUERY_POINTS,
+#ifndef __REACTOS__
buf.data(), (ULONG)buf.size(), buf2.data(), (ULONG)buf2.size());
+#else
+ &buf[0], (ULONG)buf.size(), &buf2[0], (ULONG)buf2.size());
+#endif
if (!NT_SUCCESS(Status))
throw ntstatus_error(Status);