mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 18:22:35 +00:00
[MOUNTMGR][DDK] Fix some IOCTLs definitions to Win2k3+ compatibility (#6959)
Fix IOCTL_MOUNTDEV_LINK_CREATED, IOCTL_MOUNTDEV_LINK_DELETED, IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY, to Win2k3+ compatible definitions. The previous versions of these IOCTLs (in Win2000 and XP) were defined without any access protection. This was noticed here: https://community.osr.com/t/ioctl-mountdev-link-created-definition-changed/29428
This commit is contained in:
parent
7930bed0a1
commit
ed27d733f7
2 changed files with 37 additions and 14 deletions
|
@ -33,12 +33,19 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Windows 2003 fixed the required access for some IOCTLs */
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
#define EXPECTED_ACCESS (FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
#else
|
||||
#define EXPECTED_ACCESS FILE_ANY_ACCESS
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
#define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define IOCTL_MOUNTDEV_LINK_CREATED CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define IOCTL_MOUNTDEV_LINK_DELETED CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define IOCTL_MOUNTDEV_LINK_CREATED CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, EXPECTED_ACCESS)
|
||||
#define IOCTL_MOUNTDEV_LINK_DELETED CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, EXPECTED_ACCESS)
|
||||
|
||||
typedef struct _MOUNTDEV_UNIQUE_ID {
|
||||
USHORT UniqueIdLength;
|
||||
|
@ -63,8 +70,9 @@ typedef struct _MOUNTDEV_STABLE_GUID {
|
|||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
/* FIXME : These definitions don't exist in the official header : */
|
||||
#define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
/* NOTE: Support for IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY
|
||||
* seems to have been removed from official WDK in Vista+ */
|
||||
#define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, EXPECTED_ACCESS)
|
||||
typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT {
|
||||
ULONG Size;
|
||||
USHORT OldUniqueIdOffset;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue