From 4cafc71bd899e5500b60db810455d62351dd62f3 Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Wed, 9 Nov 2005 02:53:58 +0000 Subject: [PATCH] - Optimize CallNamedPipeA too and remove accidental define. svn path=/trunk/; revision=19085 --- reactos/lib/kernel32/file/npipe.c | 46 +++++++++++++++---------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/reactos/lib/kernel32/file/npipe.c b/reactos/lib/kernel32/file/npipe.c index 7695bbe53be..91d654626a5 100644 --- a/reactos/lib/kernel32/file/npipe.c +++ b/reactos/lib/kernel32/file/npipe.c @@ -12,7 +12,7 @@ #include #define NDEBUG -#define USING_PROPER_NPFS_WAIT_SEMANTICS +//#define USING_PROPER_NPFS_WAIT_SEMANTICS #include "../include/debug.h" /* FUNCTIONS ****************************************************************/ @@ -664,35 +664,33 @@ SetNamedPipeHandleState(HANDLE hNamedPipe, /* * @implemented */ -BOOL STDCALL +BOOL +WINAPI CallNamedPipeA(LPCSTR lpNamedPipeName, - LPVOID lpInBuffer, - DWORD nInBufferSize, - LPVOID lpOutBuffer, - DWORD nOutBufferSize, - LPDWORD lpBytesRead, - DWORD nTimeOut) + LPVOID lpInBuffer, + DWORD nInBufferSize, + LPVOID lpOutBuffer, + DWORD nOutBufferSize, + LPDWORD lpBytesRead, + DWORD nTimeOut) { - UNICODE_STRING PipeName; - BOOL Result; - - RtlCreateUnicodeStringFromAsciiz(&PipeName, - (LPSTR)lpNamedPipeName); - - Result = CallNamedPipeW(PipeName.Buffer, - lpInBuffer, - nInBufferSize, - lpOutBuffer, - nOutBufferSize, - lpBytesRead, - nTimeOut); + UNICODE_STRING PipeName = &NtCurrentTeb()->StaticUnicodeString; + ANSI_STRING AnsiPipe; - RtlFreeUnicodeString(&PipeName); + /* Initialize the string as ANSI_STRING and convert to Unicode */ + RtlInitAnsiString(&NameA, (LPSTR)lpName); + RtlAnsiStringToUnicodeString(NameU, &NameA, FALSE); - return(Result); + /* Call the Unicode function */ + return CallNamedPipeW(PipeName->Buffer, + lpInBuffer, + nInBufferSize, + lpOutBuffer, + nOutBufferSize, + lpBytesRead, + nTimeOut); } - /* * @implemented */ -- 2.17.1