/*++ BUILD Version: 0001 // Increment this if a change has global effects Copyright (c) 1990-1993 Microsoft Corporation Module Name: ntcsrdll.h Abstract: This module defines the public interfaces of the Client portion of the Client-Server Runtime (Csr) Subsystem. Author: Steve Wood (stevewo) 09-Oct-1990 Revision History: --*/ #ifndef _NTCSRDLLAPI_ #define _NTCSRDLLAPI_ #include "ntcsrmsg.h" typedef ULONG (*PCSR_CALLBACK_ROUTINE)( IN OUT PCSR_API_MSG ReplyMsg ); typedef struct _CSR_CALLBACK_INFO { ULONG ApiNumberBase; ULONG MaxApiNumber; PCSR_CALLBACK_ROUTINE *CallbackDispatchTable; } CSR_CALLBACK_INFO, *PCSR_CALLBACK_INFO; NTSYSAPI NTSTATUS NTAPI CsrClientConnectToServer( IN PWSTR ObjectDirectory, IN ULONG ServertDllIndex, IN PCSR_CALLBACK_INFO CallbackInformation OPTIONAL, IN PVOID ConnectionInformation, IN OUT PULONG ConnectionInformationLength OPTIONAL, OUT PBOOLEAN CalledFromServer OPTIONAL ); NTSYSAPI NTSTATUS NTAPI CsrClientCallServer( IN OUT PCSR_API_MSG m, IN OUT PCSR_CAPTURE_HEADER CaptureBuffer OPTIONAL, IN CSR_API_NUMBER ApiNumber, IN ULONG ArgLength ); NTSYSAPI PCSR_CAPTURE_HEADER NTAPI CsrAllocateCaptureBuffer( IN ULONG CountMessagePointers, IN ULONG CountCapturePointers, IN ULONG Size ); NTSYSAPI VOID NTAPI CsrFreeCaptureBuffer( IN PCSR_CAPTURE_HEADER CaptureBuffer ); NTSYSAPI ULONG NTAPI CsrAllocateMessagePointer( IN OUT PCSR_CAPTURE_HEADER CaptureBuffer, IN ULONG Length, OUT PVOID *Pointer ); NTSYSAPI ULONG NTAPI CsrAllocateCapturePointer( IN OUT PCSR_CAPTURE_HEADER CaptureBuffer, IN ULONG Length, OUT PVOID *Pointer ); NTSYSAPI VOID NTAPI CsrCaptureMessageBuffer( IN OUT PCSR_CAPTURE_HEADER CaptureBuffer, IN PVOID Buffer OPTIONAL, IN ULONG Length, OUT PVOID *CapturedBuffer ); NTSYSAPI VOID NTAPI CsrCaptureMessageString( IN OUT PCSR_CAPTURE_HEADER CaptureBuffer, IN PCSTR String, IN ULONG Length, IN ULONG MaximumLength, OUT PSTRING CapturedString ); NTSYSAPI PLARGE_INTEGER NTAPI CsrCaptureTimeout( IN ULONG Milliseconds, OUT PLARGE_INTEGER Timeout ); NTSYSAPI VOID NTAPI CsrProbeForWrite( IN PVOID Address, IN ULONG Length, IN ULONG Alignment ); NTSYSAPI VOID NTAPI CsrProbeForRead( IN PVOID Address, IN ULONG Length, IN ULONG Alignment ); NTSYSAPI NTSTATUS NTAPI CsrNewThread( VOID ); NTSYSAPI NTSTATUS NTAPI CsrIdentifyAlertableThread( VOID ); NTSYSAPI NTSTATUS NTAPI CsrSetPriorityClass( IN HANDLE ProcessHandle, IN OUT PULONG PriorityClass ); NTSYSAPI NTSTATUS NTAPI CsrStartProfile( VOID ); NTSYSAPI NTSTATUS NTAPI CsrStopProfile( VOID ); NTSYSAPI NTSTATUS NTAPI CsrDumpProfile( VOID ); NTSYSAPI NTSTATUS NTAPI CsrStopDumpProfile( VOID ); #endif // _NTCSRDLLAPI_