[PATCH] include/ddk: Fix memory layout of IRP and IO_STACK_LOCATION in wine64.

Nikolay Sivov bunglehead at gmail.com
Sun Nov 22 15:18:24 CST 2015


On 22.11.2015 23:11, Rafał Harabień wrote:
> Fixes https://bugs.winehq.org/show_bug.cgi?id=39648
>
> Signed-off-by: Rafał Harabień <rafalh1992 at o2.pl>
> ---
>   include/ddk/wdm.h | 4 ----
>   1 file changed, 4 deletions(-)
>
> diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
> index 0c51527..63baed2 100644
> --- a/include/ddk/wdm.h
> +++ b/include/ddk/wdm.h
> @@ -400,7 +400,6 @@ typedef struct _KAPC {
>     BOOLEAN  Inserted;
>   } KAPC, *PKAPC, *RESTRICTED_POINTER PRKAPC;
>
> -#include <pshpack1.h>
>   typedef struct _IRP {
>     CSHORT  Type;
>     USHORT  Size;
> @@ -456,7 +455,6 @@ typedef struct _IRP {
>     } Tail;
>   } IRP;
>   typedef struct _IRP *PIRP;
> -#include <poppack.h>

This one looks fine.

>
>   typedef VOID (WINAPI *PINTERFACE_REFERENCE)(
>     PVOID  Context);
> @@ -833,7 +831,6 @@ typedef NTSTATUS (WINAPI *PIO_COMPLETION_ROUTINE)(
>   #define SL_INVOKE_ON_SUCCESS            0x40
>   #define SL_INVOKE_ON_ERROR              0x80
>
> -#include <pshpack1.h>
>   typedef struct _IO_STACK_LOCATION {
>     UCHAR  MajorFunction;
>     UCHAR  MinorFunction;
> @@ -974,7 +971,6 @@ typedef struct _IO_STACK_LOCATION {
>     PIO_COMPLETION_ROUTINE  CompletionRoutine;
>     PVOID  Context;
>   } IO_STACK_LOCATION, *PIO_STACK_LOCATION;
> -#include <poppack.h>

This one doesn't - according to Win10 DDK, it should use pshpack4 for 
i386 case, or to be precise for platforms that are not AMD64, ARM or ARM64.

>
>   /* MDL definitions */
>
>




More information about the wine-devel mailing list