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