SCSI Information DLL

WEBINAR: On-demand webcast

How to Boost Database Development Productivity on Linux, Docker, and Kubernetes with Microsoft SQL Server 2017 REGISTER >

Purpose

SCSI Info DLL helps to identify SCSI parmeters of local SCSI drives by their drive letters and determine drive letter by SCSI parameters on Windows NT machines.

Usage

SCSIInfo.DLL exports following functions:

  • BOOL ScanDrives(void)    
    - scans local drives and stores internally their SCSI parameters
  •     return: ERROR_SUCCESS if succeeded, OS error code if failed
        remarks: this function has to be called before any other request can be issued. in case of changes in SCSI configuration call 
        this function again to refresh internal information

  • int GetDriveInfo(char cDriveLetter,int* pPortNumber,int* pPathId,int* pTargetId,int* pLun)
    - returns SCSI parameters for specified drive letter:
    • cDriveLetter - drive letter
    • pPortNumber - pointer to variable receiving port number or NULL
    • pPathId- pointer to variable receiving port id or NULL
    • pTargetId - pointer to variable receiving target id or NULL
    • pLun - pointer to variable receiving LUN or NULL
  •     return: ERROR_SUCCESS if succeeded, ERROR_FILE_NOT_FOUND if no information found
        remarks: before first call of this function the function ScanDrives() should be called at least once. if one or more pointers to 
        receiving  variables are NULL,  the variable value assumed as not required and will not be filled (e.g. if only PortNumber is 
        required, set pPortNumber to address of receiving  variable and let other parameters to be NULL)

  • int GetDriveLetter(char* pcDriveLetter,int PortNumber,int PathId,int TargetId,int Lun)
    - returns drive letter for specified SCSI parameters:
    • pcDriveLetter - pointer to variable receiving drive letter, cannot be NULL
    • PortNumber - port number
    • PathId - path id
    • TargetId - target id
    • Lun - LUN
  •     return: ERROR_SUCCESS if succeeded, ERROR_FILE_NOT_FOUND if no information found
        remarks: before first call of this function the function ScanDrives() should be called at least once.

  • int GetDriveNumber(int PortNumber,int PathId,int TargetId,int Lun)
    - returns drive number (0 - A, 1 - B, 3 - C etc.)  for specified SCSI parameters:
    • PortNumber - port number
    • PathId - path id
    • TargetId - target id
    • Lun - LUN

        return: zero based drive number, -1 no information found
        remarks: before first call of this function the function ScanDrives() should be called at least once.

     

Support

For bugfixes and future releases mailto:m.becker@ais-gmbh.de

Copyright Information

Copyright A.I.S. GmbH (C) 2000

Version Information

date user version comment
22.08.2000 m.becker@ais-gmbh.de 1.0.0.3 Added GetDriveNumber function
10.08.2000 m.becker@ais-gmbh.de 1.0.0.1 updated function prototypes
10.08.2000 m.becker@ais-gmbh.de 1.0.0.0 created

Downloads

Download source code and demo project (including release build of demo app) - 142 Kb


Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • This case study will highlight the opportunity for mobile and cloud technologies in the Public Sector—specifically for state, local and federal government agencies -where secure mobile application access can offer key productivity gains

  • Microsoft Azure® is a leading choice for businesses looking to take advantage of the cloud. Azure is particularly appealing to businesses that have already invested in Microsoft on-premises and are now considering running these applications and other workloads in the cloud. To understand how to make this move to Azure, many businesses are turning to managed service providers (MSPs) with specific Azure expertise. Read this white paper to learn the eight key areas to focus on when considering an MSP for an …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date