mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
[winpr,interlocked] code cleanup
* properly compile with and without NONAMELESSUNION * WINPR_ASSERT all arguments
This commit is contained in:
@@ -587,11 +587,7 @@ static HRESULT STDMETHODCALLTYPE CliprdrDataObject_GetData(IDataObject* This, FO
|
||||
if (cliprdr_send_data_request(clipboard, remote) != 0)
|
||||
return E_UNEXPECTED;
|
||||
|
||||
#if defined(NONAMELESSUNION)
|
||||
pMedium->u.hGlobal = clipboard->hmem;
|
||||
#else
|
||||
pMedium->hGlobal = clipboard->hmem;
|
||||
#endif
|
||||
/* points to a FILEGROUPDESCRIPTOR structure */
|
||||
/* GlobalLock returns a pointer to the first byte of the memory block,
|
||||
* in which is a FILEGROUPDESCRIPTOR structure, whose first UINT member
|
||||
@@ -628,11 +624,7 @@ static HRESULT STDMETHODCALLTYPE CliprdrDataObject_GetData(IDataObject* This, FO
|
||||
clipboard->hmem = NULL;
|
||||
}
|
||||
|
||||
#if defined(NONAMELESSUNION)
|
||||
pMedium->u.hGlobal = NULL;
|
||||
#else
|
||||
pMedium->hGlobal = NULL;
|
||||
#endif
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
}
|
||||
@@ -640,12 +632,7 @@ static HRESULT STDMETHODCALLTYPE CliprdrDataObject_GetData(IDataObject* This, FO
|
||||
{
|
||||
if ((pFormatEtc->lindex >= 0) && ((ULONG)pFormatEtc->lindex < instance->m_nStreams))
|
||||
{
|
||||
#if defined(NONAMELESSUNION)
|
||||
pMedium->u.pstm
|
||||
#else
|
||||
pMedium->pstm
|
||||
#endif
|
||||
= instance->m_pStream[pFormatEtc->lindex];
|
||||
pMedium->u.pstm = instance->m_pStream[pFormatEtc->lindex];
|
||||
IDataObject_AddRef(instance->m_pStream[pFormatEtc->lindex]);
|
||||
}
|
||||
else
|
||||
@@ -2081,11 +2068,7 @@ static SSIZE_T wf_cliprdr_get_filedescriptor(wfClipboard* clipboard, BYTE** pDat
|
||||
goto exit;
|
||||
}
|
||||
|
||||
#if defined(NONAMELESSUNION)
|
||||
HGLOBAL hdl = stg_medium.u.hGlobal;
|
||||
#else
|
||||
HGLOBAL hdl = stg_medium.hGlobal;
|
||||
#endif
|
||||
DROPFILES* dropFiles = (DROPFILES*)GlobalLock(hdl);
|
||||
|
||||
if (!dropFiles)
|
||||
@@ -2332,11 +2315,7 @@ wf_cliprdr_server_file_contents_request(CliprdrClientContext* context,
|
||||
|
||||
if (hRet == S_OK)
|
||||
{
|
||||
#if defined(NONAMELESSUNION)
|
||||
pStreamStc = vStgMedium.u.pstm;
|
||||
#else
|
||||
pStreamStc = vStgMedium.pstm;
|
||||
#endif
|
||||
uStreamIdStc = fileContentsRequest->streamId;
|
||||
bIsStreamFile = TRUE;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#include <winpr/config.h>
|
||||
|
||||
#include <winpr/assert.h>
|
||||
#include <winpr/platform.h>
|
||||
#include <winpr/synch.h>
|
||||
#include <winpr/handle.h>
|
||||
@@ -34,6 +35,7 @@
|
||||
|
||||
VOID InitializeSListHead(WINPR_PSLIST_HEADER ListHead)
|
||||
{
|
||||
WINPR_ASSERT(ListHead);
|
||||
#ifdef _WIN64
|
||||
ListHead->s.Alignment = 0;
|
||||
ListHead->s.Region = 0;
|
||||
@@ -46,9 +48,11 @@ VOID InitializeSListHead(WINPR_PSLIST_HEADER ListHead)
|
||||
WINPR_PSLIST_ENTRY InterlockedPushEntrySList(WINPR_PSLIST_HEADER ListHead,
|
||||
WINPR_PSLIST_ENTRY ListEntry)
|
||||
{
|
||||
WINPR_SLIST_HEADER old;
|
||||
WINPR_SLIST_HEADER newHeader;
|
||||
WINPR_SLIST_HEADER old = { 0 };
|
||||
WINPR_SLIST_HEADER newHeader = { 0 };
|
||||
|
||||
WINPR_ASSERT(ListHead);
|
||||
WINPR_ASSERT(ListEntry);
|
||||
#ifdef _WIN64
|
||||
newHeader.HeaderX64.NextEntry = (((ULONG_PTR)ListEntry) >> 4);
|
||||
|
||||
@@ -61,11 +65,10 @@ WINPR_PSLIST_ENTRY InterlockedPushEntrySList(WINPR_PSLIST_HEADER ListHead,
|
||||
newHeader.HeaderX64.Depth = old.HeaderX64.Depth + 1;
|
||||
newHeader.HeaderX64.Sequence = old.HeaderX64.Sequence + 1;
|
||||
|
||||
if (InterlockedCompareExchange64((LONGLONG*)ListHead, newHeader.s.Alignment,
|
||||
old.s.Alignment))
|
||||
if (InterlockedCompareExchange64((LONGLONG*)ListHead, newHeader).Alignment, old).Alignment))
|
||||
{
|
||||
InterlockedCompareExchange64(&((LONGLONG*)ListHead)[1], newHeader.s.Region,
|
||||
old.s.Region);
|
||||
InterlockedCompareExchange64(&((LONGLONG*)ListHead)[1], newHeader).Region,
|
||||
old).Region);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -97,6 +100,10 @@ WINPR_PSLIST_ENTRY InterlockedPushEntrySList(WINPR_PSLIST_HEADER ListHead,
|
||||
WINPR_PSLIST_ENTRY InterlockedPushListSListEx(WINPR_PSLIST_HEADER ListHead, WINPR_PSLIST_ENTRY List,
|
||||
WINPR_PSLIST_ENTRY ListEnd, ULONG Count)
|
||||
{
|
||||
WINPR_ASSERT(ListHead);
|
||||
WINPR_ASSERT(List);
|
||||
WINPR_ASSERT(ListEnd);
|
||||
|
||||
#ifdef _WIN64
|
||||
|
||||
#else
|
||||
@@ -107,10 +114,12 @@ WINPR_PSLIST_ENTRY InterlockedPushListSListEx(WINPR_PSLIST_HEADER ListHead, WINP
|
||||
|
||||
WINPR_PSLIST_ENTRY InterlockedPopEntrySList(WINPR_PSLIST_HEADER ListHead)
|
||||
{
|
||||
WINPR_SLIST_HEADER old;
|
||||
WINPR_SLIST_HEADER newHeader;
|
||||
WINPR_SLIST_HEADER old = { 0 };
|
||||
WINPR_SLIST_HEADER newHeader = { 0 };
|
||||
WINPR_PSLIST_ENTRY entry = NULL;
|
||||
|
||||
WINPR_ASSERT(ListHead);
|
||||
|
||||
#ifdef _WIN64
|
||||
while (1)
|
||||
{
|
||||
@@ -125,11 +134,10 @@ WINPR_PSLIST_ENTRY InterlockedPopEntrySList(WINPR_PSLIST_HEADER ListHead)
|
||||
newHeader.HeaderX64.Depth = old.HeaderX64.Depth - 1;
|
||||
newHeader.HeaderX64.Sequence = old.HeaderX64.Sequence - 1;
|
||||
|
||||
if (InterlockedCompareExchange64((LONGLONG*)ListHead, newHeader.s.Alignment,
|
||||
old.s.Alignment))
|
||||
if (InterlockedCompareExchange64((LONGLONG*)ListHead, newHeader).Alignment, old).Alignment))
|
||||
{
|
||||
InterlockedCompareExchange64(&((LONGLONG*)ListHead)[1], newHeader.s.Region,
|
||||
old.s.Region);
|
||||
InterlockedCompareExchange64(&((LONGLONG*)ListHead)[1], newHeader).Region,
|
||||
old).Region);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -162,15 +170,16 @@ WINPR_PSLIST_ENTRY InterlockedPopEntrySList(WINPR_PSLIST_HEADER ListHead)
|
||||
|
||||
WINPR_PSLIST_ENTRY InterlockedFlushSList(WINPR_PSLIST_HEADER ListHead)
|
||||
{
|
||||
WINPR_SLIST_HEADER old;
|
||||
WINPR_SLIST_HEADER newHeader;
|
||||
WINPR_SLIST_HEADER old = { 0 };
|
||||
WINPR_SLIST_HEADER newHeader = { 0 };
|
||||
|
||||
WINPR_ASSERT(ListHead);
|
||||
if (!QueryDepthSList(ListHead))
|
||||
return NULL;
|
||||
|
||||
#ifdef _WIN64
|
||||
newHeader.s.Alignment = 0;
|
||||
newHeader.s.Region = 0;
|
||||
newHeader).Alignment = 0;
|
||||
newHeader).Region = 0;
|
||||
newHeader.HeaderX64.HeaderType = 1;
|
||||
|
||||
while (1)
|
||||
@@ -178,11 +187,10 @@ WINPR_PSLIST_ENTRY InterlockedFlushSList(WINPR_PSLIST_HEADER ListHead)
|
||||
old = *ListHead;
|
||||
newHeader.HeaderX64.Sequence = old.HeaderX64.Sequence + 1;
|
||||
|
||||
if (InterlockedCompareExchange64((LONGLONG*)ListHead, newHeader.s.Alignment,
|
||||
old.s.Alignment))
|
||||
if (InterlockedCompareExchange64((LONGLONG*)ListHead, newHeader).Alignment, old).Alignment))
|
||||
{
|
||||
InterlockedCompareExchange64(&((LONGLONG*)ListHead)[1], newHeader.s.Region,
|
||||
old.s.Region);
|
||||
InterlockedCompareExchange64(&((LONGLONG*)ListHead)[1], newHeader).Region,
|
||||
old).Region);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -212,6 +220,8 @@ WINPR_PSLIST_ENTRY InterlockedFlushSList(WINPR_PSLIST_HEADER ListHead)
|
||||
|
||||
USHORT QueryDepthSList(WINPR_PSLIST_HEADER ListHead)
|
||||
{
|
||||
WINPR_ASSERT(ListHead);
|
||||
|
||||
#ifdef _WIN64
|
||||
return ListHead->HeaderX64.Depth;
|
||||
#else
|
||||
@@ -221,6 +231,8 @@ USHORT QueryDepthSList(WINPR_PSLIST_HEADER ListHead)
|
||||
|
||||
LONG InterlockedIncrement(LONG volatile* Addend)
|
||||
{
|
||||
WINPR_ASSERT(Addend);
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
WINPR_PRAGMA_DIAG_PUSH
|
||||
WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST
|
||||
@@ -233,6 +245,8 @@ LONG InterlockedIncrement(LONG volatile* Addend)
|
||||
|
||||
LONG InterlockedDecrement(LONG volatile* Addend)
|
||||
{
|
||||
WINPR_ASSERT(Addend);
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
WINPR_PRAGMA_DIAG_PUSH
|
||||
WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST
|
||||
@@ -245,6 +259,8 @@ LONG InterlockedDecrement(LONG volatile* Addend)
|
||||
|
||||
LONG InterlockedExchange(LONG volatile* Target, LONG Value)
|
||||
{
|
||||
WINPR_ASSERT(Target);
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
WINPR_PRAGMA_DIAG_PUSH
|
||||
WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST
|
||||
@@ -257,6 +273,8 @@ LONG InterlockedExchange(LONG volatile* Target, LONG Value)
|
||||
|
||||
LONG InterlockedExchangeAdd(LONG volatile* Addend, LONG Value)
|
||||
{
|
||||
WINPR_ASSERT(Addend);
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
WINPR_PRAGMA_DIAG_PUSH
|
||||
WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST
|
||||
@@ -269,6 +287,8 @@ LONG InterlockedExchangeAdd(LONG volatile* Addend, LONG Value)
|
||||
|
||||
LONG InterlockedCompareExchange(LONG volatile* Destination, LONG Exchange, LONG Comperand)
|
||||
{
|
||||
WINPR_ASSERT(Destination);
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
WINPR_PRAGMA_DIAG_PUSH
|
||||
WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST
|
||||
@@ -282,6 +302,8 @@ LONG InterlockedCompareExchange(LONG volatile* Destination, LONG Exchange, LONG
|
||||
PVOID InterlockedCompareExchangePointer(PVOID volatile* Destination, PVOID Exchange,
|
||||
PVOID Comperand)
|
||||
{
|
||||
WINPR_ASSERT(Destination);
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
WINPR_PRAGMA_DIAG_PUSH
|
||||
WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST
|
||||
@@ -367,6 +389,8 @@ LONGLONG InterlockedCompareExchange64(LONGLONG volatile* Destination, LONGLONG E
|
||||
LONGLONG InterlockedCompareExchange64(LONGLONG volatile* Destination, LONGLONG Exchange,
|
||||
LONGLONG Comperand)
|
||||
{
|
||||
WINPR_ASSERT(Destination);
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
WINPR_PRAGMA_DIAG_PUSH
|
||||
WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST
|
||||
@@ -391,21 +415,25 @@ LONGLONG InterlockedCompareExchange64(LONGLONG volatile* Destination, LONGLONG E
|
||||
|
||||
VOID InitializeListHead(WINPR_PLIST_ENTRY ListHead)
|
||||
{
|
||||
WINPR_ASSERT(ListHead);
|
||||
ListHead->Flink = ListHead->Blink = ListHead;
|
||||
}
|
||||
|
||||
BOOL IsListEmpty(const WINPR_LIST_ENTRY* ListHead)
|
||||
{
|
||||
WINPR_ASSERT(ListHead);
|
||||
return (BOOL)(ListHead->Flink == ListHead);
|
||||
}
|
||||
|
||||
BOOL RemoveEntryList(WINPR_PLIST_ENTRY Entry)
|
||||
{
|
||||
WINPR_PLIST_ENTRY OldFlink = NULL;
|
||||
WINPR_PLIST_ENTRY OldBlink = NULL;
|
||||
WINPR_ASSERT(Entry);
|
||||
WINPR_PLIST_ENTRY OldFlink = Entry->Flink;
|
||||
WINPR_ASSERT(OldFlink);
|
||||
|
||||
WINPR_PLIST_ENTRY OldBlink = Entry->Blink;
|
||||
WINPR_ASSERT(OldBlink);
|
||||
|
||||
OldFlink = Entry->Flink;
|
||||
OldBlink = Entry->Blink;
|
||||
OldFlink->Blink = OldBlink;
|
||||
OldBlink->Flink = OldFlink;
|
||||
|
||||
@@ -414,9 +442,12 @@ BOOL RemoveEntryList(WINPR_PLIST_ENTRY Entry)
|
||||
|
||||
VOID InsertHeadList(WINPR_PLIST_ENTRY ListHead, WINPR_PLIST_ENTRY Entry)
|
||||
{
|
||||
WINPR_PLIST_ENTRY OldFlink = NULL;
|
||||
WINPR_ASSERT(ListHead);
|
||||
WINPR_ASSERT(Entry);
|
||||
|
||||
WINPR_PLIST_ENTRY OldFlink = ListHead->Flink;
|
||||
WINPR_ASSERT(OldFlink);
|
||||
|
||||
OldFlink = ListHead->Flink;
|
||||
Entry->Flink = OldFlink;
|
||||
Entry->Blink = ListHead;
|
||||
OldFlink->Blink = Entry;
|
||||
@@ -425,11 +456,14 @@ VOID InsertHeadList(WINPR_PLIST_ENTRY ListHead, WINPR_PLIST_ENTRY Entry)
|
||||
|
||||
WINPR_PLIST_ENTRY RemoveHeadList(WINPR_PLIST_ENTRY ListHead)
|
||||
{
|
||||
WINPR_PLIST_ENTRY Flink = NULL;
|
||||
WINPR_PLIST_ENTRY Entry = NULL;
|
||||
WINPR_ASSERT(ListHead);
|
||||
|
||||
WINPR_PLIST_ENTRY Entry = ListHead->Flink;
|
||||
WINPR_ASSERT(Entry);
|
||||
|
||||
WINPR_PLIST_ENTRY Flink = Entry->Flink;
|
||||
WINPR_ASSERT(Flink);
|
||||
|
||||
Entry = ListHead->Flink;
|
||||
Flink = Entry->Flink;
|
||||
ListHead->Flink = Flink;
|
||||
Flink->Blink = ListHead;
|
||||
|
||||
@@ -438,9 +472,12 @@ WINPR_PLIST_ENTRY RemoveHeadList(WINPR_PLIST_ENTRY ListHead)
|
||||
|
||||
VOID InsertTailList(WINPR_PLIST_ENTRY ListHead, WINPR_PLIST_ENTRY Entry)
|
||||
{
|
||||
WINPR_PLIST_ENTRY OldBlink = NULL;
|
||||
WINPR_ASSERT(ListHead);
|
||||
WINPR_ASSERT(Entry);
|
||||
|
||||
WINPR_PLIST_ENTRY OldBlink = ListHead->Blink;
|
||||
WINPR_ASSERT(OldBlink);
|
||||
|
||||
OldBlink = ListHead->Blink;
|
||||
Entry->Flink = ListHead;
|
||||
Entry->Blink = OldBlink;
|
||||
OldBlink->Flink = Entry;
|
||||
@@ -449,11 +486,14 @@ VOID InsertTailList(WINPR_PLIST_ENTRY ListHead, WINPR_PLIST_ENTRY Entry)
|
||||
|
||||
WINPR_PLIST_ENTRY RemoveTailList(WINPR_PLIST_ENTRY ListHead)
|
||||
{
|
||||
WINPR_PLIST_ENTRY Blink = NULL;
|
||||
WINPR_PLIST_ENTRY Entry = NULL;
|
||||
WINPR_ASSERT(ListHead);
|
||||
|
||||
WINPR_PLIST_ENTRY Entry = ListHead->Blink;
|
||||
WINPR_ASSERT(Entry);
|
||||
|
||||
WINPR_PLIST_ENTRY Blink = Entry->Blink;
|
||||
WINPR_ASSERT(Blink);
|
||||
|
||||
Entry = ListHead->Blink;
|
||||
Blink = Entry->Blink;
|
||||
ListHead->Blink = Blink;
|
||||
Blink->Flink = ListHead;
|
||||
|
||||
@@ -462,6 +502,9 @@ WINPR_PLIST_ENTRY RemoveTailList(WINPR_PLIST_ENTRY ListHead)
|
||||
|
||||
VOID AppendTailList(WINPR_PLIST_ENTRY ListHead, WINPR_PLIST_ENTRY ListToAppend)
|
||||
{
|
||||
WINPR_ASSERT(ListHead);
|
||||
WINPR_ASSERT(ListToAppend);
|
||||
|
||||
WINPR_PLIST_ENTRY ListEnd = ListHead->Blink;
|
||||
|
||||
ListHead->Blink->Flink = ListToAppend;
|
||||
@@ -472,15 +515,17 @@ VOID AppendTailList(WINPR_PLIST_ENTRY ListHead, WINPR_PLIST_ENTRY ListToAppend)
|
||||
|
||||
VOID PushEntryList(WINPR_PSINGLE_LIST_ENTRY ListHead, WINPR_PSINGLE_LIST_ENTRY Entry)
|
||||
{
|
||||
WINPR_ASSERT(ListHead);
|
||||
WINPR_ASSERT(Entry);
|
||||
|
||||
Entry->Next = ListHead->Next;
|
||||
ListHead->Next = Entry;
|
||||
}
|
||||
|
||||
WINPR_PSINGLE_LIST_ENTRY PopEntryList(WINPR_PSINGLE_LIST_ENTRY ListHead)
|
||||
{
|
||||
WINPR_PSINGLE_LIST_ENTRY FirstEntry = NULL;
|
||||
|
||||
FirstEntry = ListHead->Next;
|
||||
WINPR_ASSERT(ListHead);
|
||||
WINPR_PSINGLE_LIST_ENTRY FirstEntry = ListHead->Next;
|
||||
|
||||
if (FirstEntry != NULL)
|
||||
ListHead->Next = FirstEntry->Next;
|
||||
|
||||
@@ -332,12 +332,7 @@ BOOL NamedPipeRead(PVOID Object, LPVOID lpBuffer, DWORD nNumberOfBytesToRead,
|
||||
/* synchronous behavior */
|
||||
lpOverlapped->Internal = 0;
|
||||
lpOverlapped->InternalHigh = (ULONG_PTR)nNumberOfBytesToRead;
|
||||
#if defined(NONAMELESSUNION)
|
||||
lpOverlapped->DUMMYUNIONNAME.Pointer
|
||||
#else
|
||||
lpOverlapped->Pointer
|
||||
#endif
|
||||
= (PVOID)lpBuffer;
|
||||
lpOverlapped->DUMMYUNIONNAME.Pointer = (PVOID)lpBuffer;
|
||||
(void)SetEvent(lpOverlapped->hEvent);
|
||||
#endif
|
||||
}
|
||||
@@ -431,12 +426,7 @@ BOOL NamedPipeWrite(PVOID Object, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite,
|
||||
PVOID pv;
|
||||
} cnv;
|
||||
cnv.cpv = lpBuffer;
|
||||
#if defined(NONAMELESSUNION)
|
||||
lpOverlapped->DUMMYUNIONNAME.Pointer
|
||||
#else
|
||||
lpOverlapped->Pointer
|
||||
#endif
|
||||
= cnv.pv;
|
||||
lpOverlapped->DUMMYUNIONNAME.Pointer = cnv.pv;
|
||||
}
|
||||
(void)SetEvent(lpOverlapped->hEvent);
|
||||
#endif
|
||||
@@ -792,12 +782,7 @@ BOOL ConnectNamedPipe(HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped)
|
||||
/* synchronous behavior */
|
||||
lpOverlapped->Internal = 2;
|
||||
lpOverlapped->InternalHigh = (ULONG_PTR)0;
|
||||
#if defined(NONAMELESSUNION)
|
||||
lpOverlapped->DUMMYUNIONNAME.Pointer
|
||||
#else
|
||||
lpOverlapped->Pointer
|
||||
#endif
|
||||
= (PVOID)NULL;
|
||||
lpOverlapped->DUMMYUNIONNAME.Pointer = (PVOID)NULL;
|
||||
(void)SetEvent(lpOverlapped->hEvent);
|
||||
}
|
||||
|
||||
|
||||
@@ -231,11 +231,7 @@ void GetSystemInfo(LPSYSTEM_INFO lpSystemInfo)
|
||||
WINPR_ASSERT(lpSystemInfo);
|
||||
|
||||
*lpSystemInfo = empty;
|
||||
#if defined(NONAMELESSUNION)
|
||||
lpSystemInfo->DUMMYUNIONNAME.DUMMYSTRUCTNAME.wProcessorArchitecture =
|
||||
#else
|
||||
lpSystemInfo->wProcessorArchitecture =
|
||||
#endif
|
||||
GetProcessorArchitecture();
|
||||
lpSystemInfo->dwPageSize = GetSystemPageSize();
|
||||
lpSystemInfo->dwNumberOfProcessors = GetNumberOfProcessors();
|
||||
|
||||
@@ -11,14 +11,10 @@ int TestGetNativeSystemInfo(int argc, char* argv[])
|
||||
|
||||
GetNativeSystemInfo(&sysinfo);
|
||||
|
||||
#if defined(NONAMELESSUNION)
|
||||
const UINT16 wProcessorArchitecture =
|
||||
sysinfo.DUMMYUNIONNAME.DUMMYSTRUCTNAME.wProcessorArchitecture;
|
||||
const UINT16 wReserved = sysinfo.DUMMYUNIONNAME.DUMMYSTRUCTNAME.wReserved;
|
||||
#else
|
||||
const UINT16 wProcessorArchitecture = sysinfo.wProcessorArchitecture;
|
||||
const UINT16 wReserved = sysinfo.wReserved;
|
||||
#endif
|
||||
|
||||
printf("SystemInfo:\n");
|
||||
printf("\twProcessorArchitecture: %" PRIu16 "\n", wProcessorArchitecture);
|
||||
printf("\twReserved: %" PRIu16 "\n", wReserved);
|
||||
|
||||
@@ -671,13 +671,7 @@ BOOL Win32_WTSVirtualChannelPurge_Internal(HANDLE hChannelHandle, ULONG IoContro
|
||||
ntstatus = NtWaitForSingleObject(pChannel->hFile, 0, 0);
|
||||
|
||||
if (ntstatus >= 0)
|
||||
{
|
||||
#if defined(NONAMELESSUNION)
|
||||
ntstatus = ioStatusBlock.DUMMYUNIONNAME.Status;
|
||||
#else
|
||||
ntstatus = ioStatusBlock.Status;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
if (ntstatus == STATUS_BUFFER_OVERFLOW)
|
||||
|
||||
Reference in New Issue
Block a user