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

Method OnChangeProperty

Ext2Mgr/Ext2MgrDlg.cpp:861–934  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

859
860
861void CExt2MgrDlg::OnChangeProperty()
862{
863 CExt2Attribute EA;
864
865 PEXT2_VOLUME_PROPERTY3 EVP = NULL;
866
867 PEXT2_VOLUME volume = NULL;
868 PEXT2_CDROM cdrom = NULL;
869
870 if (m_bFocusVolume) {
871 if (m_type == EXT2_VOLUME_MAGIC) {
872 volume = (PEXT2_VOLUME) m_sdev;
873 EVP = &volume->EVP;
874 } else if (m_type == EXT2_CDROM_DEVICE_MAGIC) {
875 cdrom = (PEXT2_CDROM) m_sdev;
876 EVP = &cdrom->EVP;
877 }
878 } else {
879 if (m_type == EXT2_PART_MAGIC) {
880 PEXT2_PARTITION part = (PEXT2_PARTITION) m_sdev;
881 volume = part->Volume;
882 EVP = &volume->EVP;
883 } else if (m_type == EXT2_CDROM_VOLUME_MAGIC ||
884 m_type == EXT2_CDROM_DEVICE_MAGIC ) {
885 cdrom = (PEXT2_CDROM) m_sdev;
886 EVP = &cdrom->EVP;
887 }
888 }
889
890 if (EVP) {
891
892 NT::NTSTATUS status;
893 HANDLE Handle = NULL;
894 CString s;
895
896 EA.m_EVP = EVP;
897 if (volume) {
898 if (volume->Part)
899 EA.m_DevName = volume->Part->Name;
900 else
901 EA.m_DevName = volume->Name;
902 } else {
903 EA.m_bCdrom = TRUE;
904 EA.m_DevName = cdrom->Name;
905 }
906
907 status = Ext2Open(EA.m_DevName.GetBuffer(EA.m_DevName.GetLength()),
908 &Handle, EXT2_DESIRED_ACCESS);
909
910 if (!NT_SUCCESS(status)) {
911
912 s.Format("Ext2Fsd service isn't started.\n");
913 AfxMessageBox(s, MB_OK | MB_ICONSTOP);
914
915 } else {
916
917 if (!Ext2QueryExt2Property(Handle, EVP)) {
918 Ext2Close(&Handle);

Callers

nothing calls this directly

Calls 3

Ext2OpenFunction · 0.85
Ext2QueryExt2PropertyFunction · 0.85
Ext2CloseFunction · 0.70

Tested by

no test coverage detected