2OO1, 1 March
NtCreateNamedPipeFile
NtCreateNamedPipeFile
NTSYSAPI
NTSTATUS
NTAPI
NtCreateNamedPipeFile(
OUT PHANDLE NamedPipeFileHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN ULONG ShareAccess,
IN ULONG CreateDisposition,
IN ULONG CreateOptions,
IN BOOLEAN WriteModeMessage,
IN BOOLEAN ReadModeMessage,
IN BOOLEAN NonBlocking,
IN ULONG MaxInstances,
IN ULONG InBufferSize,
IN ULONG OutBufferSize,
IN PLARGE_INTEGER DefaultTimeOut );
Function NtCreateNamedPipeFile creates Named
Pipe File Object. Named Pipes are especial kind of files, so
all functionality is provided with file's functions like
NtReadFile,
NtWriteFile etc.
Named Pipes are frequently used in NT system, for example as
stdin and stdout handles.
- NamedPipeFileHandle Result of call -
pointer to HANDLE to Named Pipe.
- DesiredAccess Access rights for
object's handle. Can be one or combination of:
- FILE_READ_DATA
- FILE_WRITE_DATA
- FILE_CREATE_PIPE_INSTANCE
- FILE_READ_ATTRIBUTES
- FILE_WRITE_ATTRIBUTES
- SYNCHRONIZE
- READ_CONTROL
- WRITE_OWNER
- WRITE_DAC
- ACCESS_SYSTEM_SECURITY
Also combination of Generic rights are supported.
- ObjectAttributes Pointer to
OBJECT_ATTRIBUTES structure contains name of named pipe.
Name must begin with "\??\PIPE\" string,
that is Symbolic Link to NamedPipe device object.
- IoStatusBlock IO result of call.
- ShareAccess Can be combination of
following:
- FILE_SHARE_READ
- FILE_SHARE_WRITE
- FILE_SHARE_DELETE
- CreateDisposition Use
FILE_CREATE, FILE_OPEN or FILE_OPEN_IF.
- CreateOptions See description of
NtCreateFile for possible creation flags.
- WriteModeMessage If set, writing to
created pipe are processed in Message Mode. If not, all
writes are in Byte Mode.
- ReadModeMessage The same functionality
as WriteModeMessage parameter,
but for reading data.
- NonBlocking If set, all operations on
created pipe are asynchronous.
- MaxInstances Maximum number of open
handles for Named Pipe, or FILE_PIPE_UNLIMITED_INSTANCES
constant.
- InBufferSize Input buffer size, in
bytes.
- OutBufferSize Output buffer size, in
bytes.
- DefaultTimeOut Pointer to
LARGE_INTEGER value specifing pipe's time out, in
100-ns units. Negative value means relative time.
- Documented by:
- Tomasz Nowak
- Reactos
Requirements:
- Library: ntdll.lib
See also:
-
FILE_INFORMATION_CLASS
- FILE_PIPE_INFORMATION
- FILE_PIPE_LOCAL_INFORMATION
- FILE_PIPE_REMOTE_INFORMATION
-
NtFsControlFile
-
NtQueryInformationFile
-
NtReadFile
-
NtSetInformationFile
-
NtWriteFile