ntoskrnl.exe: Add stub Implementation of IoAllocateWorkItem.
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 4eec5f5..35d7db0 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -249,6 +249,16 @@
 
 
 /***********************************************************************
+ *           IoAllocateWorkItem  (NTOSKRNL.EXE.@)
+ */
+PIO_WORKITEM WINAPI IoAllocateWorkItem( PDEVICE_OBJECT DeviceObject )
+{
+    FIXME( "stub: %p \n", DeviceObject );
+    return NULL;
+}
+
+
+/***********************************************************************
  *           IoCreateDevice   (NTOSKRNL.EXE.@)
  */
 NTSTATUS WINAPI IoCreateDevice( DRIVER_OBJECT *driver, ULONG ext_size,
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 56cb407..689d0b3 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -313,7 +313,7 @@
 @ stub IoAllocateErrorLogEntry
 @ stub IoAllocateIrp
 @ stub IoAllocateMdl
-@ stub IoAllocateWorkItem
+@ stdcall IoAllocateWorkItem(ptr)
 @ stub IoAssignResources
 @ stub IoAttachDevice
 @ stub IoAttachDeviceByPointer
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index c78e2da..0e26ac2 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -88,6 +88,7 @@
 typedef struct _ETHREAD *PETHREAD;
 typedef struct _KTHREAD *PKTHREAD;
 typedef struct _EPROCESS *PEPROCESS;
+typedef struct _IO_WORKITEM *PIO_WORKITEM;
 
 #define MAXIMUM_VOLUME_LABEL_LENGTH       (32 * sizeof(WCHAR))