#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.
194{
198
200 {
202
207 {
209 }
210
214
218
225
227 &
Group->GroupListEntry);
228 }
229
231}
struct _SERVICE_GROUP * PSERVICE_GROUP
struct _SERVICE_GROUP SERVICE_GROUP
#define InsertTailList(ListHead, Entry)
static NTSTATUS WINAPI CreateGroupOrderListRoutine(PWSTR ValueName, ULONG ValueType, PVOID ValueData, ULONG ValueLength, PVOID Context, PVOID EntryContext)
_In_ GUID _In_ PVOID ValueData
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
NTSYSAPI NTSTATUS WINAPI RtlQueryRegistryValues(ULONG, PCWSTR, PRTL_QUERY_REGISTRY_TABLE, PVOID, PVOID)
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE QueryTable
#define RTL_REGISTRY_CONTROL
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
#define RtlZeroMemory(Destination, Length)
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
Referenced by ScmCreateGroupList().
◆ CreateGroupOrderListRoutine()
Definition at line 139 of file groupdb.c.
145{
147
148 DPRINT(
"CreateGroupOrderListRoutine(%S, %x, %p, %x, %p, %p)\n",
150
155 {
158 if (
Group->TagCount > 0)
159 {
161 {
166 {
169 }
170
174 }
175 else
176 {
179 }
180 }
181 }
182
184}
_In_ PCWSTR _Inout_ _At_ QueryTable EntryContext
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_UNSUCCESSFUL
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
Referenced by CreateGroupListRoutine().
◆ ScmCreateGroupList()
Definition at line 235 of file groupdb.c.
236{
239
242
243
246
249
251 L"ServiceGroupOrder",
255
257}
#define InitializeListHead(ListHead)
LIST_ENTRY UnknownGroupListHead
static NTSTATUS WINAPI CreateGroupListRoutine(PWSTR ValueName, ULONG ValueType, PVOID ValueData, ULONG ValueLength, PVOID Context, PVOID EntryContext)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
Referenced by ScmCreateServiceDatabase().
◆ ScmGetServiceGroupByName()
Definition at line 26 of file groupdb.c.
28{
31
32 DPRINT(
"ScmGetServiceGroupByName(%S)\n", lpGroupName);
33
36 {
38
40 return lpGroup;
41
42 GroupEntry = GroupEntry->
Flink;
43 }
44
47 {
49
51 return lpGroup;
52
53 GroupEntry = GroupEntry->
Flink;
54 }
55
57}
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
struct _LIST_ENTRY * Flink
#define CONTAINING_RECORD(address, type, field)
Referenced by RI_ScGetCurrentGroupStateW().
◆ ScmSetServiceGroup()
◆ GroupListHead
◆ UnknownGroupListHead