diff --git a/dlls/kernel/change.c b/dlls/kernel/change.c index 7c5eb92474..abf57af32b 100644 --- a/dlls/kernel/change.c +++ b/dlls/kernel/change.c @@ -26,6 +26,8 @@ #include "ntstatus.h" #define WIN32_NO_STATUS +#define NONAMELESSUNION +#define NONAMELESSSTRUCT #include "windef.h" #include "winbase.h" #include "winerror.h" @@ -167,7 +169,7 @@ BOOL WINAPI ReadDirectoryChangesW( HANDLE handle, LPVOID buffer, DWORD len, BOOL pov = overlapped; ios = (PIO_STATUS_BLOCK) pov; - ios->Status = STATUS_PENDING; + ios->u.Status = STATUS_PENDING; status = NtNotifyChangeDirectoryFile( handle, pov->hEvent, NULL, NULL, ios, buffer, len, filter, subtree ); @@ -180,7 +182,7 @@ BOOL WINAPI ReadDirectoryChangesW( HANDLE handle, LPVOID buffer, DWORD len, BOOL CloseHandle( ov.hEvent ); if (returned) *returned = ios->Information; - status = ios->Status; + status = ios->u.Status; } if (status != STATUS_SUCCESS) diff --git a/dlls/kernel/tests/change.c b/dlls/kernel/tests/change.c index e21a875d5f..3c8e2451c7 100644 --- a/dlls/kernel/tests/change.c +++ b/dlls/kernel/tests/change.c @@ -431,8 +431,8 @@ static void test_readdirectorychanges(void) SetEvent(ov.hEvent); ov.Internal = 1; ov.InternalHigh = 1; - ov.Offset = 0; - ov.OffsetHigh = 0; + S(U(ov)).Offset = 0; + S(U(ov)).OffsetHigh = 0; memset( buffer, 0, sizeof buffer ); r = pReadDirectoryChangesW(hdir,buffer,sizeof buffer,FALSE,filter,NULL,&ov,NULL); ok(r==TRUE, "should return true\n"); @@ -532,8 +532,8 @@ static void test_readdirectorychanges_null(void) ov.Internal = 0; ov.InternalHigh = 0; - ov.Offset = 0; - ov.OffsetHigh = 0; + S(U(ov)).Offset = 0; + S(U(ov)).OffsetHigh = 0; memset( buffer, 0, sizeof buffer ); r = pReadDirectoryChangesW(hdir,buffer,sizeof buffer,FALSE,filter,NULL,&ov,NULL);