Alexandre Julliard : include: Add a few definitions in wdm.h.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed May 16 09:10:22 CDT 2007
Module: wine
Branch: master
Commit: dff6cdfa5094eef2dd7081c9ed6031a720fbb29e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dff6cdfa5094eef2dd7081c9ed6031a720fbb29e
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue May 15 21:41:21 2007 +0200
include: Add a few definitions in wdm.h.
---
include/ddk/wdm.h | 43 ++++++++++++++++++++++++++++++++++---------
1 files changed, 34 insertions(+), 9 deletions(-)
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 6e2c3b2..7d53a97 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -32,9 +32,17 @@ typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK;
struct _KDPC;
struct _KAPC;
+struct _IRP;
+struct _DEVICE_OBJECT;
+struct _DRIVER_OBJECT;
typedef VOID (WINAPI *PKDEFERRED_ROUTINE)(struct _KDPC *, PVOID, PVOID, PVOID);
+typedef NTSTATUS (WINAPI *PDRIVER_INITIALIZE)(struct _DRIVER_OBJECT *, PUNICODE_STRING);
+typedef NTSTATUS (WINAPI *PDRIVER_DISPATCH)(struct _DEVICE_OBJECT *, struct _IRP *);
+typedef void (WINAPI *PDRIVER_STARTIO)(struct _DEVICE_OBJECT *, struct _IRP *);
+typedef void (WINAPI *PDRIVER_UNLOAD)(struct _DRIVER_OBJECT *);
+
typedef struct _DISPATCHER_HEADER {
UCHAR Type;
UCHAR Absolute;
@@ -77,6 +85,8 @@ typedef struct _KDEVICE_QUEUE {
typedef struct _IO_TIMER *PIO_TIMER;
typedef struct _ETHREAD *PETHREAD;
+typedef struct _KTHREAD *PKTHREAD;
+typedef struct _EPROCESS *PEPROCESS;
#define MAXIMUM_VOLUME_LABEL_LENGTH (32 * sizeof(WCHAR))
@@ -170,10 +180,10 @@ typedef struct _DRIVER_OBJECT {
UNICODE_STRING DriverName;
PUNICODE_STRING HardwareDatabase;
PVOID FastIoDispatch;
- PVOID DriverInit;
- PVOID DriverStartIo;
- PVOID DriverUnload;
- PVOID MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
+ PDRIVER_INITIALIZE DriverInit;
+ PDRIVER_STARTIO DriverStartIo;
+ PDRIVER_UNLOAD DriverUnload;
+ PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
} DRIVER_OBJECT;
typedef struct _DRIVER_OBJECT *PDRIVER_OBJECT;
@@ -770,10 +780,6 @@ typedef struct _MDL {
ULONG ByteOffset;
} MDL, *PMDL;
-typedef NTSTATUS (WINAPI *PDRIVER_DISPATCH)(
- IN struct _DEVICE_OBJECT *DeviceObject,
- IN struct _IRP *Irp);
-
typedef struct _KSYSTEM_TIME {
ULONG LowPart;
LONG High1Time;
@@ -854,7 +860,26 @@ NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
#define SYMBOLIC_LINK_QUERY 0x0001
#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
-/* Zw function prototypes */
+PVOID WINAPI ExAllocatePool(POOL_TYPE,SIZE_T);
+PVOID WINAPI ExAllocatePoolWithQuota(POOL_TYPE,SIZE_T);
+PVOID WINAPI ExAllocatePoolWithTag(POOL_TYPE,SIZE_T,ULONG);
+PVOID WINAPI ExAllocatePoolWithQuotaTag(POOL_TYPE,SIZE_T,ULONG);
+void WINAPI ExFreePool(PVOID);
+
+NTSTATUS WINAPI IoCreateDevice(DRIVER_OBJECT*,ULONG,UNICODE_STRING*,DEVICE_TYPE,ULONG,BOOLEAN,DEVICE_OBJECT**);
+NTSTATUS WINAPI IoCreateSymbolicLink(UNICODE_STRING*,UNICODE_STRING*);
+void WINAPI IoDeleteDevice(DEVICE_OBJECT*);
+NTSTATUS WINAPI IoDeleteSymbolicLink(UNICODE_STRING*);
+PEPROCESS WINAPI IoGetCurrentProcess(void);
+
+PKTHREAD WINAPI KeGetCurrentThread(void);
+
+#define PsGetCurrentProcess() IoGetCurrentProcess()
+#define PsGetCurrentThread() ((PETHREAD)KeGetCurrentThread())
+HANDLE WINAPI PsGetCurrentProcessId(void);
+HANDLE WINAPI PsGetCurrentThreadId(void);
+BOOLEAN WINAPI PsGetVersion(ULONG*,ULONG*,ULONG*,UNICODE_STRING*);
+
NTSTATUS WINAPI ZwAddBootEntry(PUNICODE_STRING,PUNICODE_STRING);
NTSTATUS WINAPI ZwAccessCheckAndAuditAlarm(PUNICODE_STRING,HANDLE,PUNICODE_STRING,PUNICODE_STRING,PSECURITY_DESCRIPTOR,ACCESS_MASK,PGENERIC_MAPPING,BOOLEAN,PACCESS_MASK,PBOOLEAN,PBOOLEAN);
NTSTATUS WINAPI ZwAdjustPrivilegesToken(HANDLE,BOOLEAN,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
More information about the wine-cvs
mailing list