Process Hacker
srvprv.c File Reference
#include <phapp.h>
#include <winevt.h>
#include <extmgri.h>

Go to the source code of this file.

Typedefs

typedef DWORD(WINAPI * _NotifyServiceStatusChangeW )(_In_ SC_HANDLE hService, _In_ DWORD dwNotifyMask, _In_ PSERVICE_NOTIFYW pNotifyBuffer)
 
typedef struct
_PHP_SERVICE_NAME_ENTRY 
PHP_SERVICE_NAME_ENTRY
 
typedef struct
_PHP_SERVICE_NAME_ENTRY * 
PPHP_SERVICE_NAME_ENTRY
 
typedef enum
_PHP_SERVICE_NOTIFY_STATE 
PHP_SERVICE_NOTIFY_STATE
 
typedef struct
_PHP_SERVICE_NOTIFY_CONTEXT 
PHP_SERVICE_NOTIFY_CONTEXT
 
typedef struct
_PHP_SERVICE_NOTIFY_CONTEXT * 
PPHP_SERVICE_NOTIFY_CONTEXT
 

Enumerations

enum  _PHP_SERVICE_NOTIFY_STATE { SnNone, SnAdding, SnRemoving, SnNotify }
 

Functions

VOID NTAPI PhpServiceItemDeleteProcedure (_In_ PVOID Object, _In_ ULONG Flags)
 
BOOLEAN NTAPI PhpServiceHashtableCompareFunction (_In_ PVOID Entry1, _In_ PVOID Entry2)
 
ULONG NTAPI PhpServiceHashtableHashFunction (_In_ PVOID Entry)
 
VOID PhpAddProcessItemService (_In_ PPH_PROCESS_ITEM ProcessItem, _In_ PPH_SERVICE_ITEM ServiceItem)
 
VOID PhpRemoveProcessItemService (_In_ PPH_PROCESS_ITEM ProcessItem, _In_ PPH_SERVICE_ITEM ServiceItem)
 
VOID PhpInitializeServiceNonPoll (VOID)
 
PHAPPAPI PH_CALLBACK_DECLARE (PhServiceAddedEvent)
 
PHAPPAPI PH_CALLBACK_DECLARE (PhServiceModifiedEvent)
 
PHAPPAPI PH_CALLBACK_DECLARE (PhServiceRemovedEvent)
 
PHAPPAPI PH_CALLBACK_DECLARE (PhServicesUpdatedEvent)
 
BOOLEAN PhServiceProviderInitialization (VOID)
 
PPH_SERVICE_ITEM PhCreateServiceItem (_In_opt_ LPENUM_SERVICE_STATUS_PROCESS Information)
 
PPH_SERVICE_ITEM PhpLookupServiceItem (_In_ PPH_STRINGREF Name)
 
PPH_SERVICE_ITEM PhReferenceServiceItem (_In_ PWSTR Name)
 
VOID PhMarkNeedsConfigUpdateServiceItem (_In_ PPH_SERVICE_ITEM ServiceItem)
 
VOID PhpRemoveServiceItem (_In_ PPH_SERVICE_ITEM ServiceItem)
 
PH_SERVICE_CHANGE PhGetServiceChange (_In_ PPH_SERVICE_MODIFIED_DATA Data)
 
VOID PhUpdateProcessItemServices (_In_ PPH_PROCESS_ITEM ProcessItem)
 
VOID PhpUpdateServiceItemConfig (_In_ SC_HANDLE ScManagerHandle, _In_ PPH_SERVICE_ITEM ServiceItem)
 
VOID PhServiceProviderUpdate (_In_ PVOID Object)
 
VOID CALLBACK PhpServiceNonPollScNotifyCallback (_In_ PVOID pParameter)
 
VOID PhpDestroyServiceNotifyContext (_In_ PPHP_SERVICE_NOTIFY_CONTEXT NotifyContext)
 
NTSTATUS PhpServiceNonPollThreadStart (_In_ PVOID Parameter)
 

Variables

PPH_OBJECT_TYPE PhServiceItemType
 
PPH_HASHTABLE PhServiceHashtable
 
PH_QUEUED_LOCK PhServiceHashtableLock = PH_QUEUED_LOCK_INIT
 
BOOLEAN PhEnableServiceNonPoll = FALSE
 

Typedef Documentation

typedef DWORD(WINAPI * _NotifyServiceStatusChangeW)(_In_ SC_HANDLE hService, _In_ DWORD dwNotifyMask, _In_ PSERVICE_NOTIFYW pNotifyBuffer)

Definition at line 27 of file srvprv.c.

