ntoskrnl.exe: Stub IoInvalidateDeviceRelations.

Aric Stewart aric at codeweavers.com
Thu Sep 1 06:55:45 CDT 2016



On 9/1/16 2:28 AM, Sebastian Lackner wrote:
> From: Aric Stewart <aric at codeweavers.com>
> 
> Signed-off-by: Aric Stewart <aric at codeweavers.com>
> Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
> ---
> 
> After we have reduced the size of the implementation a lot, it feels a bit
> unnecessary to add a separate pnp_manager.c file.
> 
> @ Aric: Are you fine with this change, or do you have significantly more
> PnP work after those initial four patches?
> 

I am find with it being in ntoskrnl.c if that is the decision as to what is best. 

It does affect the rest of the patch set so if this is where Alexandre agree it should go then that would be useful to get committed so that I can rebase the rest.

Also one of my earlier patches (125976) has an implementation of get_device_id in ntoskrnl.c which of course can be replace by the version in this set of patches.

-aric

> For patch 2 I have some more feedback which I will reply separately.
> 
>  dlls/ntoskrnl.exe/ntoskrnl.c        |   10 ++++++++++
>  dlls/ntoskrnl.exe/ntoskrnl.exe.spec |    2 +-
>  include/ddk/wdm.h                   |    1 +
>  3 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
> index a2cbb74..507ffdd 100644
> --- a/dlls/ntoskrnl.exe/ntoskrnl.c
> +++ b/dlls/ntoskrnl.exe/ntoskrnl.c
> @@ -4,6 +4,7 @@
>   * Copyright (C) 2007 Alexandre Julliard
>   * Copyright (C) 2010 Damjan Jovanovic
>   * Copyright (C) 2016 Sebastian Lackner
> + * Copyright (C) 2016 CodeWeavers, Aric Stewart
>   *
>   * This library is free software; you can redistribute it and/or
>   * modify it under the terms of the GNU Lesser General Public
> @@ -2788,3 +2789,12 @@ done:
>      CloseServiceHandle( service_handle );
>      return status;
>  }
> +
> +
> +/***********************************************************************
> + *           IoInvalidateDeviceRelations (NTOSKRNL.EXE.@)
> + */
> +void WINAPI IoInvalidateDeviceRelations( DEVICE_OBJECT *device_object, DEVICE_RELATION_TYPE type )
> +{
> +    FIXME( "(%p, %i): stub\n", device_object, type );
> +}
> diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
> index 5408e91..1c4d08f 100644
> --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
> +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
> @@ -400,7 +400,7 @@
>  @ stdcall IoInitializeIrp(ptr long long)
>  @ stdcall IoInitializeRemoveLockEx(ptr long long long long)
>  @ stdcall IoInitializeTimer(ptr ptr ptr)
> -@ stub IoInvalidateDeviceRelations
> +@ stdcall IoInvalidateDeviceRelations(ptr long)
>  @ stub IoInvalidateDeviceState
>  @ stub IoIsFileOriginRemote
>  @ stub IoIsOperationSynchronous
> diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
> index 68694af..0024968 100644
> --- a/include/ddk/wdm.h
> +++ b/include/ddk/wdm.h
> @@ -1234,6 +1234,7 @@ PVOID     WINAPI IoGetDriverObjectExtension(PDRIVER_OBJECT,PVOID);
>  PDEVICE_OBJECT WINAPI IoGetRelatedDeviceObject(PFILE_OBJECT);
>  void      WINAPI IoInitializeIrp(IRP*,USHORT,CCHAR);
>  VOID      WINAPI IoInitializeRemoveLockEx(PIO_REMOVE_LOCK,ULONG,ULONG,ULONG,ULONG);
> +void      WINAPI IoInvalidateDeviceRelations(PDEVICE_OBJECT,DEVICE_RELATION_TYPE);
>  NTSTATUS  WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT,ULONG);
>  
>  PKTHREAD  WINAPI KeGetCurrentThread(void);
> 



More information about the wine-devel mailing list