MODEMDEVCAPS

The MODEMDEVCAPS structure contains information about the capabilities of a modem.

typedef struct modemdevcaps_tag {
DWORD dwActualSize; // size of returned data, in bytes
DWORD dwRequiredSize; // total size of structure
DWORD dwDevSpecificOffset; // offset of provider-defined data
DWORD dwDevSpecificSize; // size of provider-defined data

// Product and version identification
DWORD dwModemProviderVersion; // provider version number
DWORD dwModemManufacturerOffset; // offset of manufacturer name
DWORD dwModemManufacturerSize; // length of manufacturer name
DWORD dwModemModelOffset; // offset of model name
DWORD dwModemModelSize; // length of model name
DWORD dwModemVersionOffset; // offset of version name
DWORD dwModemVersionSize; // length of version name

// Local option capabilities
DWORD dwDialOptions; // bitmap of supported values
DWORD dwCallSetupFailTimer; // maximum in seconds
DWORD dwInactivityTimeout; // maximum in tenths of seconds
DWORD dwSpeakerVolume; // bitmap of supported values
DWORD dwSpeakerMode; // bitmap of supported values
DWORD dwModemOptions; // bitmap of supported values
DWORD dwMaxDTERate; // maximum value in bit/s
DWORD dwMaxDCERate; // maximum value in bit/s

// Variable portion for strings and provider-specific data
BYTE abVariablePortion [1]; // variable-length data
} MODEMDEVCAPS, *PMODEMDEVCAPS, *LPMODEMDEVCAPS;

Members

dwActualSize

Specifies the size, in bytes, of the data actually returned to the application. This member may be less than the dwRequiredSize member, if an application did not allocate enough space for the variable-length portion of the structure.

dwRequiredSize

Specifies the number of bytes required for the entire MODEMDEVCAPS structure, including the variable-length portion.

dwDevSpecificOffset

Specifies the offset of the provider-defined portion of the structure, in bytes relative to the beginning of the structure.

dwDevSpecificSize

Specifies the size of the provider-defined portion of the structure, in bytes.

dwModemProviderVersion

Specifies the version of the service provider. The format and use of this member depends on the service provider.

dwModemManufacturerOffset

Specifies the offset of a text string that contains the name of the modem manufacturer. The offset is specified in bytes relative to the beginning of the structure.

dwModemManufacturerSize

Specifies the length of the modem manufacturer name, in bytes. The string is not null-terminated.

dwModemModelOffset

Specifies the offset of a text string that contains the model of the modem. The offset is specified in bytes relative to the beginning of the structure.

dwModemModelSize

Specifies the length of the model name, in bytes. The string is not null-terminated.

dwModemVersionOffset

Specifies the offset of a text string that gives the version and revision of the attached modem, if the provider could determine the information. The offset is specified in bytes relative to the beginning of the structure.

dwModemVersionSize

Specifies the length of the modem version string, in bytes. The string is not null-terminated.

dwDialOptions

Specifies dialing options that are supported by the modem device. This member can be zero or more of the following values:

Value Meaning
DIALOPTION_DIALBILLING Specifies that the modem supports waiting for billing tone (bong).
DIALOPTION_DIALQUIET Specifies that the modem supports waiting for quiet.
DIALOPTION_DIALDIALTONE Specifies that the modem supports waiting for a dial tone.

dwCallSetupFailTimer

Specifies the maximum call setup timeout supported by the modem, in seconds. This is the largest value that can be specified for the corresponding member of the MODEMSETTINGS structure.

dwInactivityTimeout

Specifies the maximum inactivity timeout supported by the modem, in tenths of seconds. This is the largest value that can be specified for the corresponding member of the MODEMSETTINGS structure.

dwSpeakerVolume

Specifies the speaker volume settings supported by the modem. This member can be zero or more of the following values:

Value Meaning
MDMVOLFLAG_LOW The modem supports low (MDMVOL_LOW) volume.
MDMVOLFLAG_MEDIUM The modem supports medium (MDMVOL_MEDIUM) volume.
MDMVOLFLAG_HIGH The modem supports high (MDMVOL_HIGH) volume.

dwSpeakerMode

Specifies the speaker mode settings supported by the modem. This member can be zero or more of the following values:

Value Meaning
MDMSPKRFLAG_OFF The modem supports the MDMSPKR_OFF speaker mode.
MDMSPKRFLAG_DIAL The modem supports the MDMSPKR_DIAL speaker mode.
MDMSPKRFLAG_ON The modem supports the MDMSPKR_ON speaker mode.
MDMSPKRFLAG_CALLSETUP The modem supports the MDMSPKR_CALLSETUP speaker mode.

dwModemOptions

Specifies supported modem options. This member can be zero or more of the following values:

MDM_BLIND_DIAL MDM_FLOWCONTROL_SOFT
MDM_CCITT_OVERRIDE MDM_FORCED_EC
MDM_CELLULAR MDM_SPEED_ADJUST
MDM_COMPRESSION MDM_TONE_DIAL
MDM_ERROR_CONTROL MDM_V23_OVERRIDE
MDM_FLOWCONTROL_HARD  

When MODEMDEVCAPS is used to set modem options, as part of the MODEMSETTINGS structure, these values are used as follows:

Value Meaning
MDM_CCITT_OVERRIDE When set, CCITT modulations are enabled for V.21 and V.22 or V.23.

When clear, bell modulations are enabled for 103 and 212A.

MDM_V23_OVERRIDE When set, CCITT modulations are enabled for V.23.

When clear, CCITT modulations are enabled for V.21 and V.22.


For V.23 to be set, both MDM_CCITT_OVERRIDE and MDM_V23_OVERRIDE must be set.

dwMaxDTERate

Maximum DTE rate in bits per second.

dwMaxDCERate

Maximum DCE rate in bits per second.

abVariablePortion

Contains variable-length information, including strings and any provider-defined information.

See Also

MODEMSETTINGS