[NPFS] Magic--;
[reactos.git] / drivers / filesystems / npfs / create.c
index 7fde99d..8efcd77 100644 (file)
@@ -361,7 +361,7 @@ NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
             IN PIRP Irp)
 {
     IO_STATUS_BLOCK IoStatus;
-    PEXTENDED_IO_STACK_LOCATION IoStack;
+    PIO_STACK_LOCATION IoStack;
     UNICODE_STRING FileName;
     PFILE_OBJECT FileObject;
     PFILE_OBJECT RelatedFileObject;
@@ -375,7 +375,7 @@ NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
     TRACE("Entered\n");
 
     InitializeListHead(&DeferredList);
-    IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp);
+    IoStack = IoGetCurrentIrpStackLocation(Irp);
     FileObject = IoStack->FileObject;
     RelatedFileObject = FileObject->RelatedFileObject;
     FileName = FileObject->FileName;
@@ -384,7 +384,7 @@ NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
     IoStatus.Information = 0;
 
     FsRtlEnterFileSystem();
-    ExAcquireResourceExclusiveLite(&NpVcb->Lock, TRUE);
+    NpAcquireExclusiveVcb();
 
     if (RelatedFileObject)
     {
@@ -462,7 +462,7 @@ NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
             goto Quickie;
         }
 
-        Fcb = NpFindPrefix(&FileName, TRUE, &Prefix);
+        Fcb = NpFindPrefix(&FileName, 1, &Prefix);
     }
 
     if (Prefix.Length)
@@ -499,7 +499,7 @@ NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
                                  &DeferredList);
 
 Quickie:
-    ExReleaseResourceLite(&NpVcb->Lock);
+    NpReleaseVcb();
     NpCompleteDeferredIrps(&DeferredList);
     FsRtlExitFileSystem();
 
@@ -562,7 +562,7 @@ NpCreateExistingNamedPipe(IN PNP_FCB Fcb,
     if (AccessGranted)
     {
         AccessState->PreviouslyGrantedAccess |= GrantedAccess;
-        AccessState->RemainingDesiredAccess &= ~(GrantedAccess | 0x2000000);
+        AccessState->RemainingDesiredAccess &= ~(GrantedAccess | MAXIMUM_ALLOWED);
     }
 
     ObjectTypeName.Buffer = L"NamedPipe";
@@ -676,7 +676,7 @@ NpCreateNewNamedPipe(IN PNP_DCB Dcb,
 
     if (!(Parameters->TimeoutSpecified) ||
         !(Parameters->MaximumInstances) ||
-        (Parameters->DefaultTimeout.HighPart >= 0))
+        (Parameters->DefaultTimeout.QuadPart >= 0))
     {
         Status = STATUS_INVALID_PARAMETER;
         goto Quickie;
@@ -706,7 +706,8 @@ NpCreateNewNamedPipe(IN PNP_DCB Dcb,
         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;
@@ -736,12 +737,12 @@ NpCreateNewNamedPipe(IN PNP_DCB Dcb,
     }
 
     SecurityContext = &AccessState->SubjectSecurityContext;
-    SeLockSubjectContext(&AccessState->SubjectSecurityContext);
+    SeLockSubjectContext(SecurityContext);
 
-    Status = SeAssignSecurity(0,
+    Status = SeAssignSecurity(NULL,
                               AccessState->SecurityDescriptor,
                               &SecurityDescriptor,
-                              0,
+                              FALSE,
                               SecurityContext,
                               IoGetFileObjectGenericMapping(),
                               PagedPool);
@@ -756,7 +757,7 @@ NpCreateNewNamedPipe(IN PNP_DCB Dcb,
     Status = ObLogSecurityDescriptor(SecurityDescriptor,
                                      &CachedSecurityDescriptor,
                                      1);
-    ExFreePool(SecurityDescriptor);
+    ExFreePoolWithTag(SecurityDescriptor, 0);
 
     if (!NT_SUCCESS(Status))
     {
@@ -790,7 +791,7 @@ NTAPI
 NpFsdCreateNamedPipe(IN PDEVICE_OBJECT DeviceObject,
                      IN PIRP Irp)
 {
-    PEXTENDED_IO_STACK_LOCATION IoStack;
+    PIO_STACK_LOCATION IoStack;
     PFILE_OBJECT FileObject;
     PFILE_OBJECT RelatedFileObject;
     USHORT Disposition, ShareAccess;
@@ -806,7 +807,7 @@ NpFsdCreateNamedPipe(IN PDEVICE_OBJECT DeviceObject,
     InitializeListHead(&DeferredList);
     Process = IoGetRequestorProcess(Irp);
 
-    IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
+    IoStack = IoGetCurrentIrpStackLocation(Irp);
     FileObject = IoStack->FileObject;
     RelatedFileObject = FileObject->RelatedFileObject;
 
@@ -852,7 +853,7 @@ NpFsdCreateNamedPipe(IN PDEVICE_OBJECT DeviceObject,
             goto Quickie;
         }
 
-        Fcb = NpFindPrefix(&FileName, TRUE, &Prefix);
+        Fcb = NpFindPrefix(&FileName, 1, &Prefix);
     }
 
     if (Prefix.Length)