Drive Enumeration
Technical Document







IntraLaunch can check and return statistics for the workstation's attached drive(s). The dashboard of the demonstration section has a sophisticated working example showing the first eight drives attached with it's Storage Overview.

 Details   These are the returned details that IntraLaunch provides for each enumerated drive.

[ready]: a value of 1 means the drive is attached and ready, 0 means not ready such as a DVD-Rom with no disc.
[drive_name]: the name of the disk such as C:.
[volume_label]: the volumne label of the disk.
[drive_format]: drive format such as NTFS.
[drive_type]: the type if drive (CDRom, Fixed Network, NoRootDirectory, Ram, Removable, Unknown).
[root_directory]: the root of the drive, typically the same as [drive_name].
[total_size]: total size of the drive.
[total_freespace]: space free on disk.
[total_available_freespace]: available space to user on disk.


Drive Enumeration Example

<html>
   <script src="https://code.jquery.com/jquery-2.2.3.min.js"></script>
   <script language="JavaScript" type="text/javascript"> var $jQuery = jQuery.noConflict(); </script>

   <script type="text/javascript">
     jQuery(document).ready(function()
     {
        jQuery("#drive_stats_c").on("click", function (event)
        {
           event.preventDefault();
           document.dispatchEvent(new CustomEvent('funcIntraLaunch',
           { 'detail': { task: 'getdriveinfo', workingfolder: 'C:', switches: '', showerrors: 'false',
                         playsound: 'https://www.pa...ware.com/temp/Trek_Sounds/helm_engage_clean.wav' } }));
        });

        jQuery("#drive_stats_d").on("click", function (event)
        {
           event.preventDefault();
           document.dispatchEvent(new CustomEvent('funcIntraLaunch',
           { 'detail': { task: 'getdriveinfo', workingfolder: 'D:', switches: '', showerrors: 'false' } }));
        });

        jQuery("#drive_stats_e").on("click", function (event)
        {
           event.preventDefault();
           document.dispatchEvent(new CustomEvent('funcIntraLaunch',
           { 'detail': { task: 'getdriveinfo', workingfolder: 'E:', switches: '', showerrors: 'false' } }));
        });

        jQuery("#drive_stats_f").on("click", function (event)
        {
           event.preventDefault();
           document.dispatchEvent(new CustomEvent('funcIntraLaunch',
           { 'detail': { task: 'getdriveinfo', workingfolder: 'F:', switches: '', showerrors: 'false' } }));
        });


        // Handle all Intralaunch responses from the extension and do something special
        jQuery.extend
        ({
            funcIntraLaunchLastOpResult: function (responseIntraLaunchLastOpType, 
                                                   responseIntraLaunchDOMElement, 
                                                   responseIntraLaunchDataSet) 
            {
               // Show returning drive stats
               if (responseIntraLaunchLastOpType == "getdriveinfo") 
               { 
                  var parsedDriveInfo = jQuery.parseJSON(responseIntraLaunchDataSet);
                  jQuery.each(parsedDriveInfo, function (sKey, sDriveDetails) 
                  {
                     if (sDriveDetails['ready'] == "0")
                     {
                        // Drive not ready and have nothing
                        alert('Drive ' + sDriveDetails['drive_name'] + ' not ready...');
                     }
                     else
                     {
                        // Drive ready and we should have the details
                        alert('Drive ' + sDriveDetails['drive_name'] + ' (' + sDriveDetails['drive_type'] + ' drive) with volume \'' + sDriveDetails['volume_label'] + '\' has ' + filesize(sDriveDetails['total_available_freespace'], { round: 0 }) + ' free.');
                     }
                  });
               }
            }
        }); 


     });
   </script>

   <body>
      <a href="#" id="drive_stats_c">See Drive C: Stats</a>
      <a href="#" id="drive_stats_d">See Drive D: Stats</a>
      <a href="#" id="drive_stats_e">See Drive E: Stats</a>
      <a href="#" id="drive_stats_f">See Drive F: Stats</a>
   </body>
</html>