12 #define CsrAcquireProcessLock() \ 13 RtlEnterCriticalSection(&CsrProcessLock); 15 #define CsrReleaseProcessLock() \ 16 RtlLeaveCriticalSection(&CsrProcessLock); 18 #define ProcessStructureListLocked() \ 19 (CsrProcessLock.OwningThread == NtCurrentTeb()->ClientId.UniqueThread) 21 #define CsrAcquireWaitLock() \ 22 RtlEnterCriticalSection(&CsrWaitListsLock); 24 #define CsrReleaseWaitLock() \ 25 RtlLeaveCriticalSection(&CsrWaitListsLock); 27 #define CsrAcquireNtSessionLock() \ 28 RtlEnterCriticalSection(&CsrNtSessionLock); 30 #define CsrReleaseNtSessionLock() \ 31 RtlLeaveCriticalSection(&CsrNtSessionLock); 34 #define CSR_SERVER_DLL_MAX 4 44 #define NUMBER_THREAD_HASH_BUCKETS 257 69 #if (NTDDI_VERSION < NTDDI_WS03) 70 CSR_API(CsrSrvIdentifyAlertableThread);
71 CSR_API(CsrSrvSetPriorityClass);
VOID NTAPI CsrLockedReferenceThread(IN PCSR_THREAD CsrThread)
PCSR_PROCESS NTAPI CsrAllocateProcess(VOID)
NTSTATUS NTAPI CsrInitializeProcessStructure(VOID)
BOOLEAN NTAPI CsrNotifyWaitBlock(IN PCSR_WAIT_BLOCK WaitBlock, IN PLIST_ENTRY WaitList, IN PVOID WaitArgument1, IN PVOID WaitArgument2, IN ULONG WaitFlags, IN BOOLEAN DereferenceThread)
PCSR_THREAD NTAPI CsrAllocateThread(IN PCSR_PROCESS CsrProcess)
BOOLEAN NTAPI UnProtectHandle(IN HANDLE ObjectHandle)
VOID NTAPI CsrReleaseCapturedArguments(IN PCSR_API_MESSAGE ApiMessage)
HANDLE CsrInitializationEvent
NTSTATUS NTAPI CsrSbApiHandleConnectionRequest(IN PSB_API_MSG Message)
BOOLEAN NTAPI CsrSbForeignSessionComplete(IN PSB_API_MSG ApiMessage)
RTL_CRITICAL_SECTION CsrProcessLock
ULONG CsrTotalPerProcessDataLength
VOID NTAPI CsrSbApiRequestThread(IN PVOID Parameter)
UNICODE_STRING CsrApiPortName
#define CSR_SERVER_DLL_MAX
LIST_ENTRY CsrThreadHashTable[NUMBER_THREAD_HASH_BUCKETS]
BOOLEAN NTAPI CsrSbCreateProcess(IN PSB_API_MSG ApiMessage)
PCSR_PROCESS CsrRootProcess
HANDLE CsrObjectDirectory
BOOLEAN NTAPI CsrSbCreateSession(IN PSB_API_MSG ApiMessage)
NTSTATUS NTAPI CsrServerDllInitialization(IN PCSR_SERVER_DLL LoadedServerDll)
NTSTATUS NTAPI CsrCreateSessionObjectDirectory(IN ULONG SessionId)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
VOID NTAPI CsrDeallocateThread(IN PCSR_THREAD CsrThread)
VOID NTAPI CsrDereferenceNtSession(IN PCSR_NT_SESSION Session, IN NTSTATUS ExitStatus)
VOID NTAPI CsrLockedDereferenceThread(IN PCSR_THREAD CsrThread)
PVOID * CsrSrvSharedStaticServerData
UNICODE_STRING CsrSbApiPortName
NTSTATUS NTAPI CsrSrvCreateSharedSection(IN PCHAR ParameterValue)
NTSTATUS NTAPI CsrInsertThread(IN PCSR_PROCESS Process, IN PCSR_THREAD Thread)
NTSTATUS NTAPI CsrApiPortInitialize(VOID)
NTSTATUS NTAPI CsrSbApiPortInitialize(VOID)
NTSTATUS NTAPI CsrSrvAttachSharedSection(IN PCSR_PROCESS CsrProcess OPTIONAL, OUT PCSR_API_CONNECTINFO ConnectInfo)
_Out_ PCLIENT_ID ClientId
NTSTATUS NTAPI CsrCreateObjectDirectory(IN PCHAR ObjectDirectory)
BOOLEAN NTAPI ProtectHandle(IN HANDLE ObjectHandle)
VOID NTAPI CsrDeallocateProcess(IN PCSR_PROCESS CsrProcess)
NTSTATUS NTAPI CsrCreateLocalSystemSD(OUT PSECURITY_DESCRIPTOR *LocalSystemSd)
NTSTATUS NTAPI CsrApiHandleConnectionRequest(IN PCSR_API_MESSAGE ApiMessage)
VOID NTAPI CsrRemoveProcess(IN PCSR_PROCESS CsrProcess)
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
SYSTEM_BASIC_INFORMATION CsrNtSysInfo
UNICODE_STRING CsrDirectoryName
VOID NTAPI CsrReferenceNtSession(IN PCSR_NT_SESSION Session)
PCSR_THREAD NTAPI CsrLocateThreadByClientId(OUT PCSR_PROCESS *Process OPTIONAL, IN PCLIENT_ID ClientId)
BOOLEAN NTAPI CsrCaptureArguments(IN PCSR_THREAD CsrThread, IN PCSR_API_MESSAGE ApiMessage)
PCSR_THREAD NTAPI CsrLocateThreadInProcess(IN PCSR_PROCESS CsrProcess OPTIONAL, IN PCLIENT_ID Cid)
RTL_CRITICAL_SECTION CsrWaitListsLock
#define NUMBER_THREAD_HASH_BUCKETS
ULONG CsrMaxApiRequestThreads
PVOID CsrSrvSharedSectionHeap
_In_opt_ PWSTR _In_ PWSTR _Inout_ PULONG ParameterValue
CSR_API(BaseSrvCheckApplicationCompatibility)
NTSTATUS NTAPI CsrSetDirectorySecurity(IN HANDLE ObjectDirectory)
NTSTATUS NTAPI CsrLoadServerDll(IN PCHAR DllString, IN PCHAR EntryPoint OPTIONAL, IN ULONG ServerId)
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
NTSTATUS NTAPI CsrApiRequestThread(IN PVOID Parameter)
BOOLEAN NTAPI CsrSbTerminateSession(IN PSB_API_MSG ApiMessage)
NTSTATUS NTAPI CsrInitializeNtSessionList(VOID)
VOID NTAPI CsrInsertProcess(IN PCSR_PROCESS ParentProcess OPTIONAL, IN PCSR_PROCESS CsrProcess)
VOID NTAPI CsrLockedReferenceProcess(IN PCSR_PROCESS CsrProcess)
VOID NTAPI CsrLockedDereferenceProcess(PCSR_PROCESS CsrProcess)
PCSR_SERVER_DLL CsrLoadedServerDll[CSR_SERVER_DLL_MAX]
PULONG MinorVersion OPTIONAL