projects
/
reactos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[FASTFAT] Start implementing FAT32 statistics support
[reactos.git]
/
drivers
/
filesystems
/
npfs
/
create.c
diff --git
a/drivers/filesystems/npfs/create.c
b/drivers/filesystems/npfs/create.c
index
d1b6479
..
96e60e3
100644
(file)
--- a/
drivers/filesystems/npfs/create.c
+++ b/
drivers/filesystems/npfs/create.c
@@
-96,7
+96,7
@@
NpOpenNamedPipeRootDirectory(IN PNP_DCB Dcb,
IoStatus.Information = 0;
}
IoStatus.Information = 0;
}
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
return IoStatus;
}
@@
-122,7
+122,6
@@
NpCreateClientEnd(IN PNP_FCB Fcb,
PNP_CCB Ccb = NULL;
TRACE("Entered\n");
PNP_CCB Ccb = NULL;
TRACE("Entered\n");
- IoStatus.Status = STATUS_SUCCESS;
IoStatus.Information = 0;
Privileges = NULL;
IoStatus.Information = 0;
Privileges = NULL;
@@
-172,7
+171,7
@@
NpCreateClientEnd(IN PNP_FCB Fcb,
((GrantedAccess & FILE_WRITE_DATA) && (NamedPipeConfiguration == FILE_PIPE_OUTBOUND)))
{
IoStatus.Status = STATUS_ACCESS_DENIED;
((GrantedAccess & FILE_WRITE_DATA) && (NamedPipeConfiguration == FILE_PIPE_OUTBOUND)))
{
IoStatus.Status = STATUS_ACCESS_DENIED;
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
return IoStatus;
}
@@
-191,7
+190,7
@@
NpCreateClientEnd(IN PNP_FCB Fcb,
if (NextEntry == ListHead)
{
IoStatus.Status = STATUS_PIPE_NOT_AVAILABLE;
if (NextEntry == ListHead)
{
IoStatus.Status = STATUS_PIPE_NOT_AVAILABLE;
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
return IoStatus;
}
@@
-202,7
+201,7
@@
NpCreateClientEnd(IN PNP_FCB Fcb,
if (!NT_SUCCESS(IoStatus.Status))
{
NpUninitializeSecurity(Ccb);
if (!NT_SUCCESS(IoStatus.Status))
{
NpUninitializeSecurity(Ccb);
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
return IoStatus;
}
@@
-211,7
+210,7
@@
NpCreateClientEnd(IN PNP_FCB Fcb,
IoStatus.Information = FILE_OPENED;
IoStatus.Status = STATUS_SUCCESS;
IoStatus.Information = FILE_OPENED;
IoStatus.Status = STATUS_SUCCESS;
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
return IoStatus;
}
@@
-373,7
+372,6
@@
NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
ACCESS_MASK DesiredAccess;
LIST_ENTRY DeferredList;
UNICODE_STRING Prefix;
ACCESS_MASK DesiredAccess;
LIST_ENTRY DeferredList;
UNICODE_STRING Prefix;
- NTSTATUS Status;
TRACE("Entered\n");
InitializeListHead(&DeferredList);
TRACE("Entered\n");
InitializeListHead(&DeferredList);
@@
-384,10
+382,9
@@
NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
DesiredAccess = IoStack->Parameters.CreatePipe.SecurityContext->DesiredAccess;
IoStatus.Information = 0;
DesiredAccess = IoStack->Parameters.CreatePipe.SecurityContext->DesiredAccess;
IoStatus.Information = 0;
- IoStatus.Status = STATUS_SUCCESS;
FsRtlEnterFileSystem();
FsRtlEnterFileSystem();
-
ExAcquireResourceExclusiveLite(&NpVcb->Lock, TRUE
);
+
NpAcquireExclusiveVcb(
);
if (RelatedFileObject)
{
if (RelatedFileObject)
{
@@
-428,8
+425,8
@@
NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
goto Quickie;
}
goto Quickie;
}
- Status = NpTranslateAlias(&FileName);
- if (!NT_SUCCESS(Status)) goto Quickie;
+
IoStatus.
Status = NpTranslateAlias(&FileName);
+ if (!NT_SUCCESS(
IoStatus.
Status)) goto Quickie;
if (RelatedFileObject)
{
if (RelatedFileObject)
{
@@
-465,7
+462,7
@@
NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
goto Quickie;
}
goto Quickie;
}
- Fcb = NpFindPrefix(&FileName,
TRUE
, &Prefix);
+ Fcb = NpFindPrefix(&FileName,
1
, &Prefix);
}
if (Prefix.Length)
}
if (Prefix.Length)
@@
-502,7
+499,7
@@
NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
&DeferredList);
Quickie:
&DeferredList);
Quickie:
-
ExReleaseResourceLite(&NpVcb->Lock
);
+
NpReleaseVcb(
);
NpCompleteDeferredIrps(&DeferredList);
FsRtlExitFileSystem();
NpCompleteDeferredIrps(&DeferredList);
FsRtlExitFileSystem();
@@
-543,6
+540,8
@@
NpCreateExistingNamedPipe(IN PNP_FCB Fcb,
SubjectSecurityContext = &AccessState->SubjectSecurityContext;
SeLockSubjectContext(SubjectSecurityContext);
SubjectSecurityContext = &AccessState->SubjectSecurityContext;
SeLockSubjectContext(SubjectSecurityContext);
+ IoStatus.Information = 0;
+
AccessGranted = SeAccessCheck(Fcb->SecurityDescriptor,
SubjectSecurityContext,
TRUE,
AccessGranted = SeAccessCheck(Fcb->SecurityDescriptor,
SubjectSecurityContext,
TRUE,
@@
-581,21
+580,21
@@
NpCreateExistingNamedPipe(IN PNP_FCB Fcb,
SeUnlockSubjectContext(SubjectSecurityContext);
if (!AccessGranted)
{
SeUnlockSubjectContext(SubjectSecurityContext);
if (!AccessGranted)
{
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
if (Fcb->CurrentInstances >= Fcb->MaximumInstances)
{
IoStatus.Status = STATUS_INSTANCE_NOT_AVAILABLE;
return IoStatus;
}
if (Fcb->CurrentInstances >= Fcb->MaximumInstances)
{
IoStatus.Status = STATUS_INSTANCE_NOT_AVAILABLE;
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
if (Disposition == FILE_CREATE)
{
IoStatus.Status = STATUS_ACCESS_DENIED;
return IoStatus;
}
if (Disposition == FILE_CREATE)
{
IoStatus.Status = STATUS_ACCESS_DENIED;
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
return IoStatus;
}
@@
-616,7
+615,7
@@
NpCreateExistingNamedPipe(IN PNP_FCB Fcb,
if (CheckShareAccess != ShareAccess)
{
IoStatus.Status = STATUS_ACCESS_DENIED;
if (CheckShareAccess != ShareAccess)
{
IoStatus.Status = STATUS_ACCESS_DENIED;
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
return IoStatus;
}
@@
-638,7
+637,7
@@
NpCreateExistingNamedPipe(IN PNP_FCB Fcb,
{
--Ccb->Fcb->CurrentInstances;
NpDeleteCcb(Ccb, List);
{
--Ccb->Fcb->CurrentInstances;
NpDeleteCcb(Ccb, List);
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
return IoStatus;
}
@@
-647,8
+646,8
@@
NpCreateExistingNamedPipe(IN PNP_FCB Fcb,
NpCheckForNotify(Fcb->ParentDcb, 0, List);
IoStatus.Status = STATUS_SUCCESS;
NpCheckForNotify(Fcb->ParentDcb, 0, List);
IoStatus.Status = STATUS_SUCCESS;
- IoStatus.Information =
1
;
- TRACE("Leaving, IoStatus
= %lx\n", Io
Status);
+ IoStatus.Information =
FILE_OPENED
;
+ TRACE("Leaving, IoStatus
.Status = %lx\n", IoStatus.
Status);
return IoStatus;
}
return IoStatus;
}
@@
-664,7
+663,7
@@
NpCreateNewNamedPipe(IN PNP_DCB Dcb,
IN PNAMED_PIPE_CREATE_PARAMETERS Parameters,
IN PEPROCESS Process,
IN PLIST_ENTRY List,
IN PNAMED_PIPE_CREATE_PARAMETERS Parameters,
IN PEPROCESS Process,
IN PLIST_ENTRY List,
-
IN
PIO_STATUS_BLOCK IoStatus)
+
OUT
PIO_STATUS_BLOCK IoStatus)
{
NTSTATUS Status;
USHORT NamedPipeConfiguration;
{
NTSTATUS Status;
USHORT NamedPipeConfiguration;
@@
-677,7
+676,7
@@
NpCreateNewNamedPipe(IN PNP_DCB Dcb,
if (!(Parameters->TimeoutSpecified) ||
!(Parameters->MaximumInstances) ||
if (!(Parameters->TimeoutSpecified) ||
!(Parameters->MaximumInstances) ||
- (Parameters->DefaultTimeout.
High
Part >= 0))
+ (Parameters->DefaultTimeout.
Quad
Part >= 0))
{
Status = STATUS_INVALID_PARAMETER;
goto Quickie;
{
Status = STATUS_INVALID_PARAMETER;
goto Quickie;
@@
-707,7
+706,8
@@
NpCreateNewNamedPipe(IN PNP_DCB Dcb,
goto Quickie;
}
goto Quickie;
}
- if (!Parameters->NamedPipeType && Parameters->ReadMode == 1)
+ if (Parameters->NamedPipeType == FILE_PIPE_BYTE_STREAM_TYPE &&
+ Parameters->ReadMode == FILE_PIPE_MESSAGE_MODE)
{
Status = STATUS_INVALID_PARAMETER;
goto Quickie;
{
Status = STATUS_INVALID_PARAMETER;
goto Quickie;
@@
-737,12
+737,12
@@
NpCreateNewNamedPipe(IN PNP_DCB Dcb,
}
SecurityContext = &AccessState->SubjectSecurityContext;
}
SecurityContext = &AccessState->SubjectSecurityContext;
- SeLockSubjectContext(
&AccessState->Subject
SecurityContext);
+ SeLockSubjectContext(SecurityContext);
- Status = SeAssignSecurity(
0
,
+ Status = SeAssignSecurity(
NULL
,
AccessState->SecurityDescriptor,
&SecurityDescriptor,
AccessState->SecurityDescriptor,
&SecurityDescriptor,
-
0
,
+
FALSE
,
SecurityContext,
IoGetFileObjectGenericMapping(),
PagedPool);
SecurityContext,
IoGetFileObjectGenericMapping(),
PagedPool);
@@
-757,7
+757,7
@@
NpCreateNewNamedPipe(IN PNP_DCB Dcb,
Status = ObLogSecurityDescriptor(SecurityDescriptor,
&CachedSecurityDescriptor,
1);
Status = ObLogSecurityDescriptor(SecurityDescriptor,
&CachedSecurityDescriptor,
1);
- ExFreePool
(SecurityDescriptor
);
+ ExFreePool
WithTag(SecurityDescriptor, 0
);
if (!NT_SUCCESS(Status))
{
if (!NT_SUCCESS(Status))
{
@@
-817,7
+817,6
@@
NpFsdCreateNamedPipe(IN PDEVICE_OBJECT DeviceObject,
FileName = FileObject->FileName;
FileName = FileObject->FileName;
- IoStatus.Status = STATUS_SUCCESS;
IoStatus.Information = 0;
FsRtlEnterFileSystem();
IoStatus.Information = 0;
FsRtlEnterFileSystem();
@@
-854,7
+853,7
@@
NpFsdCreateNamedPipe(IN PDEVICE_OBJECT DeviceObject,
goto Quickie;
}
goto Quickie;
}
- Fcb = NpFindPrefix(&FileName,
TRUE
, &Prefix);
+ Fcb = NpFindPrefix(&FileName,
1
, &Prefix);
}
if (Prefix.Length)
}
if (Prefix.Length)