[ros-dev] Compatibility Problems

James Tabor jimtabor at adsl-64-217-116-74.dsl.hstntx.swbell.net
Mon May 23 17:57:00 CEST 2005


Ok!
This works! Ignore the structure names. I had to change them so to keep them away
from the prim headers. The rest of the names and types should all be the same.



#include <windows.h>
/* NOTE: W32API ddk/ntapi.h header has wrong definition of SYSTEM_PROCESSES. */
#include <ntos/types.h>

typedef struct _SYSTEM_THREADS 	
  { 	
     LARGE_INTEGER KernelTime;
     LARGE_INTEGER UserTime;
     LARGE_INTEGER CreateTime;
     ULONG WaitTime;
     PVOID StartAddress;
     CLIENT_ID ClientId;
     KPRIORITY Priority;
     LONG BasePriority;
     ULONG ContextSwitches;
     ULONG ThreadState;
     ULONG WaitReason;
  } SYSTEM_THREADS, *PSYSTEM_THREADS; 	
   	
  typedef struct _SYSTEM_PROCESSES 	
  { 	
     ULONG NextEntryOffset;
     ULONG NumberOfThreads;
     LARGE_INTEGER SpareLi1;
     LARGE_INTEGER SpareLi2;
     LARGE_INTEGER SpareLi3;
     LARGE_INTEGER CreateTime;
     LARGE_INTEGER UserTime;
     LARGE_INTEGER KernelTime;
     UNICODE_STRING ImageName;
     KPRIORITY BasePriority;
     HANDLE UniqueProcessId;
     HANDLE InheritedFromUniqueProcessId;
     ULONG HandleCount;
     ULONG SessionId;
     ULONG PageDirectoryFrame;

     /*
      * This part corresponds to VM_COUNTERS_EX.
      * NOTE: *NOT* THE SAME AS VM_COUNTERS!
      */
     ULONG PeakVirtualSize;
     ULONG VirtualSize;
     ULONG PageFaultCount;
     ULONG PeakWorkingSetSize;
     ULONG WorkingSetSize;
     ULONG QuotaPeakPagedPoolUsage;
     ULONG QuotaPagedPoolUsage;
     ULONG QuotaPeakNonPagedPoolUsage;
     ULONG QuotaNonPagedPoolUsage;
     ULONG PagefileUsage;
     ULONG PeakPagefileUsage;
     ULONG PrivateUsage;

     /* This part corresponds to IO_COUNTERS */
     LARGE_INTEGER ReadOperationCount;
     LARGE_INTEGER WriteOperationCount;
     LARGE_INTEGER OtherOperationCount;
     LARGE_INTEGER ReadTransferCount;
     LARGE_INTEGER WriteTransferCount;
     LARGE_INTEGER OtherTransferCount;

     SYSTEM_THREADS       Threads [1];  	

  } SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;


More information about the Ros-dev mailing list