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

Function Ext2RemoveDosSymLink

Ext2Mgr/enumDisk.cpp:5479–5512  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5477}
5478
5479BOOL
5480Ext2RemoveDosSymLink(CHAR drvChar)
5481{
5482 EXT2_MOUNT_POINT E2MP;
5483 NT::NTSTATUS status;
5484 HANDLE handle = NULL;
5485 NT::IO_STATUS_BLOCK iosb;
5486
5487 Ext2SymLinkRemoval(drvChar);
5488
5489 memset(&E2MP, 0, sizeof(EXT2_MOUNT_POINT));
5490 E2MP.Magic = EXT2_APP_MOUNTPOINT_MAGIC;
5491 E2MP.Command = APP_CMD_DEL_DOS_SYMLINK;
5492 E2MP.Link[0] = (USHORT) drvChar;
5493
5494 status = Ext2Open("\\DosDevices\\Ext2Fsd",
5495 &handle, EXT2_DESIRED_ACCESS);
5496 if (!NT_SUCCESS(status)) {
5497 goto errorout;
5498 }
5499
5500 status = NT::ZwDeviceIoControlFile(
5501 handle, NULL, NULL, NULL, &iosb,
5502 IOCTL_APP_MOUNT_POINT,
5503 &E2MP, sizeof(EXT2_MOUNT_POINT),
5504 &E2MP, sizeof(EXT2_MOUNT_POINT)
5505 );
5506
5507errorout:
5508
5509 Ext2Close(&handle);
5510
5511 return NT_SUCCESS(status);
5512}

Callers 2

OnOKMethod · 0.85

Calls 3

Ext2SymLinkRemovalFunction · 0.85
Ext2OpenFunction · 0.85
Ext2CloseFunction · 0.70

Tested by

no test coverage detected