IO_STATUS_BLOCK iosb;
vector<uint8_t> buf(sizeof(MOUNTMGR_CREATE_POINT_INPUT) + ((symlink.length() + device.length()) * sizeof(WCHAR)));
+#ifndef __REACTOS__
auto mcpi = reinterpret_cast<MOUNTMGR_CREATE_POINT_INPUT*>(buf.data());
+#else
+ auto mcpi = reinterpret_cast<MOUNTMGR_CREATE_POINT_INPUT*>(&buf[0]);
+#endif
mcpi->SymbolicLinkNameOffset = sizeof(MOUNTMGR_CREATE_POINT_INPUT);
mcpi->SymbolicLinkNameLength = (USHORT)(symlink.length() * sizeof(WCHAR));
IO_STATUS_BLOCK iosb;
vector<uint8_t> buf(sizeof(MOUNTMGR_MOUNT_POINT) + ((symlink.length() + unique_id.length() + device_name.length()) * sizeof(WCHAR)));
+#ifndef __REACTOS__
auto mmp = reinterpret_cast<MOUNTMGR_MOUNT_POINT*>(buf.data());
+#else
+ auto mmp = reinterpret_cast<MOUNTMGR_MOUNT_POINT*>(&buf[0]);
+#endif
memset(mmp, 0, sizeof(MOUNTMGR_MOUNT_POINT));
}
vector<uint8_t> buf2(sizeof(MOUNTMGR_MOUNT_POINTS));
+#ifndef __REACTOS__
auto mmps = reinterpret_cast<MOUNTMGR_MOUNT_POINTS*>(buf2.data());
+#else
+ auto mmps = reinterpret_cast<MOUNTMGR_MOUNT_POINTS*>(&buf2[0]);
+#endif
Status = NtDeviceIoControlFile(h, nullptr, nullptr, nullptr, &iosb, IOCTL_MOUNTMGR_DELETE_POINTS,
buf.data(), (ULONG)buf.size(), buf2.data(), (ULONG)buf2.size());
vector<mountmgr_point> v;
vector<uint8_t> buf(sizeof(MOUNTMGR_MOUNT_POINT) + ((symlink.length() + unique_id.length() + device_name.length()) * sizeof(WCHAR)));
+#ifndef __REACTOS__
auto mmp = reinterpret_cast<MOUNTMGR_MOUNT_POINT*>(buf.data());
+#else
+ auto mmp = reinterpret_cast<MOUNTMGR_MOUNT_POINT*>(&buf[0]);
+#endif
memset(mmp, 0, sizeof(MOUNTMGR_MOUNT_POINT));
}
vector<uint8_t> buf2(sizeof(MOUNTMGR_MOUNT_POINTS));
+#ifndef __REACTOS__
auto mmps = reinterpret_cast<MOUNTMGR_MOUNT_POINTS*>(buf2.data());
+#else
+ auto mmps = reinterpret_cast<MOUNTMGR_MOUNT_POINTS*>(&buf2[0]);
+#endif
Status = NtDeviceIoControlFile(h, nullptr, nullptr, nullptr, &iosb, IOCTL_MOUNTMGR_QUERY_POINTS,
buf.data(), (ULONG)buf.size(), buf2.data(), (ULONG)buf2.size());
throw ntstatus_error(Status);
buf2.resize(mmps->Size);
+#ifndef __REACTOS__
mmps = reinterpret_cast<MOUNTMGR_MOUNT_POINTS*>(buf2.data());
+#else
+ mmps = reinterpret_cast<MOUNTMGR_MOUNT_POINTS*>(&buf2[0]);
+#endif
Status = NtDeviceIoControlFile(h, nullptr, nullptr, nullptr, &iosb, IOCTL_MOUNTMGR_QUERY_POINTS,
buf.data(), (ULONG)buf.size(), buf2.data(), (ULONG)buf2.size());