Defines |
| #define | NTOS_MODE_USER |
| #define | WIN32_NO_STATUS |
| #define | CSR_SERVER_DLL_MAX 4 |
| #define | CsrAcquireProcessLock() RtlEnterCriticalSection(&CsrProcessLock); |
| #define | CsrReleaseProcessLock() RtlLeaveCriticalSection(&CsrProcessLock); |
| #define | CsrAcquireWaitLock() RtlEnterCriticalSection(&CsrWaitListsLock); |
| #define | CsrReleaseWaitLock() RtlLeaveCriticalSection(&CsrWaitListsLock); |
| #define | CsrAcquireNtSessionLock() RtlEnterCriticalSection(&CsrNtSessionLock) |
| #define | CsrReleaseNtSessionLock() RtlLeaveCriticalSection(&CsrNtSessionLock) |
| #define | CsrHashThread(t) (HandleToUlong(t)&(256 - 1)) |
| #define | ProcessStructureListLocked() (CsrProcessLock.OwningThread == NtCurrentTeb()->ClientId.UniqueThread) |
| #define | SM_REG_KEY L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Session Manager" |
| #define | SESSION_ROOT L"\\Sessions" |
| #define | GLOBAL_ROOT L"\\GLOBAL??" |
| #define | SYMLINK_NAME L"SymbolicLink" |
| #define | SB_PORT_NAME L"SbAbiPort" |
| #define | CSR_PORT_NAME L"ApiPort" |
| #define | UNICODE_PATH_SEP L"\\" |
| #define | ROUND_UP(n, align) ROUND_DOWN(((ULONG)n) + (align) - 1, (align)) |
| #define | ROUND_DOWN(n, align) (((ULONG)n) & ~((align) - 1l)) |
Functions |
| BOOLEAN NTAPI | CsrCaptureArguments (IN PCSR_THREAD CsrThread, IN PCSR_API_MESSAGE ApiMessage) |
| NTSTATUS NTAPI | CsrLoadServerDll (IN PCHAR DllString, IN PCHAR EntryPoint, IN ULONG ServerId) |
| NTSTATUS NTAPI | CsrServerInitialization (ULONG ArgumentCount, PCHAR Arguments[]) |
| BOOLEAN NTAPI | UnProtectHandle (IN HANDLE ObjectHandle) |
| VOID NTAPI | CsrLockedReferenceProcess (IN PCSR_PROCESS CsrProcess) |
| VOID NTAPI | CsrLockedReferenceThread (IN PCSR_THREAD CsrThread) |
| NTSTATUS NTAPI | CsrCreateSessionObjectDirectory (IN ULONG SessionId) |
| NTSTATUS NTAPI | CsrCreateObjectDirectory (IN PCHAR ObjectDirectory) |
| NTSTATUS NTAPI | CsrSrvCreateSharedSection (IN PCHAR ParameterValue) |
| NTSTATUS NTAPI | CsrInitializeNtSessionList (VOID) |
| NTSTATUS NTAPI | CsrInitializeProcessStructure (VOID) |
| NTSTATUS NTAPI | CsrApiPortInitialize (VOID) |
| NTSTATUS NTAPI | CsrSbApiPortInitialize (VOID) |
| BOOLEAN NTAPI | CsrSbCreateSession (IN PSB_API_MSG ApiMessage) |
| BOOLEAN NTAPI | CsrSbTerminateSession (IN PSB_API_MSG ApiMessage) |
| BOOLEAN NTAPI | CsrSbForeignSessionComplete (IN PSB_API_MSG ApiMessage) |
| BOOLEAN NTAPI | CsrSbCreateProcess (IN PSB_API_MSG ApiMessage) |
| PCSR_PROCESS NTAPI | CsrAllocateProcess (VOID) |
| PCSR_THREAD NTAPI | CsrAllocateThread (IN PCSR_PROCESS CsrProcess) |
| VOID NTAPI | CsrInsertThread (IN PCSR_PROCESS Process, IN PCSR_THREAD Thread) |
| VOID NTAPI | CsrSetBackgroundPriority (IN PCSR_PROCESS CsrProcess) |
| VOID NTAPI | CsrDeallocateProcess (IN PCSR_PROCESS CsrProcess) |
| NTSTATUS NTAPI | CsrGetProcessLuid (HANDLE hProcess, PLUID Luid) |
| BOOLEAN NTAPI | CsrImpersonateClient (IN PCSR_THREAD CsrThread) |
| BOOLEAN NTAPI | CsrRevertToSelf (VOID) |
| PCSR_THREAD NTAPI | CsrLocateThreadByClientId (OUT PCSR_PROCESS *Process, IN PCLIENT_ID ClientId) |
| VOID NTAPI | CsrDereferenceNtSession (IN PCSR_NT_SESSION Session, NTSTATUS ExitStatus) |
| VOID NTAPI | CsrReferenceNtSession (PCSR_NT_SESSION Session) |
| VOID NTAPI | CsrLockedDereferenceThread (PCSR_THREAD CsrThread) |
| VOID NTAPI | CsrLockedDereferenceProcess (PCSR_PROCESS CsrProcess) |
| NTSTATUS NTAPI | CsrLockProcessByClientId (IN HANDLE Pid, OUT PCSR_PROCESS *CsrProcess OPTIONAL) |
| NTSTATUS NTAPI | CsrUnlockProcess (PCSR_PROCESS CsrProcess) |
| NTSTATUS NTAPI | CsrSrvClientConnect (IN OUT PCSR_API_MESSAGE ApiMessage, IN OUT PULONG Reply) |
| NTSTATUS NTAPI | CsrSrvUnusedFunction (IN OUT PCSR_API_MESSAGE ApiMessage, IN OUT PULONG Reply) |
| NTSTATUS NTAPI | CsrSrvIdentifyAlertableThread (IN OUT PCSR_API_MESSAGE ApiMessage, IN OUT PULONG Reply) |
| NTSTATUS NTAPI | CsrSrvSetPriorityClass (IN OUT PCSR_API_MESSAGE ApiMessage, IN OUT PULONG Reply) |
| NTSTATUS NTAPI | CsrServerDllInitialization (IN PCSR_SERVER_DLL LoadedServerDll) |
| VOID NTAPI | CsrDereferenceThread (PCSR_THREAD CsrThread) |
| VOID NTAPI | CsrSbApiRequestThread (IN PVOID Parameter) |
| NTSTATUS NTAPI | CsrApiRequestThread (IN PVOID Parameter) |
| BOOLEAN NTAPI | ProtectHandle (IN HANDLE ObjectHandle) |
| PCSR_THREAD NTAPI | CsrAddStaticServerThread (IN HANDLE hThread, IN PCLIENT_ID ClientId, IN ULONG ThreadFlags) |
| PCSR_THREAD NTAPI | CsrConnectToUser (VOID) |
| PCSR_THREAD NTAPI | CsrLocateThreadInProcess (IN PCSR_PROCESS CsrProcess OPTIONAL, IN PCLIENT_ID Cid) |
| NTSTATUS NTAPI | CsrSbApiHandleConnectionRequest (IN PSB_API_MSG Message) |
| NTSTATUS NTAPI | CsrApiHandleConnectionRequest (IN PCSR_API_MESSAGE ApiMessage) |
| NTSTATUS NTAPI | CsrSrvAttachSharedSection (IN PCSR_PROCESS CsrProcess OPTIONAL, OUT PCSR_CONNECTION_INFO ConnectInfo) |
| VOID NTAPI | CsrReleaseCapturedArguments (IN PCSR_API_MESSAGE ApiMessage) |
| BOOLEAN NTAPI | CsrNotifyWaitBlock (IN PCSR_WAIT_BLOCK WaitBlock, IN PLIST_ENTRY WaitList, IN PVOID WaitArgument1, IN PVOID WaitArgument2, IN ULONG WaitFlags, IN BOOLEAN DereferenceThread) |
| VOID NTAPI | CsrDereferenceProcess (PCSR_PROCESS CsrProcess) |
| VOID NTAPI | CsrInsertProcess (IN PCSR_PROCESS Parent OPTIONAL, IN PCSR_PROCESS CurrentProcess OPTIONAL, IN PCSR_PROCESS CsrProcess) |
| NTSTATUS NTAPI | CsrPopulateDosDevicesDirectory (IN HANDLE DosDevicesDirectory, IN PPROCESS_DEVICEMAP_INFORMATION DeviceMap) |
| BOOLEAN NTAPI | CsrValidateMessageBuffer (IN PCSR_API_MESSAGE ApiMessage, IN PVOID *Buffer, IN ULONG ArgumentSize, IN ULONG ArgumentCount) |
| NTSTATUS NTAPI | CsrCreateLocalSystemSD (OUT PSECURITY_DESCRIPTOR *LocalSystemSd) |
| NTSTATUS NTAPI | CsrDestroyThread (IN PCLIENT_ID Cid) |
| NTSTATUS NTAPI | CsrDestroyProcess (IN PCLIENT_ID Cid, IN NTSTATUS ExitStatus) |
| LONG NTAPI | CsrUnhandledExceptionFilter (IN PEXCEPTION_POINTERS ExceptionInfo) |
| VOID NTAPI | CsrProcessRefcountZero (IN PCSR_PROCESS CsrProcess) |
| VOID NTAPI | CsrThreadRefcountZero (IN PCSR_THREAD CsrThread) |
| NTSTATUS NTAPI | CsrSetDirectorySecurity (IN HANDLE ObjectDirectory) |
Variables |
| ULONG | CsrTotalPerProcessDataLength |
| ULONG | CsrMaxApiRequestThreads |
| PCSR_SERVER_DLL | CsrLoadedServerDll [CSR_SERVER_DLL_MAX] |
| PCSR_PROCESS | CsrRootProcess |
| UNICODE_STRING | CsrSbApiPortName |
| UNICODE_STRING | CsrApiPortName |
| HANDLE | CsrSbApiPort |
| HANDLE | CsrSmApiPort |
| HANDLE | CsrApiPort |
| HANDLE | CsrHeap |
| RTL_CRITICAL_SECTION | CsrProcessLock |
| RTL_CRITICAL_SECTION | CsrWaitListsLock |
| LIST_ENTRY | CsrThreadHashTable [256] |
| HANDLE | CsrInitializationEvent |
| SYSTEM_BASIC_INFORMATION | CsrNtSysInfo |
| UNICODE_STRING | CsrDirectoryName |
| HANDLE | CsrObjectDirectory |
| PSB_API_ROUTINE | CsrServerSbApiDispatch [5] |
| ULONG | CsrDebug |