0,\r
0,\r
0,\r
- CsrApiRequestThread,\r
+ (PVOID)CsrApiRequestThread,\r
NULL,\r
&hThread,\r
&ClientId);\r
{\r
/* Get the information and check if it matches our thread */\r
ClientDiedMsg = (PCLIENT_DIED_MSG)&ReceiveMsg;\r
- if (ClientDiedMsg->CreateTime.QuadPart = CsrThread->CreateTime.QuadPart)\r
+ if (ClientDiedMsg->CreateTime.QuadPart == CsrThread->CreateTime.QuadPart)\r
{\r
/* Reference the thread */\r
CsrThread->ReferenceCount++;\r
LIBRARY CSRSRV
EXPORTS
-CsrAddStaticServerThread
-CsrCallServerFromServer
-CsrConnectToUser
-CsrCreateProcess
-CsrCreateRemoteThread
-CsrCreateThread
-CsrCreateWait
-CsrDebugProcess
-CsrDebugProcessStop
-CsrDereferenceProcess
-CsrDereferenceThread
-CsrDereferenceWait
-CsrDestroyProcess
-CsrDestroyThread
-CsrExecServerThread
-CsrGetProcessLuid
-CsrImpersonateClient
-CsrLockProcessByClientId
-CsrLockThreadByClientId
-CsrMoveSatisfiedWait
-CsrNotifyWait
-CsrPopulateDosDevices
-CsrQueryApiPort
-CsrReferenceThread
-CsrRevertToSelf
-CsrServerInitialization
-CsrSetBackgroundPriority
-CsrSetCallingSpooler
-CsrSetForegroundPriority
-CsrShutdownProcesses
-CsrUnhandledExceptionFilter
-CsrUnlockProcess
-CsrUnlockThread
-CsrValidateMessageBuffer
-CsrValidateMessageString
+CsrAddStaticServerThread@12
+CsrCallServerFromServer@8
+CsrConnectToUser@0
+CsrCreateProcess@24
+CsrCreateRemoteThread@8
+CsrCreateThread@12
+CsrCreateWait@24
+CsrDebugProcess@4
+CsrDebugProcessStop@4
+CsrDereferenceProcess@4
+CsrDereferenceThread@4
+CsrDereferenceWait@4
+CsrDestroyProcess@8
+CsrDestroyThread@4
+CsrExecServerThread@8
+CsrGetProcessLuid@8
+CsrImpersonateClient@4
+CsrLockProcessByClientId@8
+CsrLockThreadByClientId@8
+CsrMoveSatisfiedWait@8
+CsrNotifyWait@16
+CsrPopulateDosDevices@0
+CsrQueryApiPort@0
+CsrReferenceThread@4
+CsrRevertToSelf@0
+CsrServerInitialization@8
+CsrSetBackgroundPriority@4
+CsrSetCallingSpooler@4
+CsrSetForegroundPriority@4
+CsrShutdownProcesses@8
+CsrUnhandledExceptionFilter@8
+CsrUnlockProcess@4
+CsrUnlockThread@4
+CsrValidateMessageBuffer@16
+CsrValidateMessageString@8
NTAPI
CsrCreateLocalSystemSD(OUT PSECURITY_DESCRIPTOR *LocalSystemSd)
{
- SID_IDENTIFIER_AUTHORITY NtSidAuthority = SECURITY_NT_AUTHORITY;
+ SID_IDENTIFIER_AUTHORITY NtSidAuthority = {SECURITY_NT_AUTHORITY};
PSID SystemSid;
ULONG SidLength;
PSECURITY_DESCRIPTOR SecurityDescriptor;
NTAPI
CsrGetDosDevicesSd(OUT PSECURITY_DESCRIPTOR DosDevicesSd)
{
- SID_IDENTIFIER_AUTHORITY WorldAuthority = SECURITY_WORLD_SID_AUTHORITY;
- SID_IDENTIFIER_AUTHORITY CreatorAuthority = SECURITY_CREATOR_SID_AUTHORITY;
- SID_IDENTIFIER_AUTHORITY NtSidAuthority = SECURITY_NT_AUTHORITY;
+ SID_IDENTIFIER_AUTHORITY WorldAuthority = {SECURITY_WORLD_SID_AUTHORITY};
+ SID_IDENTIFIER_AUTHORITY CreatorAuthority = {SECURITY_CREATOR_SID_AUTHORITY};
+ SID_IDENTIFIER_AUTHORITY NtSidAuthority = {SECURITY_NT_AUTHORITY};
PSID WorldSid, CreatorSid, AdminSid, SystemSid;
UCHAR KeyValueBuffer[0x40];
PKEY_VALUE_PARTIAL_INFORMATION KeyValuePartialInfo;
SystemSid);
/* Get the ACE back */
- Status = RtlGetAce(Dacl, 0, (PACE*)&Ace);
+ Status = RtlGetAce(Dacl, 0, (PVOID*)&Ace);
/* Add some flags to it for the Admin SID */
Ace->Header.AceFlags |= (OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE);
AdminSid);
/* Get the ACE back */
- Status = RtlGetAce(Dacl, 1, (PACE*)&Ace);
+ Status = RtlGetAce(Dacl, 1, (PVOID*)&Ace);
/* Add some flags to it for the Creator SID */
Ace->Header.AceFlags |= (OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE);
CreatorSid);
/* Get the ACE back */
- Status = RtlGetAce(Dacl, 2, (PACE*)&Ace);
+ Status = RtlGetAce(Dacl, 2, (PVOID*)&Ace);
/* Add some flags to it for the SD */
Ace->Header.AceFlags |= (OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE |
WorldSid);
/* Get the ACE back */
- Status = RtlGetAce(Dacl, 2, (PACE*)&Ace);
+ Status = RtlGetAce(Dacl, 2, (PVOID*)&Ace);
/* Add some flags to it for the SD */
Ace->Header.AceFlags |= (OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE |