SmartFTP FTP Library
ISFTPVendorId Interface Reference

Encapsulates the software identification data exchanged during the SFTP version negotiation. More...

import "sfFTPLib.idl";

Properties

BSTR VendorName [get, set]
 The name of the software vendor.
BSTR ProductName [get, set]
 The specific name of the software product.
BSTR ProductVersion [get, set]
 The display string for the software version.
ULONGLONG ProductBuild [get, set]
 The monotonic build number of the software.

Detailed Description

Encapsulates the software identification data exchanged during the SFTP version negotiation.

The Purpose: This interface represents the "Vendor ID" structure. It allows the client to announce its identity to the server (and vice versa). This is critical for feature negotiation and bug workarounds. For example, if a server identifies itself as a specific legacy version known to have a bug, the client can automatically adjust its behavior to compensate.

The Mechanism: These fields are typically serialized into the vendor-id extension structure sent inside the SSH_FXP_VERSION packet (or requested via SSH_FXP_EXTENDED).

Property Documentation

◆ ProductBuild

ULONGLONG ISFTPVendorId::ProductBuild
getsetproperty

The monotonic build number of the software.

Purpose: Provides a numeric value (64-bit integer) for identifying the exact build. Unlike the string fields, this allows for reliable mathematical comparison (e.g., determining if the remote version is newer than a specific patch level).

Default: 0 if undefined by the server.

Parameters
[in]newValueThe numeric build identifier.
[out]retvalReceives the current build number.

◆ ProductName

BSTR ISFTPVendorId::ProductName
getsetproperty

The specific name of the software product.

Format: An arbitrary string identifying the specific application implementation.

Examples:

  • "SmartFTP"
  • "Bitvise SSH Server"
Parameters
[in]newValueThe product name string.
[out]retvalReceives the current product name.

◆ ProductVersion

BSTR ISFTPVendorId::ProductVersion
getsetproperty

The display string for the software version.

Format: An arbitrary string representing the release version. It is intended for display purposes and may contain alphanumeric characters.

Example:

  • "8.2p1"
Parameters
[in]newValueThe version string.
[out]retvalReceives the current version string.

◆ VendorName

BSTR ISFTPVendorId::VendorName
getsetproperty

The name of the software vendor.

Format: As per the SFTP draft specification, this is an arbitrary string identifying the maker of the product. There is no strict format requirement, though it is often a company name or open-source organization name.

Examples:

  • "SmartSoft"
  • "Bitvise"
Parameters
[in]newValueThe vendor name string.
[out]retvalReceives the current vendor name.

The documentation for this interface was generated from the following file: