diff --git a/reactos/include/csrss/csrss.h b/reactos/include/csrss/csrss.h index b69747342e9..c1e59c71cef 100644 --- a/reactos/include/csrss/csrss.h +++ b/reactos/include/csrss/csrss.h @@ -357,6 +357,17 @@ typedef struct HANDLE Handle; } CSRSS_VERIFY_HANDLE_REQUEST, *PCSRSS_VERIFY_HANDLE_REQUEST; +typedef struct +{ + HANDLE Handle; + DWORD ProcessId; +} CSRSS_DUPLICATE_HANDLE_REQUEST, *PCSRSS_DUPLICATE_HANDLE_REQUEST; + +typedef struct +{ + HANDLE Handle; +} CSRSS_DUPLICATE_HANDLE_REPLY, *PCSRSS_DUPLICATE_HANDLE_REPLY; + #define CSRSS_MAX_WRITE_CONSOLE_REQUEST \ (MAX_MESSAGE_DATA - sizeof(ULONG) - sizeof(CSRSS_WRITE_CONSOLE_REQUEST)) @@ -415,6 +426,7 @@ typedef struct #define CSRSS_GET_OUTPUT_HANDLE (0x25) #define CSRSS_CLOSE_HANDLE (0x26) #define CSRSS_VERIFY_HANDLE (0x27) +#define CSRSS_DUPLICATE_HANDLE (0x28) /* Keep in sync with definition below. */ #define CSRSS_REQUEST_HEADER_SIZE (sizeof(LPC_MESSAGE) + sizeof(ULONG)) @@ -460,6 +472,7 @@ typedef struct CSRSS_WRITE_CONSOLE_INPUT_REQUEST WriteConsoleInputRequest; CSRSS_CLOSE_HANDLE_REQUEST CloseHandleRequest; CSRSS_VERIFY_HANDLE_REQUEST VerifyHandleRequest; + CSRSS_DUPLICATE_HANDLE_REQUEST DuplicateHandleRequest; } Data; } CSRSS_API_REQUEST, *PCSRSS_API_REQUEST; @@ -492,6 +505,7 @@ typedef struct CSRSS_WRITE_CONSOLE_INPUT_REPLY WriteConsoleInputReply; CSRSS_GET_INPUT_HANDLE_REPLY GetInputHandleReply; CSRSS_GET_OUTPUT_HANDLE_REPLY GetOutputHandleReply; + CSRSS_DUPLICATE_HANDLE_REPLY DuplicateHandleReply; } Data; } CSRSS_API_REPLY, *PCSRSS_API_REPLY; diff --git a/reactos/subsys/csrss/api.h b/reactos/subsys/csrss/api.h index 74c9debbf2f..53d29bf071f 100644 --- a/reactos/subsys/csrss/api.h +++ b/reactos/subsys/csrss/api.h @@ -136,6 +136,7 @@ CSR_API(CsrGetInputHandle); CSR_API(CsrGetOutputHandle); CSR_API(CsrCloseHandle); CSR_API(CsrVerifyHandle); +CSR_API(CsrDuplicateHandle); /* print.c */ VOID STDCALL DisplayString(LPCWSTR lpwString); diff --git a/reactos/subsys/csrss/api/wapi.c b/reactos/subsys/csrss/api/wapi.c index 0a93c62d43c..b55a1344c90 100644 --- a/reactos/subsys/csrss/api/wapi.c +++ b/reactos/subsys/csrss/api/wapi.c @@ -1,4 +1,4 @@ -/* $Id: wapi.c,v 1.27 2003/03/05 22:50:24 ekohl Exp $ +/* $Id: wapi.c,v 1.28 2003/03/09 21:42:47 hbirr Exp $ * * reactos/subsys/csrss/api/wapi.c * @@ -67,6 +67,7 @@ static const CsrFunc CsrFuncs[] = { CsrGetOutputHandle, CsrCloseHandle, CsrVerifyHandle, + CsrDuplicateHandle, 0 }; static void Thread_Api2(HANDLE ServerPort)