Browse Source

win-capture: Rename structs to avoid SDK conflict

Windows SDK 10.0.16299.0 defines these structures as part of winternl.h
but using different types and names. Unfortunately there's no macro to
detect the SDK version, so to avoid conflicting with newer / older SDKs
the OBS structs have been renamed.
Richard Stanway 8 years ago
parent
commit
cf9f016820
1 changed files with 9 additions and 9 deletions
  1. 9 9
      plugins/win-capture/nt-stuff.h

+ 9 - 9
plugins/win-capture/nt-stuff.h

@@ -5,7 +5,7 @@
 #define THREAD_STATE_WAITING 5
 #define THREAD_STATE_WAITING 5
 #define THREAD_WAIT_REASON_SUSPENDED 5
 #define THREAD_WAIT_REASON_SUSPENDED 5
 
 
-typedef struct _SYSTEM_PROCESS_INFORMATION2 {
+typedef struct _OBS_SYSTEM_PROCESS_INFORMATION2 {
     ULONG NextEntryOffset;
     ULONG NextEntryOffset;
     ULONG ThreadCount;
     ULONG ThreadCount;
     BYTE Reserved1[48];
     BYTE Reserved1[48];
@@ -18,9 +18,9 @@ typedef struct _SYSTEM_PROCESS_INFORMATION2 {
     SIZE_T PeakPagefileUsage;
     SIZE_T PeakPagefileUsage;
     SIZE_T PrivatePageCount;
     SIZE_T PrivatePageCount;
     LARGE_INTEGER Reserved6[6];
     LARGE_INTEGER Reserved6[6];
-} SYSTEM_PROCESS_INFORMATION2;
+} OBS_SYSTEM_PROCESS_INFORMATION2;
 
 
-typedef struct _SYSTEM_THREAD_INFORMATION {
+typedef struct _OBS_SYSTEM_THREAD_INFORMATION {
 	FILETIME KernelTime;
 	FILETIME KernelTime;
 	FILETIME UserTime;
 	FILETIME UserTime;
 	FILETIME CreateTime;
 	FILETIME CreateTime;
@@ -34,7 +34,7 @@ typedef struct _SYSTEM_THREAD_INFORMATION {
 	DWORD ThreadState;
 	DWORD ThreadState;
 	DWORD WaitReason;
 	DWORD WaitReason;
 	DWORD Reserved1;
 	DWORD Reserved1;
-} SYSTEM_THREAD_INFORMATION;
+} OBS_SYSTEM_THREAD_INFORMATION;
 
 
 #ifndef NT_SUCCESS
 #ifndef NT_SUCCESS
 #define NT_SUCCESS(status) ((NTSTATUS)(status) >= 0)
 #define NT_SUCCESS(status) ((NTSTATUS)(status) >= 0)
@@ -137,7 +137,7 @@ static bool thread_is_suspended(DWORD process_id, DWORD thread_id)
 		data = malloc(size);
 		data = malloc(size);
 	}
 	}
 
 
-	SYSTEM_PROCESS_INFORMATION2 *spi = data;
+	OBS_SYSTEM_PROCESS_INFORMATION2 *spi = data;
 
 
 	for (;;) {
 	for (;;) {
 		if (spi->UniqueProcessId == (HANDLE)process_id) {
 		if (spi->UniqueProcessId == (HANDLE)process_id) {
@@ -148,12 +148,12 @@ static bool thread_is_suspended(DWORD process_id, DWORD thread_id)
 		if (!offset)
 		if (!offset)
 			goto fail;
 			goto fail;
 
 
-		spi = (SYSTEM_PROCESS_INFORMATION2*)((BYTE*)spi + offset);
+		spi = (OBS_SYSTEM_PROCESS_INFORMATION2*)((BYTE*)spi + offset);
 	}
 	}
 
 
-	SYSTEM_THREAD_INFORMATION *sti;
-	SYSTEM_THREAD_INFORMATION *info = NULL;
-	sti = (SYSTEM_THREAD_INFORMATION*)((BYTE*)spi + sizeof(*spi));
+	OBS_SYSTEM_THREAD_INFORMATION *sti;
+	OBS_SYSTEM_THREAD_INFORMATION *info = NULL;
+	sti = (OBS_SYSTEM_THREAD_INFORMATION*)((BYTE*)spi + sizeof(*spi));
 
 
 	for (ULONG i = 0; i < spi->ThreadCount; i++) {
 	for (ULONG i = 0; i < spi->ThreadCount; i++) {
 		if (sti[i].UniqueThreadId == (HANDLE)thread_id) {
 		if (sti[i].UniqueThreadId == (HANDLE)thread_id) {