Скачиваний:
20
Добавлен:
11.10.2020
Размер:
1.73 Кб
Скачать

//
// Define the various device type values. Note that values used by Microsoft
// Corporation are in the range 0-32767, and 32768-65535 are reserved for use
// by customers.
//

#define FILE_DEVICE_RTIODRIVERcommon 0x00008000

//Use this for ctrlcodes only known in this driver.
#define FILE_DEVICE_RTIODRIVERthis 0x00008010

#define IOCTL_INDEX 0x800

#define CTL(i) CTL_CODE(FILE_DEVICE_RTIODRIVER, IOCTL_INDEX + (i), METHOD_BUFFERED, FILE_ANY_ACCESS)
#define CTLcommon(i) CTL_CODE(FILE_DEVICE_RTIODRIVERcommon, IOCTL_INDEX + (i), METHOD_BUFFERED, FILE_ANY_ACCESS)

#define IOCTL_DIRECT_COMMAND CTLcommon(3)
//a directcommand may be sent in future, for any case, by an application like RTService, to the driver.
//these commands have to be kept unique for 3S-products.

//
// Macro definition for defining IOCTL and FSCTL function control codes. Note
// that function codes 0-2047 are reserved for Microsoft Corporation, and
// 2048-4095 are reserved for customers.
//

#define RTS_CUSTOM_SERVICES 255

#define SUBCMD_GETSHMPOINTER 100
#define SUBCMD_RELEASESHMPOINTER 101

#define SZREGKEY_ROOT_MACHINE "\\Registry\\Machine"
#define SZREGKEY_DRIVER SZREGKEY_ROOT_MACHINE "\\SYSTEM\\CurrentControlSet\\Services\\RTIOdrvLiebherr"
#define SZREGKEY_DRIVERPARAMS SZREGKEY_DRIVER "\\Params"

typedef struct tagAdditionalParameter
{
unsigned long ulPar1;
unsigned long ulPar2;
unsigned long ulPar3;
unsigned long ulPar4;
unsigned long ulPar5;
}AdditionalParameter;

typedef struct tagDirectCommand
{
unsigned char Cmd;
unsigned char SubCmd;
unsigned long ulRetInfo;
AdditionalParameter adpar;
}DirectCommand;
Соседние файлы в папке IODriver ToolKit