Module: wine Branch: master Commit: c0816eabff42724de0091613bd3a304c7c497a24 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c0816eabff42724de0091613bd...
Author: Marcus Meissner marcus@jet.franken.de Date: Tue Dec 2 09:22:10 2014 +0100
ntoskrnl.exe: Added IoBuildSynchronousFsdRequest and IoGetAttachedDevice stubs.
---
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 a31b186..78df9f1 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -532,6 +532,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.@) */ @@ -731,9 +768,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