Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Related Pages

Devioctl.h

Go to the documentation of this file.
00001 /*++ BUILD Version: 0004    // Increment this if a change has global effects
00002    Copyright (c) 1992-1993  Microsoft Corporation
00003    Module Name:
00004    devioctl.h
00005    Revision History:
00006    -- */
00007 // begin_winioctl
00008 #ifndef _DEVIOCTL_
00009 #define _DEVIOCTL_
00010 // begin_ntddk begin_nthal begin_ntifs
00011 //
00012 // Define the various device type values.  Note that values used by Microsoft
00013 // Corporation are in the range 0-32767, and 32768-65535 are reserved for use
00014 // by customers.
00015 //
00016 #define DEVICE_TYPE ULONG
00017 #define FILE_DEVICE_BEEP                0x00000001
00018 #define FILE_DEVICE_CD_ROM              0x00000002
00019 #define FILE_DEVICE_CD_ROM_FILE_SYSTEM  0x00000003
00020 #define FILE_DEVICE_CONTROLLER          0x00000004
00021 #define FILE_DEVICE_DATALINK            0x00000005
00022 #define FILE_DEVICE_DFS                 0x00000006
00023 #define FILE_DEVICE_DISK                0x00000007
00024 #define FILE_DEVICE_DISK_FILE_SYSTEM    0x00000008
00025 #define FILE_DEVICE_FILE_SYSTEM         0x00000009
00026 #define FILE_DEVICE_INPORT_PORT         0x0000000a
00027 #define FILE_DEVICE_KEYBOARD            0x0000000b
00028 #define FILE_DEVICE_MAILSLOT            0x0000000c
00029 #define FILE_DEVICE_MIDI_IN             0x0000000d
00030 #define FILE_DEVICE_MIDI_OUT            0x0000000e
00031 #define FILE_DEVICE_MOUSE               0x0000000f
00032 #define FILE_DEVICE_MULTI_UNC_PROVIDER  0x00000010
00033 #define FILE_DEVICE_NAMED_PIPE          0x00000011
00034 #define FILE_DEVICE_NETWORK             0x00000012
00035 #define FILE_DEVICE_NETWORK_BROWSER     0x00000013
00036 #define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
00037 #define FILE_DEVICE_NULL                0x00000015
00038 #define FILE_DEVICE_PARALLEL_PORT       0x00000016
00039 #define FILE_DEVICE_PHYSICAL_NETCARD    0x00000017
00040 #define FILE_DEVICE_PRINTER             0x00000018
00041 #define FILE_DEVICE_SCANNER             0x00000019
00042 #define FILE_DEVICE_SERIAL_MOUSE_PORT   0x0000001a
00043 #define FILE_DEVICE_SERIAL_PORT         0x0000001b
00044 #define FILE_DEVICE_SCREEN              0x0000001c
00045 #define FILE_DEVICE_SOUND               0x0000001d
00046 #define FILE_DEVICE_STREAMS             0x0000001e
00047 #define FILE_DEVICE_TAPE                0x0000001f
00048 #define FILE_DEVICE_TAPE_FILE_SYSTEM    0x00000020
00049 #define FILE_DEVICE_TRANSPORT           0x00000021
00050 #define FILE_DEVICE_UNKNOWN             0x00000022
00051 #define FILE_DEVICE_VIDEO               0x00000023
00052 #define FILE_DEVICE_VIRTUAL_DISK        0x00000024
00053 #define FILE_DEVICE_WAVE_IN             0x00000025
00054 #define FILE_DEVICE_WAVE_OUT            0x00000026
00055 #define FILE_DEVICE_8042_PORT           0x00000027
00056 #define FILE_DEVICE_NETWORK_REDIRECTOR  0x00000028
00057 #define FILE_DEVICE_BATTERY             0x00000029
00058 #define FILE_DEVICE_BUS_EXTENDER        0x0000002a
00059 #define FILE_DEVICE_MODEM               0x0000002b
00060 #define FILE_DEVICE_VDM                 0x0000002c
00061 #define FILE_DEVICE_MASS_STORAGE        0x0000002d
00062 //
00063 // Macro definition for defining IOCTL and FSCTL function control codes.  Note
00064 // that function codes 0-2047 are reserved for Microsoft Corporation, and
00065 // 2048-4095 are reserved for customers.
00066 //
00067 #define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
00068     ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
00069 )
00070 //
00071 // Define the method codes for how buffers are passed for I/O and FS controls
00072 //
00073 #define METHOD_BUFFERED                 0
00074 #define METHOD_IN_DIRECT                1
00075 #define METHOD_OUT_DIRECT               2
00076 #define METHOD_NEITHER                  3
00077 //
00078 // Define the access check value for any access
00079 //
00080 //
00081 // The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in
00082 // ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these
00083 // constants *MUST* always be in sync.
00084 //
00085 #define FILE_ANY_ACCESS                 0
00086 #define FILE_READ_ACCESS          ( 0x0001 )    // file & pipe
00087 #define FILE_WRITE_ACCESS         ( 0x0002 )    // file & pipe
00088 // end_ntddk end_nthal end_ntifs
00089 #endif                          // _DEVIOCTL_
00090 // end_winioctl

Generated on Sun May 14 14:51:19 2006 by  doxygen 1.4.2