summaryrefslogtreecommitdiff
path: root/driver.h
diff options
context:
space:
mode:
authortumagonx2017-08-08 10:54:53 +0700
committertumagonx2017-08-08 10:54:53 +0700
commit2acec63b2ed75bf4b71ad257db573c4b8f9639e7 (patch)
treea8bea139ddd26116d44ea182b0b8436f2162e6e3 /driver.h
initial commit
Diffstat (limited to 'driver.h')
-rw-r--r--driver.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/driver.h b/driver.h
new file mode 100644
index 0000000..e7f23fb
--- /dev/null
+++ b/driver.h
@@ -0,0 +1,90 @@
1/*
2 * Copyright (c) 2004 Security Architects Corporation. All rights reserved.
3 *
4 * Module Name:
5 *
6 * driver.h
7 *
8 * Abstract:
9 *
10 * This module defines various types used by the driver "plumbing" code.
11 *
12 * Author:
13 *
14 * Eugene Tsyrklevich 9-Feb-2004
15 *
16 * Revision History:
17 *
18 * None.
19 */
20
21
22#ifndef __DRIVER_H__
23#define __DRIVER_H__
24
25
26
27typedef struct _DEVICE_EXTENSION
28{
29 PDEVICE_OBJECT pDeviceObject;
30 UNICODE_STRING usSymLink;
31
32} DEVICE_EXTENSION, *PDEVICE_EXTENSION;
33
34
35#define DEVICE_NAME L"\\Device\\Ozone"
36#define DEVICE_SYMLINK_NAME L"\\??\\Ozone"
37
38
39#define IOCTL_REGISTER_AGENT_SERVICE CTL_CODE(FILE_DEVICE_UNKNOWN, 0x801, METHOD_BUFFERED, FILE_ANY_ACCESS)
40#define IOCTL_GET_ALERT CTL_CODE(FILE_DEVICE_UNKNOWN, 0x802, METHOD_BUFFERED, FILE_ANY_ACCESS)
41#define IOCTL_GET_USERLAND_REQUEST CTL_CODE(FILE_DEVICE_UNKNOWN, 0x803, METHOD_BUFFERED, FILE_ANY_ACCESS)
42#define IOCTL_SEND_USERLAND_SID_RESOLVE_REPLY CTL_CODE(FILE_DEVICE_UNKNOWN, 0x804, METHOD_BUFFERED, FILE_ANY_ACCESS)
43#define IOCTL_SEND_USERLAND_ASK_USER_REPLY CTL_CODE(FILE_DEVICE_UNKNOWN, 0x805, METHOD_BUFFERED, FILE_ANY_ACCESS)
44#define IOCTL_START_CREATE_POLICY CTL_CODE(FILE_DEVICE_UNKNOWN, 0x806, METHOD_BUFFERED, FILE_ANY_ACCESS)
45#define IOCTL_STOP_CREATE_POLICY CTL_CODE(FILE_DEVICE_UNKNOWN, 0x807, METHOD_BUFFERED, FILE_ANY_ACCESS)
46
47
48// Build 23
49#define DRIVER_VERSION 0x00000023
50
51
52extern BOOLEAN ActiveUserAgent;
53
54
55VOID DriverUnload(IN PDRIVER_OBJECT pDriverObject);
56NTSTATUS DriverCreate(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
57NTSTATUS DriverCleanup(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
58NTSTATUS DriverClose (IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
59NTSTATUS DriverRead (IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
60NTSTATUS DriverWrite (IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
61NTSTATUS DriverDeviceControl(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
62
63
64/*
65 HRSRC hRsrc;
66 HGLOBAL hDriverResource;
67 DWORD dwDriverSize;
68 LPVOID lpvDriver;
69 HFILE hfTempFile;
70
71
72
73
74 hRsrc = FindResource(hInst,MAKEINTRESOURCE(MSJDATNT),"BINRES");
75
76 hDriverResource = LoadResource(hInst, hRsrc);
77 dwDriverSize = SizeofResource(hInst, hRsrc);
78 lpvDriver = LockResource(hDriverResource);
79
80 hfTempFile = _lcreat("msj.tmp",0);
81 _hwrite(hfTempFile, lpvDriver, dwDriverSize);
82 _lclose(hfTempFile);
83
84
85 http://www.microsoft.com/MSJ/0398/DRIVER.aspx
86
87 */
88
89
90#endif /* __DRIVER_H__ */ \ No newline at end of file