MODEMDEVCAPS  6.JPGB 

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 MODEMSETTINGSMUYHWN 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