2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: ntoskrnl/io/npipe.c
5 * PURPOSE: Named pipe helper function
6 * PROGRAMMER: David Welch (welch@mcmail.com)
11 /* INCLUDES *****************************************************************/
13 #include <ddk/ntddk.h>
14 #include <internal/io.h>
17 #include <internal/debug.h>
19 /* FUNCTIONS *****************************************************************/
22 NtCreateNamedPipeFile(PHANDLE FileHandle,
23 ACCESS_MASK DesiredAccess,
24 POBJECT_ATTRIBUTES ObjectAttributes,
25 PIO_STATUS_BLOCK IoStatusBlock,
27 ULONG CreateDisposition,
29 BOOLEAN WriteModeMessage,
30 BOOLEAN ReadModeMessage,
35 PLARGE_INTEGER TimeOut)
37 IO_PIPE_CREATE_BUFFER Buffer;
39 DPRINT("NtCreateNamedPipeFile(FileHandle %x, DesiredAccess %x, "
40 "ObjectAttributes %x ObjectAttributes->ObjectName->Buffer %S)\n",
41 FileHandle,DesiredAccess,ObjectAttributes,
42 ObjectAttributes->ObjectName->Buffer);
44 assert_irql(PASSIVE_LEVEL);
48 Buffer.TimeOut.QuadPart = TimeOut->QuadPart;
52 Buffer.TimeOut.QuadPart = 0;
54 Buffer.WriteModeMessage = WriteModeMessage;
55 Buffer.ReadModeMessage = ReadModeMessage;
56 Buffer.NonBlocking = NonBlocking;
57 Buffer.MaxInstances = MaxInstances;
58 Buffer.InBufferSize = InBufferSize;
59 Buffer.OutBufferSize = OutBufferSize;
61 return IoCreateFile(FileHandle,
66 FILE_ATTRIBUTE_NORMAL,
72 CreateFileTypeNamedPipe,