📄 gg.h
字号:
NTSTATUS
SerialMouseInternalDeviceControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
SerialMouseAddDevice (
IN PDRIVER_OBJECT Driver,
IN PDEVICE_OBJECT PDO
);
NTSTATUS
SerialMouseCreate(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
SerialMouseClose(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
SerialMousePnP(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
SerialMousePower(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
SerialGGemoveDevice(
PDEVICE_EXTENSION DeviceExtension,
PIRP Irp
);
NTSTATUS
SerialMouseSystemControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
SerialMouseUnload(
IN PDRIVER_OBJECT DriverObject
);
NTSTATUS
SerialMouseInitializeHardware(
IN PDEVICE_EXTENSION DeviceExtension
);
VOID
SerialMouseGetDebugFlags(
IN PUNICODE_STRING RegPath
);
VOID
SerialMouseServiceParameters(
IN PDEVICE_EXTENSION DeviceExtension,
IN HANDLE Handle
);
NTSTATUS
SerialMouseInitializePort(
PDEVICE_EXTENSION DeviceExtension
);
VOID
SerialGGestorePort(
PDEVICE_EXTENSION DeviceExtension
);
NTSTATUS
SerialMouseSetReadTimeouts(
PDEVICE_EXTENSION DeviceExtension,
ULONG Timeout
);
NTSTATUS
SerialMousepIoSyncIoctl(
BOOLEAN Internal,
ULONG Ioctl,
PDEVICE_OBJECT DeviceObject,
PKEVENT Event,
PIO_STATUS_BLOCK Iosb
);
/*--
NTSTATUS
SerialMouseIoSyncIoctl(
ULONG Ioctl,
PDEVICE_OBJECT DeviceObject,
PKEVENT Event,
PIO_STATUS_BLOCK Iosb
);
++*/
#define SerialMouseIoSyncIoctl(Ioctl, DeviceObject, Event, Iosb) \
SerialMousepIoSyncIoctl(FALSE, Ioctl, DeviceObject, Event, Iosb)
/*--
NTSTATUS
SerialMouseIoSyncInteralIoctl(
ULONG Ioctl,
PDEVICE_OBJECT DeviceObject,
PKEVENT Event,
PIO_STATUS_BLOCK Iosb
);
++*/
#define SerialMouseIoSyncInternalIoctl(Ioctl, DeviceObject, Event, Iosb) \
SerialMousepIoSyncIoctl(TRUE, Ioctl, DeviceObject, Event, Iosb)
NTSTATUS
SerialMousepIoSyncIoctlEx(
BOOLEAN Internal,
ULONG Ioctl, // io control code
PDEVICE_OBJECT DeviceObject, // object to call
PKEVENT Event, // event to wait on
PIO_STATUS_BLOCK Iosb, // used inside IRP
PVOID InBuffer, OPTIONAL // input buffer
ULONG InBufferLen, OPTIONAL // input buffer length
PVOID OutBuffer, OPTIONAL // output buffer
ULONG OutBufferLen OPTIONAL // output buffer length
);
/*--
NTSTATUS
SerialMouseIoSyncIoctlEx(
ULONG Ioctl, // io control code
PDEVICE_OBJECT DeviceObject, // object to call
PKEVENT Event, // event to wait on
PIO_STATUS_BLOCK Iosb, // used inside IRP
PVOID InBuffer, OPTIONAL // input buffer
ULONG InBufferLen, OPTIONAL // input buffer length
PVOID OutBuffer, OPTIONAL // output buffer
ULONG OutBufferLen OPTIONAL // output buffer length
);
++*/
#define SerialMouseIoSyncIoctlEx(Ioctl, DeviceObject, Event, Iosb, \
InBuffer, InBufferLen, OutBuffer, \
OutBufferLen) \
SerialMousepIoSyncIoctlEx(FALSE, Ioctl, DeviceObject, Event, Iosb, \
InBuffer, InBufferLen, OutBuffer, \
OutBufferLen)
/*--
NTSTATUS
SerialMouseIoSyncInternalIoctlEx(
ULONG Ioctl, // io control code
PDEVICE_OBJECT DeviceObject, // object to call
PKEVENT Event, // event to wait on
PIO_STATUS_BLOCK Iosb, // used inside IRP
PVOID InBuffer, OPTIONAL // input buffer
ULONG InBufferLen, OPTIONAL // input buffer length
PVOID OutBuffer, OPTIONAL // output buffer
ULONG OutBufferLen OPTIONAL // output buffer length
);
++*/
#define SerialMouseIoSyncInternalIoctlEx(Ioctl, DeviceObject, Event, Iosb, \
InBuffer, InBufferLen, OutBuffer, \
OutBufferLen) \
SerialMousepIoSyncIoctlEx(TRUE, Ioctl, DeviceObject, Event, Iosb, \
InBuffer, InBufferLen, OutBuffer, \
OutBufferLen)
NTSTATUS
SerialGGeadSerialPort (
PDEVICE_EXTENSION DeviceExtension,
PCHAR ReadBuffer,
USHORT Buflen,
PUSHORT ActualBytesRead
);
NTSTATUS
SerialMouseWriteSerialPort (
PDEVICE_EXTENSION DeviceExtension,
PCHAR WriteBuffer,
ULONG NumBytes,
PIO_STATUS_BLOCK IoStatusBlock
);
NTSTATUS
SerialMouseWait (
IN PDEVICE_EXTENSION DeviceExtension,
IN LONG Timeout
);
NTSTATUS
SerialGGeadComplete (
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PDEVICE_EXTENSION DeviceExtension
);
NTSTATUS
SerialMouseStartRead (
IN PDEVICE_EXTENSION DeviceExtension
);
//
// ioctl.c and SerialMouse definitions
//
//
// Function prototypes
//
NTSTATUS
SerialMouseSetFifo(
PDEVICE_EXTENSION DeviceExtension,
UCHAR Value
);
NTSTATUS
SerialMouseGetLineCtrl(
PDEVICE_EXTENSION DeviceExtension,
PSERIAL_LINE_CONTROL SerialLineControl
);
NTSTATUS
SerialMouseSetLineCtrl(
PDEVICE_EXTENSION DeviceExtension,
PSERIAL_LINE_CONTROL SerialLineControl
);
NTSTATUS
SerialMouseGetModemCtrl(
PDEVICE_EXTENSION DeviceExtension,
PULONG ModemCtrl
);
NTSTATUS
SerialMouseSetModemCtrl(
PDEVICE_EXTENSION DeviceExtension,
ULONG Value,
PULONG OldValue OPTIONAL
);
NTSTATUS
SerialMouseGetBaudRate(
PDEVICE_EXTENSION DeviceExtension,
PULONG BaudRate
);
NTSTATUS
SerialMouseSetBaudRate(
PDEVICE_EXTENSION DeviceExtension,
ULONG BaudRate
);
NTSTATUS
SerialGGeadChar(
PDEVICE_EXTENSION DeviceExtension,
PUCHAR Value
);
NTSTATUS
SerialMouseFlushReadBuffer(
PDEVICE_EXTENSION DeviceExtension
);
NTSTATUS
SerialMouseWriteChar(
PDEVICE_EXTENSION DeviceExtension,
UCHAR Value
);
NTSTATUS
SerialMouseWriteString(
PDEVICE_EXTENSION DeviceExtension,
PSZ Buffer
);
NTSTATUS
SerialMouseSetWmiDataItem(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG DataItemId,
IN ULONG BufferSize,
IN PUCHAR Buffer
);
NTSTATUS
SerialMouseSetWmiDataBlock(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG BufferSize,
IN PUCHAR Buffer
);
NTSTATUS
SerialMouseQueryWmiDataBlock(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG InstanceCount,
IN OUT PULONG InstanceLengthArray,
IN ULONG BufferAvail,
OUT PUCHAR Buffer
);
NTSTATUS
SerialMouseQueryWmiRegInfo(
IN PDEVICE_OBJECT DeviceObject,
OUT PULONG RegFlags,
OUT PUNICODE_STRING InstanceName,
OUT PUNICODE_STRING *RegistryPath,
OUT PUNICODE_STRING MofResourceName,
OUT PDEVICE_OBJECT *Pdo
);
extern WMIGUIDREGINFO WmiGuidList[1];
#endif // _GG_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -