80 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
| /*
 | |
|  * mountdev.h
 | |
|  *
 | |
|  * Mount point manager/mounted devices interface.
 | |
|  *
 | |
|  * This file is part of the w32api 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
 | |
|  * DISCLAIMED. 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
 | |
| 
 | |
| #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;
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* __MOUNTDEV_H */
 |