📄 gpioctl.h
字号:
/*++
Copyright (c) 1990-2000 Microsoft Corporation, All Rights Reserved
Module Name:
gpioctl.h
Abstract: Include file for Generic Port I/O Example Driver
Author: Robert R. Howell January 8, 1993
Revision History:
Robert B. Nelson (Microsoft) March 1, 1993
--*/
#if !defined(__GPIOCTL_H__)
#define __GPIOCTL_H__
//
// Define the IOCTL codes we will use. The IOCTL code contains a command
// identifier, plus other information about the device, the type of access
// with which the file must have been opened, and the type of buffering.
//
//
// Device type -- in the "User Defined" range."
//
#define GPD_TYPE 40000
// The IOCTL function codes from 0x800 to 0xFFF are for customer use.
#define IOCTL_GPD_READ_PORT_UCHAR \
CTL_CODE( GPD_TYPE, 0x900, METHOD_BUFFERED, FILE_READ_ACCESS )
#define IOCTL_GPD_READ_PORT_USHORT \
CTL_CODE( GPD_TYPE, 0x901, METHOD_BUFFERED, FILE_READ_ACCESS )
#define IOCTL_GPD_READ_PORT_ULONG \
CTL_CODE( GPD_TYPE, 0x902, METHOD_BUFFERED, FILE_READ_ACCESS )
#define IOCTL_GPD_WRITE_PORT_UCHAR \
CTL_CODE(GPD_TYPE, 0x910, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_GPD_WRITE_PORT_USHORT \
CTL_CODE(GPD_TYPE, 0x911, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_GPD_WRITE_PORT_ULONG \
CTL_CODE(GPD_TYPE, 0x912, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_READ_DATA_0 \
CTL_CODE(GPD_TYPE, 0x913, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_WRITE_DATA_0 \
CTL_CODE(GPD_TYPE, 0x914, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_READ_DATA_1 \
CTL_CODE(GPD_TYPE, 0x915, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_WRITE_DATA_1 \
CTL_CODE(GPD_TYPE, 0x916, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_READ_DATA_2 \
CTL_CODE(GPD_TYPE, 0x917, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_WRITE_DATA_2 \
CTL_CODE(GPD_TYPE, 0x918, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_READ_DATA_3 \
CTL_CODE(GPD_TYPE, 0x919, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_WRITE_DATA_3 \
CTL_CODE(GPD_TYPE, 0x920, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_SET_BAUD_MODE \
CTL_CODE(GPD_TYPE, 0x921, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_RESET \
CTL_CODE(GPD_TYPE, 0x922, METHOD_BUFFERED, FILE_WRITE_ACCESS)
//njh20080116
#define IOCTL_WRITE_SWITCH \
CTL_CODE(GPD_TYPE, 0x925, METHOD_BUFFERED, FILE_WRITE_ACCESS )
typedef struct _GENPORT_WRITE_INPUT {
ULONG PortNumber; // Port # to write to
union { // Data to be output to port
ULONG LongData;
USHORT ShortData;
UCHAR CharData;
};
} GENPORT_WRITE_INPUT;
//设置波特率等参数的数据结构
typedef struct _COM_SET_MODE {
UCHAR ComNum; // 串口号
ULONG Baud; //波特率
UCHAR Data; //数据位
UCHAR Stop; //停止位
UCHAR Parity; //校验位
UCHAR Count; //Fifo,InterruptLevel
UCHAR Mode; //工作模式
} COM_SET_MODE,*PCOM_SET_MODE;
#endif
//njh20080116
typedef struct _SWITCH_WRITE_INPUT {
// Data to be output
USHORT DataLow;
USHORT DataHigh;
}SWITCH_WRITE_INPUT,*PSWITCH_WRITE_INPUT;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -