-
Change Request
-
Resolution: Fixed
-
Blocker
-
2.2.0
-
Minimum supported client: Windows XP [desktop apps only]
Minimum supported server: Windows Server 2003 [desktop apps only]
Header: FileAPI.h (include Windows.h); WinBase.h on Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP (include Windows.h)
Library: Kernel32.lib
DLL: Kernel32.dllMinimum supported client: Windows XP [desktop apps only] Minimum supported server: Windows Server 2003 [desktop apps only] Header: FileAPI.h (include Windows.h); WinBase.h on Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP (include Windows.h) Library: Kernel32.lib DLL: Kernel32.dll
Actual Status:
LLD on Windows machines can only be filtered by file system type (NTFS, FAT32, etc). On a setting where two servers are monitored by LLDs and both have mounted drives from the other server, this will led to double checked file systems.
Target State:
Additional LLD macro #DRTYPE which will provide drive type information by MSDN function GetDriveType(lpRootPathName). By defining the LLD rule with this macro and filtering by, for example, the return code DRIVE_FIXED it can be secured that only internal drives like C:\ will be checked.
From MSDN this function returns the following:
Return code/value Description
DRIVE_UNKNOWN 0 The drive type cannot be determined.
DRIVE_NO_ROOT_DIR 1 The root path is invalid; for example, there is no volume mounted at the specified path.
DRIVE_REMOVABLE 2 The drive has removable media; for example, a floppy drive, thumb drive, or flash card reader.
DRIVE_FIXED 3 The drive has fixed media; for example, a hard disk drive or flash drive.
DRIVE_REMOTE 4 The drive is a remote (network) drive.
DRIVE_CDROM 5 The drive is a CD-ROM drive.
DRIVE_RAMDISK 6 The drive is a RAM disk.
This functionality can be implemented by applying the attached patch.
For the future the functionality of this and other macros can be expanded by implementing a multiple macro filtering.