85 lines
2.1 KiB
C
85 lines
2.1 KiB
C
/*
|
|
* mountdev.h
|
|
*
|
|
* Mount point manager/mounted devices interface.
|
|
*
|
|
* This file is part of the MinGW package.
|
|
*
|
|
* Contributors:
|
|
* Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
|
|
*
|
|
* THIS SOFTWARE IS NOT COPYRIGHTED
|
|
*
|
|
* This source code is offered for use in the public domain. You may
|
|
* use, modify or distribute it freely.
|
|
*
|
|
* This code is distributed in the hope that it will be useful but
|
|
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
|
* DISCLAMED. This includes but is not limited to warranties of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
*/
|
|
|
|
#ifndef __MOUNTDEV_H
|
|
#define __MOUNTDEV_H
|
|
|
|
#if __GNUC__ >=3
|
|
#pragma GCC system_header
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#pragma pack(push,4)
|
|
|
|
#include "ntddk.h"
|
|
#include "mountmgr.h"
|
|
|
|
|
|
#define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME \
|
|
CTL_CODE(MOUNTDEVCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID \
|
|
CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY \
|
|
CTL_CODE(MOUNTDEVCONTROLTYPE, 1, 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)
|
|
|
|
|
|
typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME {
|
|
BOOLEAN UseOnlyIfThereAreNoOtherLinks;
|
|
USHORT NameLength;
|
|
WCHAR Name[1];
|
|
} MOUNTDEV_SUGGESTED_LINK_NAME, *PMOUNTDEV_SUGGESTED_LINK_NAME;
|
|
|
|
typedef struct _MOUNTDEV_UNIQUE_ID {
|
|
USHORT UniqueIdLength;
|
|
UCHAR UniqueId[1];
|
|
} MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID;
|
|
|
|
typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT {
|
|
ULONG Size;
|
|
USHORT OldUniqueIdOffset;
|
|
USHORT OldUniqueIdLength;
|
|
USHORT NewUniqueIdOffset;
|
|
USHORT NewUniqueIdLength;
|
|
} MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT;
|
|
|
|
#pragma pack(pop)
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __MOUNTDEV_H */
|