Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 211 of file finfo.c.
{ PIO_STACK_LOCATION IoStack; FILE_INFORMATION_CLASS FileInformationClass; PFILE_OBJECT FileObject; //PNPFS_VCB Vcb; PNPFS_FCB Fcb; PNPFS_CCB Ccb; PVOID SystemBuffer; ULONG BufferLength; NTSTATUS Status; DPRINT("NpfsQueryInformation(DeviceObject %p Irp %p)\n", DeviceObject, Irp); IoStack = IoGetCurrentIrpStackLocation (Irp); FileInformationClass = IoStack->Parameters.QueryFile.FileInformationClass; //Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; FileObject = IoStack->FileObject; Ccb = (PNPFS_CCB)FileObject->FsContext2; Fcb = Ccb->Fcb; SystemBuffer = Irp->AssociatedIrp.SystemBuffer; BufferLength = IoStack->Parameters.QueryFile.Length; DPRINT("Pipe name: %wZ\n", &Fcb->PipeName); DPRINT("FileInformationClass %d\n", FileInformationClass); DPRINT("SystemBuffer %p\n", SystemBuffer); DPRINT("BufferLength %lu\n", BufferLength); switch (FileInformationClass) { case FilePipeInformation: Status = NpfsQueryPipeInformation(DeviceObject, Ccb, SystemBuffer, &BufferLength); break; case FilePipeLocalInformation: Status = NpfsQueryLocalPipeInformation(DeviceObject, Ccb, SystemBuffer, &BufferLength); break; case FilePipeRemoteInformation: Status = NpfsQueryPipeRemoteInformation(DeviceObject, Ccb, SystemBuffer, &BufferLength); break; default: Status = STATUS_NOT_SUPPORTED; BufferLength = 0; } Irp->IoStatus.Status = Status; Irp->IoStatus.Information = BufferLength; IoCompleteRequest (Irp, IO_NO_INCREMENT); return Status; }