December 21, 2022
Visual SCSI Explorer version 2.9 is available.

May 23, 2021
Visual SCSI Explorer version 2.9 is being prepared for release.

March 31, 2021
Virtual Storage Device Emulator version 1.3 is available.

Subscribe for product news

Chobik SCSI Programming Interface overview


Chobik SCSI Programming Interface product provides suitable application programming interface (API) to applications written in C/C++ language for handling host bus adapters and storage devices on Windows operating system platforms.

The programming interface is based on Windows native SCSI Pass Through interface. It allows user-mode applications to enumerate host bus adapters and storage devices, and execute SCSI commands. The programming interface supports storage devices of all types. Application is responsible for proper handling of the storage device. Multiple independent applications can handle multiple storage devices in parallel.

The programming interface is implemented as kernel mode driver and accompanying user mode API DLL module. The API module accepts the requests from controlling application and passes them to the kernel mode driver. The kernel mode driver communicates with host bus adapters and storage devices using device I/O control and other requests.


Supported platforms


The following Windows operating system platforms are supported:

NOTE: Both 32-bit and 64-bit configurations are supported. 64-bit configuration is supported only for AMD64 architecture.


System requirements


Hardware requirements:

Software requirements:

NOTE: It is recommended to install all system patches from Windows Update site.


Host bus adapter enumeration


Application can enumerate host bus adapters connected to the host. The returned list of adapters includes IDE/SATA, SCSI, FC, SAS, iSCSI, virtual, and other adapter types.


Host bus adapter information


Application can get detailed information for the specified host bus adapter. The information includes such items as maximum data transfer length, display name string, etc.


Rescanning SCSI bus(es) for host bus adapter


Application can rescan SCSI bus(es) for specified host bus adapter. Rescan operation updates internal list of devices connected to host bus adapter. After SCSI bus is rescanned the application can get updated list of devices.


SCSI device enumeration


Application can enumerate devices connected to the specified host bus adapter. Returned device information includes such items as adapter number, bus number, target SCSI ID, logical unit number, device type, vendor ID string, product ID string, etc.


Synchronous SCSI command execution


Application can execute SCSI commands for the specified SCSI device in synchronous mode. SCSI commands can transfer no data, transfer data from device, and transfer data to device.


Sample client application with source code


Product includes source code of sample console client application. The source code includes functions for all major features. It also includes separate functions for typical SCSI commands that transfer no data, transfer data from device, and transfer data to device.


Additional information


Product PAD-file is located here.