MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / Ext2IsMediaWriteProtected

Function Ext2IsMediaWriteProtected

Ext4Fsd/fsctl.c:2002–2045  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2000}
2001
2002BOOLEAN
2003Ext2IsMediaWriteProtected (
2004 IN PEXT2_IRP_CONTEXT IrpContext,
2005 IN PDEVICE_OBJECT TargetDevice
2006)
2007{
2008 PIRP Irp;
2009 KEVENT Event;
2010 NTSTATUS Status;
2011 IO_STATUS_BLOCK IoStatus;
2012
2013 KeInitializeEvent(&Event, NotificationEvent, FALSE);
2014
2015 Irp = IoBuildDeviceIoControlRequest( IOCTL_DISK_IS_WRITABLE,
2016 TargetDevice,
2017 NULL,
2018 0,
2019 NULL,
2020 0,
2021 FALSE,
2022 &Event,
2023 &IoStatus );
2024
2025 if (Irp == NULL) {
2026 return FALSE;
2027 }
2028
2029 SetFlag(IoGetNextIrpStackLocation(Irp)->Flags, SL_OVERRIDE_VERIFY_VOLUME);
2030
2031 Status = IoCallDriver(TargetDevice, Irp);
2032
2033 if (Status == STATUS_PENDING) {
2034
2035 (VOID) KeWaitForSingleObject( &Event,
2036 Executive,
2037 KernelMode,
2038 FALSE,
2039 (PLARGE_INTEGER)NULL );
2040
2041 Status = IoStatus.Status;
2042 }
2043
2044 return (BOOLEAN)(Status == STATUS_MEDIA_WRITE_PROTECTED);
2045}
2046
2047NTSTATUS
2048Ext2MountVolume (IN PEXT2_IRP_CONTEXT IrpContext)

Callers 2

Ext2VerifyVolumeFunction · 0.85
Ext2InitializeVcbFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected