196 lines
3.5 KiB
C
196 lines
3.5 KiB
C
|
#ifndef _EMEXTN_H
|
||
|
#define _EMEXTN_H
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif // __cplusplus
|
||
|
|
||
|
typedef BOOL (CALLBACK* ENUMPROCSANDSERVICES)(long, LPCTSTR, LPCTSTR, LPCTSTR, LPARAM, LONG);
|
||
|
|
||
|
#define E_TOOMANY_PROCESSES -1
|
||
|
|
||
|
DWORD
|
||
|
GetNumberOfRunningApps
|
||
|
(
|
||
|
/* [out] */ DWORD *pdwNumbApps
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetAllPids
|
||
|
(
|
||
|
/* [out] */ DWORD adwProcIDs[],
|
||
|
/* [in] */ DWORD dwBuffSize,
|
||
|
/* [out] */ DWORD *pdwNumbProcs
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetNumberOfServices
|
||
|
(
|
||
|
/* [out */ DWORD *pdwNumbSrvcs,
|
||
|
/* [in] */ DWORD dwServiceType = SERVICE_WIN32,
|
||
|
/* [in] */ DWORD dwServiceState = SERVICE_ACTIVE
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetNumberOfActiveServices
|
||
|
(
|
||
|
/* [out */ DWORD *pdwNumbRunningSrvcs
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetNumberOfInactiveServices
|
||
|
(
|
||
|
/* [out */ DWORD *pdwNumbStoppedSrvcs
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
IsService
|
||
|
(
|
||
|
/* [in] */ UINT nPid,
|
||
|
/* [out] */ bool *pbIsService,
|
||
|
/* [out] */ LPTSTR lpszImagePath = NULL,
|
||
|
/* [out] */ ULONG cchImagePath = 0L,
|
||
|
/* [out] */ LPTSTR lpszServiceShortName = NULL,
|
||
|
/* [in] */ ULONG cchServiceShortName = 0L,
|
||
|
/* [out] */ LPTSTR lpszServiceDescription = NULL,
|
||
|
/* [in] */ ULONG cchServiceDescription = 0L
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
IsService_NT5
|
||
|
(
|
||
|
/* [in] */ UINT nPid,
|
||
|
/* [out] */ bool *pbIsService,
|
||
|
/* [out] */ LPTSTR lpszImagePath = NULL,
|
||
|
/* [out] */ ULONG cchImagePath = 0L,
|
||
|
/* [out] */ LPTSTR lpszServiceShortName = NULL,
|
||
|
/* [in] */ ULONG cchServiceShortName = 0L,
|
||
|
/* [out] */ LPTSTR lpszServiceDescription = NULL,
|
||
|
/* [in] */ ULONG cchServiceDescription = 0L
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
IsService_NT4
|
||
|
(
|
||
|
IN UINT nPid,
|
||
|
OUT bool *pbIsService
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetServiceInfo
|
||
|
(
|
||
|
/* [in] */ UINT nPid,
|
||
|
/* [out] */ LPTSTR lpszImagePath,
|
||
|
/* [out] */ ULONG cchImagePath,
|
||
|
/* [out] */ LPTSTR lpszServiceShortName,
|
||
|
/* [in] */ ULONG cchServiceShortName,
|
||
|
/* [out] */ LPTSTR lpszServiceDescription,
|
||
|
/* [in] */ ULONG cchServiceDescription
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EnumRunningProcesses
|
||
|
(
|
||
|
/* [in] */ ENUMPROCSANDSERVICES lpEnumRunProc,
|
||
|
/* [in] */ LPARAM lParam,
|
||
|
/* [in] */ UINT nStartIndex = 0L
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EnumRunningServices
|
||
|
(
|
||
|
/* [in] */ ENUMPROCSANDSERVICES lpEnumSrvcsProc,
|
||
|
/* [in] */ LPARAM lParam,
|
||
|
/* [in] */ UINT nStartIndex = 0L
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EnumStoppedServices
|
||
|
(
|
||
|
/* [in] */ ENUMPROCSANDSERVICES lpEnumSrvcsProc,
|
||
|
/* [in] */ LPARAM lParam,
|
||
|
/* [in] */ UINT nStartIndex = 0L
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EnumServices
|
||
|
(
|
||
|
/* [in] */ ENUMPROCSANDSERVICES lpEnumSrvcsProc,
|
||
|
/* [in] */ LPARAM lParam,
|
||
|
/* [in] */ DWORD dwSrvcState,
|
||
|
/* [in] */ UINT nStartIndex = 0L
|
||
|
);
|
||
|
|
||
|
/***************************************************/
|
||
|
|
||
|
BOOL
|
||
|
IsImageRunning
|
||
|
(
|
||
|
/* [in] */ ULONG lPID
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetImageNameFromPID
|
||
|
(
|
||
|
/* [in] */ ULONG lPID,
|
||
|
/* [out] */ LPTSTR lpszImagePath,
|
||
|
/* [in] */ DWORD dwBuffSize
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
StartServiceAndGetPid
|
||
|
(
|
||
|
/* [in] */ LPCTSTR lpszServiceShortName,
|
||
|
/* [out] */ UINT *pnPid
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
IsValidImage
|
||
|
(
|
||
|
/* [in] */ ULONG lPID,
|
||
|
/* [in] */ LPCTSTR lpszImageName,
|
||
|
/* [out] */ bool *pbValidImage
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
IsValidProcess
|
||
|
(
|
||
|
/* [in] */ ULONG lPID,
|
||
|
/* [in] */ LPCTSTR lpszImageName,
|
||
|
/* [out] */ bool *pbValidImage
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
IsValidService
|
||
|
(
|
||
|
/* [in] */ ULONG lPID,
|
||
|
/* [in] */ LPCTSTR lpszImageName,
|
||
|
/* [out] */ bool *pbValidImage
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetProcessHandle
|
||
|
(
|
||
|
IN ULONG lPid,
|
||
|
OUT HANDLE *phProcess
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
GetPackageDescription
|
||
|
(
|
||
|
/* [in] */ const long nPid,
|
||
|
/* [out] */ BSTR &bstrDescription
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
IsPackage
|
||
|
(
|
||
|
/* [in[ */ LPTSTR lpszImageName
|
||
|
);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} // extern "C"
|
||
|
#endif
|
||
|
|
||
|
#endif // _EMEXTN_H
|