2023-08-17 10:45:50 +02:00
|
|
|
#ifndef IOCTL_H
|
|
|
|
#define IOCTL_H
|
|
|
|
|
|
|
|
#include <ntifs.h>
|
|
|
|
#include <wdftypes.h>
|
|
|
|
#include <wdf.h>
|
2023-09-02 15:47:15 +02:00
|
|
|
#include "common.h"
|
2023-08-17 10:45:50 +02:00
|
|
|
|
2023-08-20 16:12:04 +02:00
|
|
|
typedef struct _DRIVER_INITIATION_INFORMATION
|
|
|
|
{
|
2023-12-13 05:06:27 +01:00
|
|
|
ULONG protected_process_id;
|
2023-08-20 16:12:04 +02:00
|
|
|
|
2023-12-13 05:06:27 +01:00
|
|
|
} DRIVER_INITIATION_INFORMATION, *PDRIVER_INITIATION_INFORMATION;
|
2023-08-19 04:52:57 +02:00
|
|
|
|
2023-10-10 19:49:17 +02:00
|
|
|
//_Dispatch_type_(IRP_MJ_SYSTEM_CONTROL)
|
2023-10-05 08:27:17 +02:00
|
|
|
NTSTATUS
|
2023-12-13 05:06:27 +01:00
|
|
|
DeviceControl(_In_ PDRIVER_OBJECT DriverObject, _Inout_ PIRP Irp);
|
2023-08-17 10:45:50 +02:00
|
|
|
|
2023-12-13 05:06:27 +01:00
|
|
|
_Dispatch_type_(IRP_MJ_CLOSE) NTSTATUS
|
|
|
|
DeviceClose(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp);
|
2023-08-17 10:45:50 +02:00
|
|
|
|
2023-12-13 05:06:27 +01:00
|
|
|
_Dispatch_type_(IRP_MJ_CREATE) NTSTATUS
|
|
|
|
DeviceCreate(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp);
|
2023-08-17 10:45:50 +02:00
|
|
|
|
2023-11-09 08:30:59 +01:00
|
|
|
NTSTATUS
|
2023-12-13 05:06:27 +01:00
|
|
|
ValidateIrpOutputBuffer(_In_ PIRP Irp, _In_ ULONG RequiredSize);
|
2023-11-09 08:30:59 +01:00
|
|
|
|
|
|
|
NTSTATUS
|
2023-12-13 05:06:27 +01:00
|
|
|
ValidateIrpInputBuffer(_In_ PIRP Irp, _In_ ULONG RequiredSize);
|
2023-11-09 08:30:59 +01:00
|
|
|
|
2023-08-17 10:45:50 +02:00
|
|
|
#endif
|