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

Rafal H rafalh92 at outlook.com
Sun Nov 22 15:22:27 CST 2015


Yes, I must agree. I realized it after submitting patch and testing if 
sizeof(IO_STACK_LOCATION) has changed for 32 bit (it did). I'll make new 
patch.

W dniu 22.11.2015 o 22:18, Nikolay Sivov pisze:
> 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