From ea31cf0a5777f1c16b66d361ccb0104c1fc5f297 Mon Sep 17 00:00:00 2001 From: Francois Gouget Date: Tue, 20 Nov 2001 18:52:20 +0000 Subject: [PATCH] Fix LUID definition. --- dlls/advapi32/service.c | 4 ++-- dlls/ntdll/nt.c | 15 +++++++++------ include/winnt.h | 11 +++++++---- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c index 679821ec4a7..ac7ecb59c73 100644 --- a/dlls/advapi32/service.c +++ b/dlls/advapi32/service.c @@ -262,8 +262,8 @@ OpenSCManagerW( LPCWSTR lpMachineName, LPCWSTR lpDatabaseName, BOOL WINAPI AllocateLocallyUniqueId( PLUID lpluid ) { - lpluid->s.LowPart = time(NULL); - lpluid->s.HighPart = 0; + lpluid->LowPart = time(NULL); + lpluid->HighPart = 0; return TRUE; } diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c index be0dcdbc789..46f1a107d19 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c @@ -692,12 +692,15 @@ NTSTATUS WINAPI NtPowerInformation(DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5) */ NTSTATUS WINAPI NtAllocateLocallyUniqueId(PLUID Luid) { - static LUID luid; + static LUID luid; - FIXME("%p (0x%08lx%08lx)\n", Luid, luid.DUMMYSTRUCTNAME.HighPart, luid.DUMMYSTRUCTNAME.LowPart); + FIXME("%p (0x%08lx%08lx)\n", Luid, luid.HighPart, luid.LowPart); - luid.QuadPart++; - - Luid->QuadPart = luid.QuadPart; - return STATUS_SUCCESS; + luid.LowPart++; + if (luid.LowPart==0) + luid.HighPart++; + Luid->HighPart = luid.HighPart; + Luid->LowPart = luid.LowPart; + + return STATUS_SUCCESS; } diff --git a/include/winnt.h b/include/winnt.h index 40a1ff1edf3..4c12835202a 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -3591,12 +3591,15 @@ typedef union _ULARGE_INTEGER { * Locally Unique Identifier */ -typedef LARGE_INTEGER LUID,*PLUID; +typedef struct _LUID { + DWORD LowPart; + LONG HighPart; +} LUID, *PLUID; typedef struct _LUID_AND_ATTRIBUTES { - LUID Luid; - DWORD Attributes; -} LUID_AND_ATTRIBUTES; + LUID Luid; + DWORD Attributes; +} LUID_AND_ATTRIBUTES; /* * PRIVILEGE_SET