IoStatus.Information = 0;
FsRtlEnterFileSystem();
- ExAcquireResourceExclusiveLite(&NpVcb->Lock, TRUE);
+ NpAcquireExclusiveVcb();
if (RelatedFileObject)
{
goto Quickie;
}
- Fcb = NpFindPrefix(&FileName, TRUE, &Prefix);
+ Fcb = NpFindPrefix(&FileName, 1, &Prefix);
}
if (Prefix.Length)
&DeferredList);
Quickie:
- ExReleaseResourceLite(&NpVcb->Lock);
+ NpReleaseVcb();
NpCompleteDeferredIrps(&DeferredList);
FsRtlExitFileSystem();
goto Quickie;
}
- Fcb = NpFindPrefix(&FileName, TRUE, &Prefix);
+ Fcb = NpFindPrefix(&FileName, 1, &Prefix);
}
if (Prefix.Length)
{
DataQueueEntry->Irp = NULL;
- Irp->IoStatus.Status = 0;
+ Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = DataQueueEntry->DataSize;
InsertTailList(List, &Irp->Tail.Overlay.ListEntry);
InitializeListHead(&DeferredList);
- DataQueue = (PNP_DATA_QUEUE)Irp->Tail.Overlay.DriverContext[2];
+ DataQueue = Irp->Tail.Overlay.DriverContext[2];
ClientSecurityContext = NULL;
if (DeviceObject)
NTSTATUS
NTAPI
NpSetPipeInfo(IN PNP_FCB Fcb,
- IN PNP_CCB Ccb,
+ IN PNP_CCB Ccb,
IN PFILE_PIPE_INFORMATION Buffer,
- IN ULONG NamedPipeEnd,
+ IN ULONG NamedPipeEnd,
IN PLIST_ENTRY List)
{
NTSTATUS Status;
- PNP_DATA_QUEUE ReadQueue, WriteQueue;
+ PNP_DATA_QUEUE ReadQueue, WriteQueue;
PAGED_CODE();
if (Buffer->ReadMode == FILE_PIPE_MESSAGE_MODE && Fcb->NamedPipeType == FILE_PIPE_BYTE_STREAM_TYPE)
Buffer = Irp->AssociatedIrp.SystemBuffer;
if (InfoClass == FileBasicInformation) return NpSetBasicInfo(Ccb, Buffer);
-
+
if (InfoClass != FilePipeInformation) return STATUS_INVALID_PARAMETER;
return NpSetPipeInfo(Fcb, Ccb, Buffer, NamedPipeEnd, List);
return STATUS_INVALID_PARAMETER;
}
- PeekBuffer = (PFILE_PIPE_PEEK_BUFFER)Irp->AssociatedIrp.SystemBuffer;
+ PeekBuffer = Irp->AssociatedIrp.SystemBuffer;
if (NamedPipeEnd != FILE_PIPE_CLIENT_END)
{
if (NamedPipeEnd != FILE_PIPE_SERVER_END)
//Status = NpTranslateAlias(&SourceString);
if (!NT_SUCCESS(Status)) goto Quickie;
- Fcb = NpFindPrefix(&SourceString, TRUE, &Prefix);
+ Fcb = NpFindPrefix(&SourceString, 1, &Prefix);
Fcb = (PNP_FCB)((ULONG_PTR)Fcb & ~1);
NodeTypeCode = Fcb ? Fcb->NodeType : 0;
IN PETHREAD Thread,
IN PSECURITY_CLIENT_CONTEXT *Context)
{
-
PSECURITY_CLIENT_CONTEXT NewContext;
NTSTATUS Status;
PAGED_CODE();
TRACE("Entered\n");
FsRtlEnterFileSystem();
- ExAcquireResourceSharedLite(&NpVcb->Lock, TRUE);
+ NpAcquireSharedVcb();
Status = NpCommonQueryVolumeInformation(DeviceObject, Irp);
- ExReleaseResourceLite(&NpVcb->Lock);
+ NpReleaseVcb();
FsRtlExitFileSystem();
if (Status != STATUS_PENDING)
/* FUNCTIONS ******************************************************************/
-NTSTATUS
+NTSTATUS
NTAPI
NpWriteDataQueue(IN PNP_DATA_QUEUE WriteQueue,
IN ULONG Mode,
{
DataSize = DataEntry->DataSize;
- IoStack = IoGetCurrentIrpStackLocation( DataEntry->Irp);
+ IoStack = IoGetCurrentIrpStackLocation(DataEntry->Irp);
- if (IoStack->MajorFunction == IRP_MJ_FILE_SYSTEM_CONTROL &&
+ if (IoStack->MajorFunction == IRP_MJ_FILE_SYSTEM_CONTROL &&
IoStack->Parameters.FileSystemControl.FsControlCode == FSCTL_PIPE_INTERNAL_READ_OVFLOW &&
(DataSize < OutBufferSize || MoreProcessing))
{
{
DataEntry->Irp->Overlay.AllocationSize.QuadPart = 0;
}
-
+
BufferSize = *BytesNotWritten;
if (BufferSize >= DataSize) BufferSize = DataSize;