dd is a Unix command line utility for copying data. ddpt adds features for efficiently copying large amounts of data to and from disks. Apart from accessing disks using traditional Unix read() and write() calls, ddpt can optionally use SCSI pass-through interfaces to send SCSI commands to perform a copy. In Linux, the pass-through can be used to send TRIM commands to SSDs. It is written for Linux with ports to FreeBSD, Solaris, and Windows.
sdparm has a command line interface for getting and setting SCSI mode page fields. Fields can be referred to by an acronym or a numerical address. It has support for various SCSI transport and vendor-specific mode pages. It also decodes Vital Product Data (VPD) pages and can send some simple SCSI commands. sdparm was originally written for Linux with ports to FreeBSD, Solaris, Tru64, and Windows.
sg3_utils is a package of utilities for accessing devices that use SCSI command sets. Most utilities issue a single command and display the response, while some work at a slightly higher level. There are utilities for fetching INQUIRY data and VPD, mode, and log pages. There is support for modern SCSI transports such as SAS and FCP. The package is written for Linux and has been ported to FreeBSD, Solaris, Tru64, and Windows. There is an earlier version of this package for Linux 2.2 series kernels called sg_utils.
The x64 windows problem reported by xu_john with the DataBufferOffset field has been fixed. That fix will appear in version 1.33 . As for OS X, Apple have an aversion to generic SCSI pass-throughs...
The utilities in sg3_utils send SCSI commands through the Windows SPT pass-through interface. If the recipient understands SCSI commands (or something in between translates them (e.g. as per the SA...
With regard to building this package in Microsoft Visual Studio 2008(MSVS-2008) there is no support for that. It builds under either cygwin or mingw which simulate a Unix like environment. Cygwin d...