Desktop Functions: Smart Device Functions:
|
Search Results for "SERVICE_STATUS_PROCESS" in [All]advapi32
internal static ENUM_SERVICE_STATUS_PROCESS[] GetServices()
List<ENUM_SERVICE_STATUS_PROCESS> result = new List<ENUM_SERVICE_STATUS_PROCESS>();
ENUM_SERVICE_STATUS_PROCESS infoLevel = new ENUM_SERVICE_STATUS_PROCESS();
ENUM_SERVICE_STATUS_PROCESS serviceStatus;
serviceStatus = (ENUM_SERVICE_STATUS_PROCESS)Marshal.PtrToStructure(new IntPtr(pointer),
typeof(ENUM_SERVICE_STATUS_PROCESS));
// incremement by sizeof(ENUM_SERVICE_STATUS_PROCESS) allow Packing of 8
pointer += ENUM_SERVICE_STATUS_PROCESS.SizePack8;
serviceStatus = (ENUM_SERVICE_STATUS_PROCESS)Marshal.PtrToStructure(new IntPtr(pointer),
typeof(ENUM_SERVICE_STATUS_PROCESS));
// incremement by sizeof(ENUM_SERVICE_STATUS_PROCESS) allow Packing of 4
pointer += ENUM_SERVICE_STATUS_PROCESS.SizePack4;
internal struct ENUM_SERVICE_STATUS_PROCESS
internal static readonly int SizePack4 = Marshal.SizeOf(typeof(ENUM_SERVICE_STATUS_PROCESS));
/// sizeof(ENUM_SERVICE_STATUS_PROCESS) allow Packing of 8 on 64 bit machines
internal static readonly int SizePack8 = Marshal.SizeOf(typeof(ENUM_SERVICE_STATUS_PROCESS)) + 4;
internal SERVICE_STATUS_PROCESS ServiceStatus;
internal struct SERVICE_STATUS_PROCESS See SERVICE_STATUS_PROCESS definition.
public static SERVICE_STATUS_PROCESS QueryServiceStatusEx(IntPtr serviceHandle)
return (SERVICE_STATUS_PROCESS)Marshal.PtrToStructure(buf, typeof(SERVICE_STATUS_PROCESS)); See SERVICE_STATUS_PROCESS definition. //NB for this code to work you will need to change the SERVICE_STATUS_PROCESS class to a struct
public static SERVICE_STATUS_PROCESS QueryServiceStatusEx(SafeHandle serviceHandle)
pData = Marshal.AllocHGlobal(sizeof(SERVICE_STATUS_PROCESS));
bool bOk = QueryServiceStatusEx(serviceHandle.DangerousGetHandle(), 0, pData, sizeof(SERVICE_STATUS_PROCESS), out
SERVICE_STATUS_PROCESS pStatus = (SERVICE_STATUS_PROCESS)Marshal.PtrToStructure(pData, typeof(SERVICE_STATUS_PROCESS)); |