typedef struct _PHP_SERVICE_NAME_ENTRY PHP_SERVICE_NAME_ENTRY
typedef struct _PHP_SERVICE_NOTIFY_CONTEXT PHP_SERVICE_NOTIFY_CONTEXT
typedef struct _PHP_SERVICE_NAME_ENTRY * PPHP_SERVICE_NAME_ENTRY
typedef struct _PHP_SERVICE_NOTIFY_CONTEXT * PPHP_SERVICE_NOTIFY_CONTEXT

Enumeration Type Documentation

Enumerator:
SnNone 
SnAdding 
SnRemoving 
SnNotify 

Definition at line 40 of file srvprv.c.

Function Documentation

PHAPPAPI PH_CALLBACK_DECLARE ( PhServiceAddedEvent  )
PHAPPAPI PH_CALLBACK_DECLARE ( PhServiceModifiedEvent  )
PHAPPAPI PH_CALLBACK_DECLARE ( PhServiceRemovedEvent  )
PHAPPAPI PH_CALLBACK_DECLARE ( PhServicesUpdatedEvent  )
PPH_SERVICE_ITEM PhCreateServiceItem ( _In_opt_ LPENUM_SERVICE_STATUS_PROCESS  Information)

Definition at line 122 of file srvprv.c.

PH_SERVICE_CHANGE PhGetServiceChange ( _In_ PPH_SERVICE_MODIFIED_DATA  Data)

Definition at line 245 of file srvprv.c.

VOID PhMarkNeedsConfigUpdateServiceItem ( _In_ PPH_SERVICE_ITEM  ServiceItem)

Definition at line 230 of file srvprv.c.

VOID PhpAddProcessItemService ( _In_ PPH_PROCESS_ITEM  ProcessItem,
_In_ PPH_SERVICE_ITEM  ServiceItem 
)

Definition at line 321 of file srvprv.c.

VOID PhpDestroyServiceNotifyContext ( _In_ PPHP_SERVICE_NOTIFY_CONTEXT  NotifyContext)

Definition at line 832 of file srvprv.c.

VOID PhpInitializeServiceNonPoll ( VOID  )

Definition at line 1012 of file srvprv.c.

PPH_SERVICE_ITEM PhpLookupServiceItem ( _In_ PPH_STRINGREF  Name)

Definition at line 187 of file srvprv.c.

VOID PhpRemoveProcessItemService ( _In_ PPH_PROCESS_ITEM  ProcessItem,
_In_ PPH_SERVICE_ITEM  ServiceItem 
)

Definition at line 343 of file srvprv.c.

VOID PhpRemoveServiceItem ( _In_ PPH_SERVICE_ITEM  ServiceItem)

Definition at line 237 of file srvprv.c.

BOOLEAN PhpServiceHashtableCompareFunction ( _In_ PVOID  Entry1,
_In_ PVOID  Entry2 
)

Definition at line 167 of file srvprv.c.

ULONG PhpServiceHashtableHashFunction ( _In_ PVOID  Entry)

Definition at line 178 of file srvprv.c.

VOID PhpServiceItemDeleteProcedure ( _In_ PVOID  Object,
_In_ ULONG  Flags 
)

Definition at line 154 of file srvprv.c.

VOID CALLBACK PhpServiceNonPollScNotifyCallback ( _In_ PVOID  pParameter)

Definition at line 766 of file srvprv.c.

NTSTATUS PhpServiceNonPollThreadStart ( _In_ PVOID  Parameter)

Definition at line 844 of file srvprv.c.

VOID PhpUpdateServiceItemConfig ( _In_ SC_HANDLE  ScManagerHandle,
_In_ PPH_SERVICE_ITEM  ServiceItem 
)

Definition at line 366 of file srvprv.c.

PPH_SERVICE_ITEM PhReferenceServiceItem ( _In_ PWSTR  Name)

Definition at line 208 of file srvprv.c.

BOOLEAN PhServiceProviderInitialization ( VOID  )

Definition at line 107 of file srvprv.c.

VOID PhServiceProviderUpdate ( _In_ PVOID  Object)

Definition at line 436 of file srvprv.c.

VOID PhUpdateProcessItemServices ( _In_ PPH_PROCESS_ITEM  ProcessItem)

Definition at line 296 of file srvprv.c.

Variable Documentation

BOOLEAN PhEnableServiceNonPoll = FALSE

Definition at line 96 of file srvprv.c.

PPH_HASHTABLE PhServiceHashtable

Definition at line 88 of file srvprv.c.

PH_QUEUED_LOCK PhServiceHashtableLock = PH_QUEUED_LOCK_INIT

Definition at line 89 of file srvprv.c.

PPH_OBJECT_TYPE PhServiceItemType

Definition at line 86 of file srvprv.c.