#include "services.h"
#include <debug.h>
Go to the source code of this file.
|
PSERVICE_GROUP | ScmGetServiceGroupByName (_In_ LPCWSTR lpGroupName) |
|
DWORD | ScmSetServiceGroup (PSERVICE lpService, LPCWSTR lpGroupName) |
|
static NTSTATUS WINAPI | CreateGroupOrderListRoutine (PWSTR ValueName, ULONG ValueType, PVOID ValueData, ULONG ValueLength, PVOID Context, PVOID EntryContext) |
|
static NTSTATUS WINAPI | CreateGroupListRoutine (PWSTR ValueName, ULONG ValueType, PVOID ValueData, ULONG ValueLength, PVOID Context, PVOID EntryContext) |
|
DWORD | ScmCreateGroupList (VOID) |
|
◆ NDEBUG
◆ CreateGroupListRoutine()
Definition at line 188 of file groupdb.c.
227 &
Group->GroupListEntry);
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE QueryTable
#define STATUS_INSUFFICIENT_RESOURCES
NTSYSAPI NTSTATUS WINAPI RtlQueryRegistryValues(ULONG, PCWSTR, PRTL_QUERY_REGISTRY_TABLE, PVOID, PVOID)
#define RTL_REGISTRY_CONTROL
#define InsertTailList(ListHead, Entry)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
_In_ GUID _In_ PVOID ValueData
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
static NTSTATUS WINAPI CreateGroupOrderListRoutine(PWSTR ValueName, ULONG ValueType, PVOID ValueData, ULONG ValueLength, PVOID Context, PVOID EntryContext)
struct _SERVICE_GROUP * PSERVICE_GROUP
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define RtlZeroMemory(Destination, Length)
struct _SERVICE_GROUP SERVICE_GROUP
Referenced by ScmCreateGroupList().
◆ CreateGroupOrderListRoutine()
Definition at line 139 of file groupdb.c.
148 DPRINT(
"CreateGroupOrderListRoutine(%S, %x, %p, %x, %p, %p)\n",
158 if (
Group->TagCount > 0)
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
_In_ PCWSTR _Inout_ _At_ QueryTable EntryContext
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
_In_ GUID _In_ PVOID ValueData
#define STATUS_UNSUCCESSFUL
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
struct _SERVICE_GROUP * PSERVICE_GROUP
#define RtlCopyMemory(Destination, Source, Length)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
Referenced by CreateGroupListRoutine().
◆ ScmCreateGroupList()
Definition at line 235 of file groupdb.c.
251 L"ServiceGroupOrder",
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE QueryTable
NTSYSAPI NTSTATUS WINAPI RtlQueryRegistryValues(ULONG, PCWSTR, PRTL_QUERY_REGISTRY_TABLE, PVOID, PVOID)
#define RTL_REGISTRY_CONTROL
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
LIST_ENTRY UnknownGroupListHead
#define InitializeListHead(ListHead)
static NTSTATUS WINAPI CreateGroupListRoutine(PWSTR ValueName, ULONG ValueType, PVOID ValueData, ULONG ValueLength, PVOID Context, PVOID EntryContext)
#define RtlZeroMemory(Destination, Length)
Referenced by ScmCreateServiceDatabase().
◆ ScmGetServiceGroupByName()
Definition at line 26 of file groupdb.c.
32 DPRINT(
"ScmGetServiceGroupByName(%S)\n", lpGroupName);
42 GroupEntry = GroupEntry->
Flink;
53 GroupEntry = GroupEntry->
Flink;
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
struct _LIST_ENTRY * Flink
LIST_ENTRY UnknownGroupListHead
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
Referenced by RI_ScGetCurrentGroupStateW().
◆ ScmSetServiceGroup()
Definition at line 61 of file groupdb.c.
67 DPRINT(
"ScmSetServiceGroup(%S)\n", lpGroupName);
88 if (lpGroupName ==
NULL)
102 GroupEntry = GroupEntry->
Flink;
117 GroupEntry = GroupEntry->
Flink;
#define ERROR_NOT_ENOUGH_MEMORY
#define InsertTailList(ListHead, Entry)
FORCEINLINE BOOLEAN RemoveEntryList(_In_ PLIST_ENTRY Entry)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
struct _LIST_ENTRY * Flink
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
struct _SERVICE_GROUP * PSERVICE_GROUP
LIST_ENTRY GroupListEntry
LIST_ENTRY UnknownGroupListHead
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
struct _SERVICE_GROUP SERVICE_GROUP
#define HeapFree(x, y, z)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
Referenced by CreateServiceListEntry(), RChangeServiceConfigW(), RCreateServiceW(), and ScmDeleteServiceRecord().
◆ GroupListHead
◆ UnknownGroupListHead