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; + UNICODE_STRING PipeName = &NtCurrentTeb()->StaticUnicodeString; + ANSI_STRING AnsiPipe; - RtlCreateUnicodeStringFromAsciiz(&PipeName, - (LPSTR)lpNamedPipeName); + /* Initialize the string as ANSI_STRING and convert to Unicode */ + RtlInitAnsiString(&NameA, (LPSTR)lpName); + RtlAnsiStringToUnicodeString(NameU, &NameA, FALSE); - Result = CallNamedPipeW(PipeName.Buffer, - lpInBuffer, - nInBufferSize, - lpOutBuffer, - nOutBufferSize, - lpBytesRead, - nTimeOut); - - RtlFreeUnicodeString(&PipeName); - - return(Result); + /* Call the Unicode function */ + return CallNamedPipeW(PipeName->Buffer, + lpInBuffer, + nInBufferSize, + lpOutBuffer, + nOutBufferSize, + lpBytesRead, + nTimeOut); } - /* * @implemented */