1 /* $Id: close.c,v 1.1 2000/07/07 02:14:14 ekohl Exp $
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: services/fs/vfat/close.c
6 * PURPOSE: VFAT Filesystem
7 * PROGRAMMER: Jason Filby (jasonfilby@yahoo.com)
10 /* INCLUDES *****************************************************************/
12 #include <ddk/ntddk.h>
19 /* FUNCTIONS ****************************************************************/
21 NTSTATUS
FsdCloseFile(PDEVICE_EXTENSION DeviceExt
, PFILE_OBJECT FileObject
)
23 * FUNCTION: Closes a file
30 DPRINT("FsdCloseFile(DeviceExt %x, FileObject %x)\n",
31 DeviceExt
,FileObject
);
33 //FIXME : update entry in directory ?
34 pCcb
= (PVFATCCB
)(FileObject
->FsContext2
);
36 DPRINT("pCcb %x\n",pCcb
);
39 return(STATUS_SUCCESS
);
47 KeAcquireSpinLock(&DeviceExt
->FcbListLock
, &oldIrql
);
48 RemoveEntryList(&pFcb
->FcbListEntry
);
49 KeReleaseSpinLock(&DeviceExt
->FcbListLock
, oldIrql
);
53 return STATUS_SUCCESS
;
56 NTSTATUS
FsdClose(PDEVICE_OBJECT DeviceObject
, PIRP Irp
)
58 * FUNCTION: Closes a file
61 PIO_STACK_LOCATION Stack
= IoGetCurrentIrpStackLocation(Irp
);
62 PFILE_OBJECT FileObject
= Stack
->FileObject
;
63 PDEVICE_EXTENSION DeviceExtension
= DeviceObject
->DeviceExtension
;
66 DPRINT("FsdClose(DeviceObject %x, Irp %x)\n",DeviceObject
, Irp
);
68 Status
= FsdCloseFile(DeviceExtension
,FileObject
);
70 Irp
->IoStatus
.Status
= Status
;
71 Irp
->IoStatus
.Information
= 0;
73 IoCompleteRequest(Irp
, IO_NO_INCREMENT
);