Geoff Chappell, Software Analyst
The CsrClientCallServer function calls an API routine in a CSRSS server DLL and waits for the reply.
NTSTATUS CsrClientCallServer ( CSR_API_MSG *ApiMsg, PVOID CaptureBuffer, ULONG ApiNumber, LONG ApiMessageDataSize);
The ApiMsg argument is the address of an API message packet.
The optional CaptureBuffer argument is the address of a capture buffer, as obtained from calling CsrAllocateCaptureBuffer.
The low and high words of the ApiNumber argument tell respectively which API routine to call at which server DLL.
The ApiMessageDataSize argument is the size in bytes of the API message data, e.g., in the ApiMessageData member of the CSR_API_MSG.
The function returns STATUS_SUCCESS if successful, else a negative error code.
The CsrClientCallSever function is exported by name from NTDLL.DLL in all known Windows versions, i.e., starting from version 3.10.
The CsrClientCallServer function is not documented. Neither is Microsoft known to have disclosed a C-language declaration in any header from any publicly released kit for software development.
IN PROGRESS