|
|
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
fileinfo.c
Abstract:
This module implements the NtQueryInformationFile and NtQueryVolumeInformationFile API's for the NT datagram receiver (bowser).
Author:
Larry Osterman (larryo) 6-May-1991
Revision History:
6-May-1991 larryo
Created
--*/
#include "precomp.h"
#pragma hdrstop
NTSTATUS BowserCommonQueryVolumeInformationFile ( IN BOOLEAN Wait, IN PBOWSER_FS_DEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS BowserCommonQueryInformationFile ( IN BOOLEAN Wait, IN PBOWSER_FS_DEVICE_OBJECT DeviceObject, IN PIRP Irp );
#ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, BowserFspQueryVolumeInformationFile)
#pragma alloc_text(PAGE, BowserFsdQueryVolumeInformationFile)
#pragma alloc_text(PAGE, BowserCommonQueryVolumeInformationFile)
#pragma alloc_text(PAGE, BowserFspQueryInformationFile)
#pragma alloc_text(PAGE, BowserFsdQueryInformationFile)
#pragma alloc_text(PAGE, BowserCommonQueryInformationFile)
#endif
NTSTATUS BowserFspQueryVolumeInformationFile ( IN PBOWSER_FS_DEVICE_OBJECT DeviceObject, IN PIRP Irp ) /*++
Routine Description:
This routine is called when the last handle to the NT Bowser device driver is closed.
Arguments:
IN PDEVICE_OBJECT DeviceObject - Supplies a device object for the request. IN PIRP Irp - Supplies an IRP for the create request.
Return Value:
NTSTATUS - Final Status of operation
--*/ { NTSTATUS Status; PAGED_CODE(); Status = BowserCommonQueryVolumeInformationFile (TRUE, DeviceObject, Irp); return Status;
}
NTSTATUS BowserFsdQueryVolumeInformationFile ( IN PBOWSER_FS_DEVICE_OBJECT DeviceObject, IN PIRP Irp ) /*++
Routine Description:
This routine is called when the last handle to the NT Bowser device driver is closed.
Arguments:
IN PDEVICE_OBJECT DeviceObject - Supplies a device object for the request. IN PIRP Irp - Supplies an IRP for the create request.
Return Value:
NTSTATUS - Final Status of operation
--*/ { NTSTATUS Status;
PAGED_CODE(); Status = BowserCommonQueryVolumeInformationFile (IoIsOperationSynchronous(Irp), DeviceObject, Irp); return Status;
}
NTSTATUS BowserCommonQueryVolumeInformationFile ( IN BOOLEAN Wait, IN PBOWSER_FS_DEVICE_OBJECT DeviceObject, IN PIRP Irp ) /*++
Routine Description:
This routine is called when the last handle to the NT Bowser device driver is closed.
Arguments:
IN PDEVICE_OBJECT DeviceObject - Supplies a device object for the request. IN PIRP Irp - Supplies an IRP for the create request.
Return Value:
NTSTATUS - Final Status of operation
--*/ { NTSTATUS Status = STATUS_SUCCESS;
PAGED_CODE(); BowserCompleteRequest(Irp, Status);
return Status;
DBG_UNREFERENCED_PARAMETER(Wait); UNREFERENCED_PARAMETER(DeviceObject);
}
NTSTATUS BowserFspQueryInformationFile ( IN PBOWSER_FS_DEVICE_OBJECT DeviceObject, IN PIRP Irp ) /*++
Routine Description:
This routine is called when the last handle to the NT Bowser device driver is closed.
Arguments:
IN PDEVICE_OBJECT DeviceObject - Supplies a device object for the request. IN PIRP Irp - Supplies an IRP for the create request.
Return Value:
NTSTATUS - Final Status of operation
--*/ { NTSTATUS Status;
PAGED_CODE(); Status = BowserCommonQueryInformationFile (TRUE, DeviceObject, Irp); return Status;
}
NTSTATUS BowserFsdQueryInformationFile ( IN PBOWSER_FS_DEVICE_OBJECT DeviceObject, IN PIRP Irp ) /*++
Routine Description:
This routine is called when the last handle to the NT Bowser device driver is closed.
Arguments:
IN PDEVICE_OBJECT DeviceObject - Supplies a device object for the request. IN PIRP Irp - Supplies an IRP for the create request.
Return Value:
NTSTATUS - Final Status of operation
--*/ { NTSTATUS Status;
PAGED_CODE(); Status = BowserCommonQueryInformationFile(IoIsOperationSynchronous(Irp), DeviceObject, Irp); return Status;
}
NTSTATUS BowserCommonQueryInformationFile ( IN BOOLEAN Wait, IN PBOWSER_FS_DEVICE_OBJECT DeviceObject, IN PIRP Irp ) /*++
Routine Description:
This routine is called when the last handle to the NT Bowser device driver is closed.
Arguments:
IN PDEVICE_OBJECT DeviceObject - Supplies a device object for the request. IN PIRP Irp - Supplies an IRP for the create request.
Return Value:
NTSTATUS - Final Status of operation
--*/ { //
// Return an error until we figure out valid information to return.
NTSTATUS Status = STATUS_NOT_IMPLEMENTED;
PAGED_CODE();
BowserCompleteRequest(Irp, Status);
return Status;
DBG_UNREFERENCED_PARAMETER(Wait);
UNREFERENCED_PARAMETER(DeviceObject);
}
|