[PATCH] ntoskrnl.exe: added IoBuildSynchronousFsdRequest and IoGetAttachedDevice stubs
Marcus Meissner
marcus at jet.franken.de
Tue Dec 2 02:22:10 CST 2014
---
dlls/ntoskrnl.exe/ntoskrnl.c | 51 ++++++++++++++++++++++++++++++++++++-
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 4 +--
2 files changed, 52 insertions(+), 3 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 47a0e0d..faca13f 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -534,6 +534,43 @@ PIRP WINAPI IoBuildDeviceIoControlRequest( ULONG IoControlCode,
}
+/**********************************************************
+ * IoBuildSynchronousFsdRequest (NTOSKRNL.EXE.@)
+ */
+PIRP WINAPI IoBuildSynchronousFsdRequest(ULONG majorfunc, PDEVICE_OBJECT device,
+ PVOID buffer, ULONG length, PLARGE_INTEGER startoffset,
+ PKEVENT event, PIO_STATUS_BLOCK iosb)
+{
+ PIRP irp;
+ struct IrpInstance *instance;
+ PIO_STACK_LOCATION irpsp;
+
+ FIXME("(%d %p %p %d %p %p %p) stub\n", majorfunc, device, buffer, length, startoffset, event, iosb);
+
+ irp = IoAllocateIrp( device->StackSize, FALSE );
+ if (irp == NULL)
+ return NULL;
+
+ instance = HeapAlloc( GetProcessHeap(), 0, sizeof(struct IrpInstance) );
+ if (instance == NULL)
+ {
+ IoFreeIrp( irp );
+ return NULL;
+ }
+ instance->irp = irp;
+ list_add_tail( &Irps, &instance->entry );
+
+ irpsp = IoGetNextIrpStackLocation( irp );
+ irpsp->MajorFunction = majorfunc;
+ /*irpsp->Parameters.DeviceIoControl.IoControlCode = IoControlCode;*/
+
+ irp->UserIosb = iosb;
+ irp->UserEvent = event;
+ irp->UserBuffer = buffer;
+ return irp;
+}
+
+
/***********************************************************************
* IoCreateDriver (NTOSKRNL.EXE.@)
*/
@@ -733,9 +770,21 @@ NTSTATUS WINAPI IoGetDeviceObjectPointer( UNICODE_STRING *name, ACCESS_MASK acc
{
FIXME( "stub: %s %x %p %p\n", debugstr_us(name), access, file, device );
- return STATUS_NOT_IMPLEMENTED;
+ *file = NULL;
+ *device = NULL;
+
+ return STATUS_SUCCESS;
}
+/***********************************************************************
+ * IoGetAttachedDevice (NTOSKRNL.EXE.@)
+ */
+PDEVICE_OBJECT WINAPI IoGetAttachedDevice( PDEVICE_OBJECT device )
+{
+ FIXME( "stub: %p\n", device );
+
+ return device;
+}
/***********************************************************************
* IoGetDeviceProperty (NTOSKRNL.EXE.@)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 4ead907..3bcf21c 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -322,7 +322,7 @@
@ stub IoBuildAsynchronousFsdRequest
@ stdcall IoBuildDeviceIoControlRequest(long ptr ptr long ptr long long ptr ptr)
@ stub IoBuildPartialMdl
-@ stub IoBuildSynchronousFsdRequest
+@ stdcall IoBuildSynchronousFsdRequest(long ptr ptr long ptr ptr ptr)
@ stdcall IoCallDriver(ptr ptr)
@ stub IoCancelFileOpen
@ stub IoCancelIrp
@@ -373,7 +373,7 @@
@ stdcall IoFreeIrp(ptr)
@ stdcall IoFreeMdl(ptr)
@ stub IoFreeWorkItem
-@ stub IoGetAttachedDevice
+@ stdcall IoGetAttachedDevice(ptr)
@ stub IoGetAttachedDeviceReference
@ stub IoGetBaseFileSystemDeviceObject
@ stub IoGetBootDiskInformation
--
1.8.4.5
More information about the wine-patches
mailing list