Implement TransactNamedPipe for the non-overlapped case.

This commit is contained in:
Mike McCormack 2005-01-19 17:00:48 +00:00 committed by Alexandre Julliard
parent a5fb277fc4
commit c1b4d7d16f

View file

@ -1342,17 +1342,32 @@ BOOL WINAPI DisconnectNamedPipe(HANDLE hPipe)
/*********************************************************************** /***********************************************************************
* TransactNamedPipe (KERNEL32.@) * TransactNamedPipe (KERNEL32.@)
*
* BUGS
* should be done as a single operation in the wineserver or kernel
*/ */
BOOL WINAPI TransactNamedPipe( BOOL WINAPI TransactNamedPipe(
HANDLE hPipe, LPVOID lpInput, DWORD dwInputSize, LPVOID lpOutput, HANDLE handle, LPVOID lpInput, DWORD dwInputSize, LPVOID lpOutput,
DWORD dwOutputSize, LPDWORD lpBytesRead, LPOVERLAPPED lpOverlapped) DWORD dwOutputSize, LPDWORD lpBytesRead, LPOVERLAPPED lpOverlapped)
{ {
FIXME("%p %p %ld %p %ld %p %p\n", BOOL r;
hPipe, lpInput, dwInputSize, lpOutput, DWORD count;
TRACE("%p %p %ld %p %ld %p %p\n",
handle, lpInput, dwInputSize, lpOutput,
dwOutputSize, lpBytesRead, lpOverlapped); dwOutputSize, lpBytesRead, lpOverlapped);
if(lpBytesRead)
*lpBytesRead=0; if (lpOverlapped)
return FALSE; {
FIXME("Doesn't support overlapped operation as yet\n");
return FALSE;
}
r = WriteFile(handle, lpOutput, dwOutputSize, &count, NULL);
if (r)
r = ReadFile(handle, lpInput, dwInputSize, lpBytesRead, NULL);
return r;
} }
/*********************************************************************** /***********************************************************************