LINEDEVCAPS 構造体 (tapi.h)
LINEDEVCAPS 構造体は、ライン デバイスの機能を記述します。 lineGetDevCaps 関数と TSPI_lineGetDevCaps 関数は、LINEDEVCAPS 構造体を返します。
構文
typedef struct linedevcaps_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwProviderInfoSize;
DWORD dwProviderInfoOffset;
DWORD dwSwitchInfoSize;
DWORD dwSwitchInfoOffset;
DWORD dwPermanentLineID;
DWORD dwLineNameSize;
DWORD dwLineNameOffset;
DWORD dwStringFormat;
DWORD dwAddressModes;
DWORD dwNumAddresses;
DWORD dwBearerModes;
DWORD dwMaxRate;
DWORD dwMediaModes;
DWORD dwGenerateToneModes;
DWORD dwGenerateToneMaxNumFreq;
DWORD dwGenerateDigitModes;
DWORD dwMonitorToneMaxNumFreq;
DWORD dwMonitorToneMaxNumEntries;
DWORD dwMonitorDigitModes;
DWORD dwGatherDigitsMinTimeout;
DWORD dwGatherDigitsMaxTimeout;
DWORD dwMedCtlDigitMaxListSize;
DWORD dwMedCtlMediaMaxListSize;
DWORD dwMedCtlToneMaxListSize;
DWORD dwMedCtlCallStateMaxListSize;
DWORD dwDevCapFlags;
DWORD dwMaxNumActiveCalls;
DWORD dwAnswerMode;
DWORD dwRingModes;
DWORD dwLineStates;
DWORD dwUUIAcceptSize;
DWORD dwUUIAnswerSize;
DWORD dwUUIMakeCallSize;
DWORD dwUUIDropSize;
DWORD dwUUISendUserUserInfoSize;
DWORD dwUUICallInfoSize;
LINEDIALPARAMS MinDialParams;
LINEDIALPARAMS MaxDialParams;
LINEDIALPARAMS DefaultDialParams;
DWORD dwNumTerminals;
DWORD dwTerminalCapsSize;
DWORD dwTerminalCapsOffset;
DWORD dwTerminalTextEntrySize;
DWORD dwTerminalTextSize;
DWORD dwTerminalTextOffset;
DWORD dwDevSpecificSize;
DWORD dwDevSpecificOffset;
DWORD dwLineFeatures;
DWORD dwSettableDevStatus;
DWORD dwDeviceClassesSize;
DWORD dwDeviceClassesOffset;
GUID PermanentLineGuid;
DWORD dwAddressTypes;
GUID ProtocolGuid;
DWORD dwAvailableTracking;
} LINEDEVCAPS, *LPLINEDEVCAPS;
メンバー
dwTotalSize
このデータ構造に割り当てられた合計サイズ (バイト単位)。
dwNeededSize
このデータ構造が返されるすべての情報をバイト単位で保持するために必要なサイズ。
dwUsedSize
有用な情報を含むこのデータ構造の部分のサイズ (バイト単位)。
dwProviderInfoSize
サービス プロバイダー情報を含む可変サイズのフィールドのサイズ (バイト単位)。
dwProviderInfoOffset
構造体の先頭からサービス プロバイダー情報へのオフセット (バイト単位)。
dwProviderInfoSize メンバーと dwProviderInfoOffset メンバーは、プロバイダーのハードウェアやソフトウェア (ハードウェアとソフトウェアのベンダー名やバージョン番号など) に関する情報を提供することを目的としています。 この情報は、ユーザーがプロバイダーに関する問題を含むカスタマー サービスを呼び出す必要がある場合に役立ちます。
dwSwitchInfoSize
スイッチ情報を含む可変サイズのデバイス フィールドのサイズ (バイト単位)。
dwSwitchInfoOffset
構造体の先頭からスイッチ情報までのオフセット (バイト単位)。
dwSwitchInfoSize メンバーと dwSwitchInfoOffset メンバーは、スイッチの製造元、モデル名、ソフトウェア バージョンなど、回線デバイスが接続されているスイッチに関する情報を提供することを目的としています。 この情報は、ユーザーがスイッチに関する問題を含むカスタマー サービスを呼び出す必要がある場合に役立ちます。
dwPermanentLineID
システムの構成で回線デバイスが認識される永続的な識別子。 これは、回線デバイスの永続的な名前です。 この永続的な名前 ( dwDeviceID ではなく) は、行がシステムに追加または削除され、オペレーティング システムのアップグレードによって保持されるため、変更されません。 したがって、他の行を追加または削除したり、オペレーティング システムを変更したりしても影響を受けないように、.ini ファイル (またはその他のファイル) 内の行固有の情報をリンクするために使用できます。
dwLineNameSize
このライン デバイスのユーザー構成可能な名前を含む可変サイズのデバイス フィールドのサイズ (バイト単位)。
dwLineNameOffset
このデータ構造の先頭からこのライン デバイスの名前までのオフセット。 この名前は、回線デバイスのサービス プロバイダーを構成するときにユーザーが構成でき、ユーザーの便宜のために提供されます。 フィールドのサイズは dwLineNameSize で指定します。
dwStringFormat
この行デバイスで使用される文字列形式。 このメンバーは、 STRINGFORMAT_定数のいずれかを使用します。
dwAddressModes
送信元アドレスを指定するモード。 このメンバーは、 LINEADDRESSMODE_定数を使用します。
dwNumAddresses
この回線デバイスに関連付けられているアドレスの数。 個々のアドレスは、アドレス識別子によって参照されます。 アドレス識別子の範囲は、 dwNumAddresses によって示される値より 0 から 1 未満です。
dwBearerModes
アドレスでサポートできるさまざまなベアラー モードを示すフラグ配列。 このメンバーは、1 つ以上の LINEBEARERMODE_定数を使用します。
dwMaxRate
呼び出しを介した情報交換の最大データ レート (1 秒あたりのビット数)。
dwMediaModes
アドレスがサポートできるさまざまなメディアの種類を示すフラグ配列。 このメンバーは、1 つ以上の LINEMEDIAMODE_定数を使用します。
dwGenerateToneModes
この行で生成できるトーン。 このメンバーは、1 つ以上の LINETONEMODE_定数を使用します。
dwGenerateToneMaxNumFreq
lineGenerateTone を使用してトーンを生成するときに、LINEGENERATETONE データ構造を使用して一般的なトーンを記述する際に指定できる最大周波数数。 値 0 は、トーン生成が使用できないことを示します。
dwGenerateDigitModes
この行で生成できる数字モード。 このメンバーは、1 つ以上の LINEDIGITMODE_定数を使用します。
dwMonitorToneMaxNumFreq
lineMonitorTones を使用して一般的なトーンを監視するときに、LINEMONITORTONE データ構造を使用して一般的なトーンを記述する際に指定できる最大周波数数。 値 0 は、トーン モニターが使用できないことを示します。
dwMonitorToneMaxNumEntries
トーン リストで lineMonitorTones に指定できるエントリの最大数。
dwMonitorDigitModes
この行で検出できる数字モード。 このメンバーは、1 つ以上の LINEDIGITMODE_定数を使用します。
dwGatherDigitsMinTimeout
lineGatherDigits で使用される最初の数字と数字間のタイムアウト値の両方に指定できる最小値 (ミリ秒単位)。 dwGatherDigitsMinTimeout と dwGatherDigitsMaxTimeout の両方がゼロの場合、タイムアウトはサポートされません。
dwGatherDigitsMaxTimeout
lineGatherDigits で使用される最初の数字と数字間のタイムアウト値の両方に指定できる最大値 (ミリ秒単位)。 dwGatherDigitsMinTimeout と dwGatherDigitsMaxTimeout の両方がゼロの場合、タイムアウトはサポートされません。
dwMedCtlDigitMaxListSize
lineSetMediaControl の digit list パラメーターで指定できるエントリの最大数。
dwMedCtlMediaMaxListSize
lineSetMediaControl のメディア リスト パラメーターで指定できるエントリの最大数。
dwMedCtlToneMaxListSize
lineSetMediaControl のトーン リスト パラメーターで指定できるエントリの最大数。
dwMedCtlCallStateMaxListSize
lineSetMediaControl の呼び出し状態リスト パラメーターで指定できるエントリの最大数。
dwDevCapFlags
ブール型デバイスの機能。 このメンバーは、1 つ以上の LINEDEVCAPFLAGS_定数を使用します。
dwMaxNumActiveCalls
回線で一度にアクティブ (接続) できる (最小帯域幅) 呼び出しの最大数。 回線で帯域幅の高い呼び出しが確立されている場合は、アクティブな呼び出しの実際の数が少ない可能性があります。
dwAnswerMode
回線デバイスで別のオファリング通話に応答するときのアクティブな通話に対する影響。 このメンバーは 、LINEANSWERMODE_定数のいずれかを使用します。
dwRingModes
LINE_LINEDEVSTATE メッセージで 、呼び出しを示すメッセージで報告できるさまざまな 呼び出し モードの数。 リング モードは 1 つから dwRingModes までさまざまです。 0 はリングがないことを示します。
dwLineStates
この行のLINE_LINEDEVSTATEメッセージでアプリケーションに通知される可能性がある、さまざまな行状況コンポーネント。 このメンバーは、1 つ以上の LINEDEVSTATE_定数を使用します。
dwUUIAcceptSize
呼び出しの受け入れ中に送信できるユーザーユーザー情報の最大サイズ ( null 終端記号を含む)。
dwUUIAnswerSize
呼び出し応答中に送信できる 、null 終端記号を含むユーザーユーザー情報の最大サイズ。
dwUUIMakeCallSize
呼び出し中に送信できるユーザーユーザー情報の最大サイズ ( null 終端記号を含む)。
dwUUIDropSize
呼び出しドロップ中に送信できるユーザーユーザー情報の最大サイズ ( null ターミネータを含む)。
dwUUISendUserUserInfoSize
lineSendUserUserInfo を使用した呼び出し中にいつでも個別に送信できる、null 終端記号を含むユーザーユーザー情報の最大サイズ。
dwUUICallInfoSize
LINECALLINFO 構造体で受信できるユーザーユーザー情報の最大サイズ (null 終端記号を含む)。
MinDialParams
この回線の呼び出しに設定できるダイヤル パラメーターの最小値 (ミリ秒単位)。 ダイヤル パラメーターは、 MinDialParams から MaxDialParams の範囲内の値に設定できます。 実際の設定の粒度は、サービス プロバイダー固有です。
MaxDialParams
この行の呼び出しに設定できるダイヤル パラメーターの最大値 (ミリ秒単位)。 ダイヤル パラメーターは、 MinDialParams から MaxDialParams の範囲内の値に設定できます。 実際の設定の粒度は、サービス プロバイダー固有です。
DefaultDialParams
この回線の呼び出しに使用される既定のダイヤル パラメーター。 これらのパラメーター値は、呼び出しごとにオーバーライドできます。
dwNumTerminals
この回線デバイス、そのアドレス、またはその呼び出しに設定できる端末の数。 個々のターミナルは、ターミナル ID によって参照され、 dwNumTerminals で示される値より 0 から 1 未満の範囲です。
dwTerminalCapsSize
LINETERMCAPS 型のエントリを含む配列を含む可変サイズのデバイス フィールドのサイズ (バイト単位)。
dwTerminalCapsOffset
この構造体の先頭から、 LINETERMCAPS 型のエントリを含む配列を含む可変サイズのデバイス フィールドまでのオフセット。 この配列は、0 から dwNumTerminals から 1 を引いた範囲のターミナル ID によってインデックスが作成されます。 配列内の各エントリは、対応するターミナルのターミナル デバイス機能を指定します。 フィールドのサイズは dwTerminalCapsSize によって指定されます。
dwTerminalTextEntrySize
dwTerminalTextSize と dwTerminalTextOffset が指す null 終端記号を含む各ターミナル テキスト記述のサイズ (バイト単位)。
dwTerminalTextSize
null 終端記号を含む、行の使用可能な各ターミナルに関する説明テキストを含む可変サイズのフィールドのサイズ (バイト単位)
dwTerminalTextOffset
この構造体の先頭から、行の使用可能な各ターミナルに関する説明テキストまでのオフセット (バイト単位)。 各メッセージは dwTerminalTextEntrySize バイト長です。 これらのテキスト記述の文字列形式は、行のデバイス機能で dwStringFormat によって示されます。 フィールドのサイズは dwTerminalTextSize で指定します。
dwDevSpecificSize
可変サイズのデバイス固有フィールドのサイズ (バイト単位)。 デバイス固有の情報が文字列へのポインターである場合、サイズには null 終端記号を含める必要があります。
dwDevSpecificOffset
この構造体の先頭からデバイス固有のフィールドへのオフセット (バイト単位)。 フィールドのサイズは dwDevSpecificSize によって指定されます。
dwLineFeatures
LINEFEATURE_定数を使用して、このラインで使用できる機能。 サポートされている機能を呼び出すには、回線が適切な状態であり、基になる回線デバイスが互換モードで開かれている必要があります。 ビット位置の 0 は、対応する機能が使用できないことを示します。 1 つは、ラインが操作が意味を持つ適切な状態にある場合に、対応するフィーチャが使用可能であることを示します。 このメンバーを使用すると、アプリケーションは、デバイスでサポートできる回線機能 (およびサポートできないライン機能) を検出できます。
dwSettableDevStatus
lineSetLineDevStatus を使用して変更できる LINEDEVSTATUSFLAGS 値。
dwDeviceClassesSize
この行の 1 つ以上のアドレス ( null 終端記号を含む) でサポートされているデバイス クラス識別子を含む文字列のサイズ (バイト単位)。
dwDeviceClassesOffset
この構造体の先頭から、この行の 1 つ以上のアドレスでサポートされているデバイス クラス識別子を含む文字列へのオフセット (バイト単位)。 これらの文字列は 、lineGetID で使用されます。これらは NULLs で区切られ、リスト内の最後の識別子の後に 2 つの NULLが続きます。 フィールドのサイズは dwDeviceClassesSize によって指定されます。
PermanentLineGuid
ライン デバイスに永続的に関連付けられている GUID。
dwAddressTypes
呼び出しに使用されるアドレスの種類。 構造体のこのメンバーは、ネゴシエートされた TAPI バージョンが 3.0 以上の場合にのみ使用できます。
ProtocolGuid
現在の TAPI プロトコル。 構造体のこのメンバーは、ネゴシエートされた TAPI バージョンが 3.0 以上の場合にのみ使用できます。 プロトコルは tapi3.h で宣言されています。
dwAvailableTracking
LINECALLHUBTRACKING.constant で表される、使用可能な追跡。 構造体のこのメンバーは、ネゴシエートされた TAPI バージョンが 3.0 以上の場合にのみ使用できます。
注釈
デバイス固有の拡張機能では、このデータ構造の DevSpecific (dwDevSpecificSize と dwDevSpecificOffset) の可変サイズ領域を使用する必要があります。
古いアプリケーションは、 LINEDEVCAPS 構造体に新しいメンバーなしでコンパイルされ、新しいサイズより小さい SIZEOF LINEDEVCAPS を使用します。 アプリケーションは、lineGetDevCaps 関数を使用して dwAPIVersion パラメーターを渡します。これは、このような状況を処理する TAPI によるガイダンスに使用できます。 指定した dwAPIVersion で定義されている構造体の固定部分のサイズより小さい dwTotalSize メンバーをアプリケーションが渡すと、LINEERR_STRUCTURETOOSMALLが返されます。 アプリケーションによって十分なメモリが割り当てられている場合、 TSPI_lineGetDevCapsを呼び出す前に、TAPI は dwNeededSize メンバーと dwUsedSize メンバーを、指定された API バージョンに存在していた構造体の固定サイズに設定します。
新しいアプリケーションは、ネゴシエートされた API バージョンを認識し、ネゴシエートされた API バージョンの構造体の固定部分の元の末尾を超える固定部分のメンバーの内容を調べないようにする必要があります。
dwBearerModes メンバーでLINEBEARERMODE_DATA ビットが設定されている場合、dwMaxRate メンバーはベアラー チャネルでのデジタル伝送の最大レートを示します。 LINEDEVCAPS 構造体の dwMaxRate メンバーは、LINEDEVCAPS 構造体の dwBearerModes メンバーが LINEBEARERMODE_DATA に設定されていない場合でも、有効な値を含めることができます。
LINEBEARERMODE_DATAが dwBearerModes で設定されていないが、LINEBEARERMODE_VOICE値が設定され、LINEMEDIAMODE_DATAMODEM値が dwMediaModes メンバーに設定されている場合、dwMaxRate メンバーは、接続されているモデムまたは同等の機能に対応する電話回線の最大 SYNCHRONOUS (DCE) ビット レートを示します。 たとえば、モデムの最速の変調速度が 14,400bps の V.32bis の場合、 dwMaxRate は 14400 になります。 これは、最も高速な DTE ポート レート (38400、57600、または 115200) ではなく、モデムが電話回線でサポートする最速のビット レートです。
dwMaxRate メンバーを誤って解釈しないように、アプリケーションでLINEBEARERMODE_DATAが設定されていないことを確認チェック注意する必要があります。 LINEBEARERMODE_DATAが設定されている場合は、64000 以上になる可能性があります。
また、モデムが明確に識別されていない場合 (たとえば、"汎用" モデム)、示されている図はモデムの検査に基づく "最適な推測" になることにも注意してください。
dwDeviceClassesOffset を介した dwSettableDevStatus メンバーは、TAPI バージョンが 2.0 以降の回線デバイスを開くアプリケーションでのみ使用できます。
要件
要件 | 値 |
---|---|
Header | tapi.h |