FunctionPackage: windowsToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 9.0
Unrevised from 8.2 to 9.0.
8.2 version

file-systems-info

Arguments: nil

This function combines the information returned by the functions file-systems, file-system-type, and file-system-info into a single list.

Each member of the returned list is itself a list that describes one file system. This sublist is a plist where the first key/value pair is :name with the the name of the file-system (as returned by file-systems), followed by :type with the value returned by file-system-type, followed by the plist values returned by file-system-info. The Tools | Inspect System Data | Online File Systems command inspects the list returned by this function.

Note that a drive for which file-system-info returns nil has an entry in the list returned by file-systems-info even though they are not ready for use. Thus, if G is the CD drive, and there is no CD inserted, file-system-info returns nil but (:NAME "G:" :TYPE :CDROM) is in the list returned by file-systems-info. Similarly, if A is the floppy drive and no floppy is inserted, file-system-info returns nil and (:NAME "A:" :TYPE :REMOVABLE) is in the list returned by file-systems-info. Therefore, if you are interested in whether a drive is ready, you may want to apply file-system-info to its name after discovering its name from file-systems-info. (In fact, analysis of the whole list returned by file-systems-info can tell you whether the drive is ready -- ready drives typically have volume names and other attributes not appearing in the list of an unready drive.)

MSDN (MicroSoft Developer Network) information suggests that it is possible that a call to file-systems-info will not complete if a CD drive or a floppy drive (or such) is not ready, as the system will display a modal dialog saying the drive is not ready when it tries to get information about the drive. In practice, this does not seem to happen (it has never been reported), but wrapping the call to file-systems-info as follows will guarantee that it will not happen.

(let* (former-error-mode)
  (unwind-protect
      (progn
        (setq former-error-mode (win:SetErrorMode 1))
        (cg:file-systems-info))
    (when former-error-mode
	(win:SetErrorMode former-error-mode))))

This function is defined in the :winapi module. If that module is not loaded, evaluate (require :winapi). This function is available on Windows machines only. In releases prior to 7.0, the symbol naming this function was exported from the common-graphics package. Starting in release 7.0, it is exported only from the windows package.


Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 9.0
Unrevised from 8.2 to 9.0.
8.2 version