Geoff Chappell, Software Analyst
The table on this page lists all the functions and variables that appear in the export directory of any known x86, x64 or wow64 build of CSRSRV.DLL. For each name, the table gives just a brief summary of the applicable CSRSRV versions. It is here thought that no CSRSRV functions have ever been documented by Microsoft.
Function | Applicable Versions |
---|---|
CsrAddStaticServerThread | 3.10 and higher |
CsrCallServerFromServer | 3.10 and higher |
CsrClientCallback | 3.10 to 3.51 |
CsrComputePriorityClass | 3.10 to 4.0 |
CsrConnectToUser | 3.10 and higher |
CsrCreateProcess | 3.10 and higher |
CsrCreateRemoteThread | 3.10 and higher |
CsrCreateThread | 3.10 and higher |
CsrCreateWait | 3.10 to 6.0 |
CsrDebugProcess | 3.10 to 6.0 |
CsrDebugProcessStop | 5.1 to 6.0 |
CsrDeferredCreateProcess | 6.0 and higher |
CsrDelayedThreadCleanup | 3.51 only |
CsrDereferenceProcess | 3.10 and higher |
CsrDereferenceThread | 3.10 and higher |
CsrDereferenceWait | 3.10 to 6.0 |
CsrDestroyProcess | 3.10 and higher |
CsrDestroyThread | 3.10 and higher |
CsrDestroyWait | 3.10 to 4.0 |
CsrExecServerThread | 5.1 and higher |
CsrGetApiPorts | 3.10 to 5.0 |
CsrGetProcessLuid | 3.10 and higher |
CsrImpersonateClient | 3.10 and higher |
CsrIsClientSandboxed | 10.0 and higher |
CsrLocateThreadInProcess | 3.10 to 4.0 |
CsrLockProcessByClientId | 3.10 and higher |
CsrLockThreadByClientId | 3.51 and higher |
CsrLockedReferenceProcess | 6.1 and higher |
CsrMoveSatisfiedWait | 5.1 to 6.0 |
CsrNotifyWait | 3.10 to 6.0 |
CsrPopulateDosDevices | 5.0 to 6.0 |
CsrQueryApiPort | 4.0 and higher |
CsrReferenceThread | 3.10 and higher |
CsrRegisterCleanupEvent | 3.51 only |
CsrRegisterClientThreadSetup | 6.1 and higher |
CsrReplyToMessage | 6.0 and higher |
CsrRevertToSelf | 3.10 and higher |
CsrServerInitialization | 3.10 and higher |
CsrSetBackgroundPriority | 3.10 and higher |
CsrSetCallingSpooler | 3.10 to 6.0 |
CsrSetForegroundPriority | 3.10 and higher |
CsrSetLastQlpcError | 3.10 to 3.51 |
CsrSetQuickThreadCreationRoutine | 3.10 to 3.51 |
CsrShutdownProcesses | 3.10 and higher |
CsrUnhandledExceptionFilter | 4.0 and higher |
CsrUnlockProcess | 3.10 and higher |
CsrUnlockThread | 3.51 and higher |
CsrInitializeDlls | 3.10 to 3.51 |
CsrValidateMessageBuffer | 5.0 and higher |
CsrValidateMessageString | 5.0 and higher |
CsrpInitializeDlls | 3.10 to 3.51 |
CsrpProcessApiRequest | 3.10 to 3.51 |
Function names are reproduced from the export directory of the CSRSRV.DLL executable. All exports from CSRSRV are by name.
Since experience shows that this table is not always read with the knowledge of an advanced programmer, it must be stressed that a function’s presence in the export directory does not mean that a function is implemented non-trivially or that it will work satisfactorily if called. It means just that the function can be imported from other modules, and be called by them, for better or worse. That a function is exported from some version does not mean that Microsoft supports its use in that version even if such support is documented for later versions.