2OOO, 29 December
NtCreateFile
NtCreateFile
NTSYSAPI 
NTSTATUS
NTAPI
NtCreateFile(
  OUT PHANDLE             FileHandle,
  IN ACCESS_MASK          DesiredAccess,
  IN POBJECT_ATTRIBUTES   ObjectAttributes,
  OUT PIO_STATUS_BLOCK    IoStatusBlock,
  IN PLARGE_INTEGER       AllocationSize OPTIONAL,
  IN ULONG                FileAttributes,
  IN ULONG                ShareAccess,
  IN ULONG                CreateDisposition,
  IN ULONG                CreateOptions,
  IN PVOID                EaBuffer OPTIONAL,
  IN ULONG                EaLength );
(Avaiable also in 2000 DDK.)
- FileHandle     Result of call -
HANDLE to File Object.
- DesiredAccess     Access mask based on
definitions in schema FILE_* from
<WinNT.h>.
- ObjectAttributes     Name of file to create
(or open), optionally path in name string. You can also define root
directory, security descriptor and attributes
OBJ_CASE_INSENSITIVE and OBJ_INHERIT.
- IoStatusBlock     Pointer to
IO_STATUS_BLOCK structure, that receive final status of
function call. Can be one of:
- FILE_CREATED
- FILE_OPENED
- FILE_OVERWRITTEN
- FILE_SUPERSEDED
- FILE_EXISTS
- FILE_DOES_NOT_EXIST
- AllocationSize     File size after
creation.
- FileAttributes     Attributes for newly
created file, as follows:
- FILE_ATTRIBUTE_READONLY
- FILE_ATTRIBUTE_HIDDEN
- FILE_ATTRIBUTE_SYSTEM
- FILE_ATTRIBUTE_ARCHIVE
- FILE_ATTRIBUTE_NORMAL
- FILE_ATTRIBUTE_TEMPORARY
- FILE_ATTRIBUTE_OFFLINE
- FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
- ShareAccess     Specifies share method for
opened object. Can be set to zero or any combination of flags:
- FILE_SHARE_READ
- FILE_SHARE_WRITE
- FILE_SHARE_DELETE
- CreateDisposition     Specifies disposition
how to create or open object and can be one of:
- FILE_SUPERSEDE - If file exists, deletes it before
creation of new one.
- FILE_OPEN - Fails, if file not exists.
- FILE_CREATE - Fails, if file exists.
- FILE_OPEN_IF - If file exists, opens it. If not, creates
new one and then open it.
- FILE_OVERWRITE - If file not exists, create and open it.
If exists, open them and reset content.
- FILE_OVERWRITE_IF - As FILE_OVERWRITE, but fails
if file not exists.
- CreateOptions     Creation options.
- EaLength     Length of EaBuffer.
 
 
 
- Documented by:
- Tomasz Nowak
 
 
 
 
Requirements:
- Library: ntdll.lib
 
 
 
See also:
- 
FILE_FULL_EA_INFORMATION
 
- 
NtDeleteFile
 
- 
NtOpenFile
 
- 
NtSetEaFile