/*++ BUILD Version: 0001 // Increment this if a change has global effects Copyright (c) Microsoft Corporation. All rights reserved. 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_ #if _MSC_VER > 1000 #pragma once #endif #include "ntcsrmsg.h" #ifdef __cplusplus extern "C" { #endif NTSYSAPI NTSTATUS NTAPI CsrClientConnectToServer( IN PWSTR ObjectDirectory, IN ULONG ServertDllIndex, 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 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 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 VOID NTAPI CsrCaptureMessageUnicodeStringInPlace( IN OUT PCSR_CAPTURE_HEADER CaptureBuffer, IN OUT PUNICODE_STRING String ); NTSYSAPI NTSTATUS NTAPI CsrCaptureMessageMultiUnicodeStringsInPlace( IN OUT PCSR_CAPTURE_HEADER* InOutCaptureBuffer, IN ULONG NumberOfStringsToCapture, IN const PUNICODE_STRING* StringsToCapture ); 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 ); NTSYSAPI HANDLE NTAPI CsrGetProcessId( VOID ); #ifdef __cplusplus } #endif #endif // _NTCSRDLLAPI_