LINEADDRESSCAPS
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| dwTotalSize | DWORD | 4 | +0 | +0 | このデータ構造体に割り当てられた合計サイズ (バイト単位)。 |
| dwNeededSize | DWORD | 4 | +4 | +4 | 返されるすべての情報を格納するために必要な、このデータ構造体のサイズ (バイト単位)。 |
| dwUsedSize | DWORD | 4 | +8 | +8 | このデータ構造体のうち、有用な情報が格納されている部分のサイズ (バイト単位)。 |
| dwLineDeviceID | DWORD | 4 | +12 | +12 | このアドレスが関連付けられている回線デバイスのデバイス識別子。 |
| dwAddressSize | DWORD | 4 | +16 | +16 | アドレスフィールドのサイズ (バイト単位)。 |
| dwAddressOffset | DWORD | 4 | +20 | +20 | 構造体の先頭から、可変サイズのアドレスフィールドまでのオフセット。このフィールドのサイズは dwAddressSize で指定されます。 |
| dwDevSpecificSize | DWORD | 4 | +24 | +24 | デバイス固有フィールドのサイズ (バイト単位)。 |
| dwDevSpecificOffset | DWORD | 4 | +28 | +28 | 構造体の先頭から、可変サイズのデバイス固有フィールドまでのオフセット。このフィールドのサイズは dwDevSpecificSize で指定されます。 |
| dwAddressSharing | DWORD | 4 | +32 | +32 | アドレスの共有モード。このメンバーには LINEADDRESSSHARING_ 定数 のいずれかを指定できます。 |
| dwAddressStates | DWORD | 4 | +36 | +36 | LINE_ADDRESSSTATE メッセージによってアプリケーションに通知される可能性のあるアドレス状態の変化。このメンバーは 1 つ以上の LINEADDRESSSTATE_ 定数 を使用します。 |
| dwCallInfoStates | DWORD | 4 | +40 | +40 | このアドレス上のすべての呼び出しにおいて意味を持つ呼び出し情報要素。アプリケーションは、これらの状態の一部の変化について LINE_CALLINFO メッセージで通知を受け取ることがあります。このメンバーは 1 つ以上の LINECALLINFOSTATE_ 定数 を使用します。 |
| dwCallerIDFlags | DWORD | 4 | +44 | +44 | このアドレス上の呼び出しに対して提供できる相手先識別情報の種類。ここでの caller は、セッションの発信元です。1 つ以上の LINECALLPARTYID_ 定数。 |
| dwCalledIDFlags | DWORD | 4 | +48 | +48 | このアドレス上の呼び出しに対して提供できる相手先識別情報の種類。ここでの "called" は、元の宛先を指します。1 つ以上の LINECALLPARTYID_ 定数。 |
| dwConnectedIDFlags | DWORD | 4 | +52 | +52 | このアドレス上の呼び出しに対して提供できる相手先識別情報の種類。1 つ以上の LINECALLPARTYID_ 定数。 |
| dwRedirectionIDFlags | DWORD | 4 | +56 | +56 | このアドレス上の呼び出しに対して提供できる相手先識別情報の種類。ここでの "redirection" は、新しい宛先を指します。1 つ以上の LINECALLPARTYID_ 定数。 |
| dwRedirectingIDFlags | DWORD | 4 | +60 | +60 | このアドレス上の呼び出しに対して提供できる相手先識別情報の種類。ここでの "redirecting" は、リダイレクトを行ったアドレスを指します。1 つ以上の LINECALLPARTYID_ 定数。 |
| dwCallStates | DWORD | 4 | +64 | +64 | このアドレス上の呼び出しについて報告できる呼び出し状態。このメンバーは 1 つ以上の LINECALLSTATE_ 定数 を使用します。 |
| dwDialToneModes | DWORD | 4 | +68 | +68 | このアドレスで発信される呼び出しについて報告できるダイヤルトーンモード。このメンバーは、dialtone 呼び出し状態を報告できる場合にのみ意味を持ちます。このメンバーは 1 つ以上の LINEDIALTONEMODE_ 定数 を使用します。 |
| dwBusyModes | DWORD | 4 | +72 | +72 | このアドレスで発信される呼び出しについて報告できる話中モード。このメンバーは、busy 呼び出し状態を報告できる場合にのみ意味を持ちます。このメンバーは 1 つ以上の LINEBUSYMODE_ 定数 を使用します。 |
| dwSpecialInfo | DWORD | 4 | +76 | +76 | このアドレスで発信される呼び出しについて報告できる特殊情報の種類。このメンバーは、specialInfo 呼び出し状態を報告できる場合にのみ意味を持ちます。このメンバーは 1 つ以上の LINESPECIALINFO_ 定数 を使用します。 |
| dwDisconnectModes | DWORD | 4 | +80 | +80 | このアドレスで発信される呼び出しについて報告できる切断モード。このメンバーは、disconnected 呼び出し状態を報告できる場合にのみ意味を持ちます。このメンバーは 1 つ以上の LINEDISCONNECTMODE_ 定数 を使用します。 |
| dwMaxNumActiveCalls | DWORD | 4 | +84 | +84 | このアドレスが処理できるアクティブなコールアピアランスの最大数。この数には、保留中の呼び出し、および転送または会議のために保留中の呼び出しは含まれません。 |
| dwMaxNumOnHoldCalls | DWORD | 4 | +88 | +88 | このアドレスで保留にできるコールアピアランスの最大数。 |
| dwMaxNumOnHoldPendingCalls | DWORD | 4 | +92 | +92 | このアドレスで、転送または会議のために保留にできるコールアピアランスの最大数。 |
| dwMaxNumConference | DWORD | 4 | +96 | +96 | このアドレスで 1 つの会議通話に参加できる相手の最大数。 |
| dwMaxNumTransConf | DWORD | 4 | +100 | +100 | lineSetupTransfer を使用して一般的な相談呼び出しとして開始された会議通話に追加できる相手の数 ("自分自身" を含む)。 |
| dwAddrCapFlags | DWORD | 4 | +104 | +104 | さまざまなアドレス機能を示すパックされたビットフラグ。このメンバーは 1 つ以上の LINEADDRCAPFLAGS_ 定数 を使用します。 |
| dwCallFeatures | DWORD | 4 | +108 | +108 | LINECALLFEATURE_ 定数 を使用して表される、このアドレス上のすべての呼び出しで利用できる交換機能または機能。このメンバーは、アドレスで利用できる可能性のある呼び出し関連の機能 (動的な可用性ではなく、静的な可用性) を表します。サポートされている機能を実行するには、呼び出しが適切な状態にあり、基になる回線デバイスが互換性のあるモードで開かれている必要があります。ビット位置の 0 は、対応する機能が利用できないことを示します。1 は、アプリケーションが呼び出しに対する適切な権限を持ち、その操作が意味を持つ適切な状態に呼び出しがある場合に、対応する機能が利用できる可能性があることを示します。このメンバーにより、アプリケーションはアドレスがサポートできる (およびサポートできない) 呼び出し機能を確認できます。 |
| dwRemoveFromConfCaps | DWORD | 4 | +112 | +112 | 会議通話から呼び出しを削除するためのアドレスの機能。このメンバーは LINEREMOVEFROMCONF_ 定数 のいずれかを使用します。 |
| dwRemoveFromConfState | DWORD | 4 | +116 | +116 | 会議通話から削除された後の呼び出しの状態を、LINECALLSTATE_ 定数を使用して指定します。 |
| dwTransferModes | DWORD | 4 | +120 | +120 | 転送要求を解決するためのアドレスの機能。このメンバーは LINETRANSFERMODE_ 定数 のいずれかを使用します。 |
| dwParkModes | DWORD | 4 | +124 | +124 | このアドレスで利用できるさまざまなコールパークモード。このメンバーは LINEPARKMODE_ 定数 のいずれかを使用します。 |
| dwForwardModes | DWORD | 4 | +128 | +128 | このアドレスで利用できるさまざまな転送モード。このメンバーは LINEFORWARDMODE_ 定数 を使用します。 |
| dwMaxForwardEntries | DWORD | 4 | +132 | +132 | lineForward の lpForwardList パラメーターに渡すことができるエントリの最大数。 |
| dwMaxSpecificEntries | DWORD | 4 | +136 | +136 | lineForward に渡される lpForwardList パラメーター内のエントリのうち、特定の発信者 ID に基づく転送指示 (選択的着信転送) を格納できるエントリの最大数。選択的着信転送がサポートされていない場合、このメンバーは 0 です。 |
| dwMinFwdNumRings | DWORD | 4 | +140 | +140 | 呼び出しが正式に "応答なし" と見なされる時点を決定するために設定できる呼び出し音の最小回数。 |
| dwMaxFwdNumRings | DWORD | 4 | +144 | +144 | 呼び出しが正式に "応答なし" と見なされる時点を決定するために設定できる呼び出し音の最大回数。この呼び出し音の回数を設定できない場合、dwMinFwdNumRings と dwMaxNumRings は等しくなります。 |
| dwMaxCallCompletions | DWORD | 4 | +148 | +148 | この回線デバイスで同時に未処理にできるコールコンプリーション要求の最大数。0 は、コールコンプリーションが利用できないことを意味します。 |
| dwCallCompletionConds | DWORD | 4 | +152 | +152 | コールコンプリーションを要求できるさまざまな呼び出し条件。このメンバーは 1 つ以上の LINECALLCOMPLCOND_ 定数を使用します。 |
| dwCallCompletionModes | DWORD | 4 | +156 | +156 | 呼び出しを完了する方法。このメンバーは LINECALLCOMPLMODE_ 定数のいずれかを使用します。 |
| dwNumCompletionMessages | DWORD | 4 | +160 | +160 | LINECALLCOMPLMODE_MESSAGE オプションを使用する際に選択できるコールコンプリーションメッセージの数。個々のメッセージは、0 から dwNumCompletionMessages より 1 小さい値までの範囲の値で識別されます。 |
| dwCompletionMsgTextEntrySize | DWORD | 4 | +164 | +164 | dwCompletionMsgTextSize および dwCompletionMsgTextOffset で指定される各コールコンプリーションテキスト記述のサイズ (バイト単位)。 |
| dwCompletionMsgTextSize | DWORD | 4 | +168 | +168 | コールコンプリーションテキストのサイズ (バイト単位)。 |
| dwCompletionMsgTextOffset | DWORD | 4 | +172 | +172 | このデータ構造体の先頭から、各コールコンプリーションメッセージに関する説明テキストを格納する可変サイズのフィールドまでのオフセット。各メッセージの長さは dwCompletionMsgTextEntrySize バイトです。これらのテキスト記述の文字列形式は、回線のデバイス機能の dwStringFormat で示されます。このフィールドのサイズは dwCompletionMsgTextSize で指定されます。 |
| dwAddressFeatures | DWORD | 4 | +176 | +176 | LINEADDRFEATURE_ 定数 を使用して表される、このアドレスで利用できる機能。サポートされている機能を実行するには、アドレスが適切な状態にあり、基になる回線デバイスが互換性のあるモードで開かれている必要があります。ビット位置の 0 は、対応する機能が利用できないことを示します。1 は、その操作が意味を持つ適切な状態にアドレスがある場合に、対応する機能が利用できる可能性があることを示します。このメンバーにより、アプリケーションはアドレスがサポートできる (およびサポートできない) アドレス機能を確認できます。 |
| dwPredictiveAutoTransferStates | DWORD | 4 | +180 | +180 | 予測ダイヤラーによって発信された呼び出しを、別のアドレスへ自動的に転送するように設定できる呼び出し状態。1 つ以上の LINECALLSTATE_ 定数 です。値 0 は、呼び出し状態に基づく自動転送が利用できないことを示します。 |
| dwNumCallTreatments | DWORD | 4 | +184 | +184 | dwCallTreatmentListSize および dwCallTreatmentListOffset で区切られる LINECALLTREATMENTENTRY 構造体の配列内のエントリ数。 |
| dwCallTreatmentListSize | DWORD | 4 | +188 | +188 | コールトリートメント配列のサイズ (バイト単位)。 |
| dwCallTreatmentListOffset | DWORD | 4 | +192 | +192 | 構造体の先頭から、このアドレスでサポートされるコールトリートメント ( lineSetCallTreatment を使用して選択できます) を指定する LINECALLTREATMENTENTRY 構造体の配列までのオフセット。値は dwNumCallTreatments に SIZEOF(LINECALLTREATMENTENTRY) を掛けた値です。このフィールドのサイズは dwCallTreatmentListSize で指定されます。 |
| dwDeviceClassesSize | DWORD | 4 | +196 | +196 | サポートされるデバイスクラスの一覧のサイズ (バイト単位)。 |
| dwDeviceClassesOffset | DWORD | 4 | +200 | +200 | 構造体の先頭から、 lineGetID で使用するためにこのアドレスでサポートされるデバイスクラス識別子から成る文字列までのオフセット。各要素は null 文字で区切られ、最後のクラス識別子の後には 2 つの null 文字が続きます。このフィールドのサイズは dwDeviceClassesSize で指定されます。 |
| dwMaxCallDataSize | DWORD | 4 | +204 | +204 | アプリケーションが lineSetCallData を使用して LINECALLINFO に設定できる最大バイト数。 |
| dwCallFeatures2 | DWORD | 4 | +208 | +208 | LINECALLFEATURE2_ 定数 を使用して表される、このアドレス上のすべての呼び出しで利用できる追加の交換機能または機能。dwCallFeatures メンバーの拡張です。 |
| dwMaxNoAnswerTimeout | DWORD | 4 | +212 | +212 | 呼び出しを発信する際に LINECALLPARAMS の dwNoAnswerTimeout メンバーに設定できる最大値 (秒単位)。値 0 は、応答のない呼び出しの自動中止がサービスプロバイダーでサポートされていないか、タイムアウト値をアプリケーションから調整できないことを示します。 |
| dwConnectedModes | DWORD | 4 | +216 | +216 | このアドレス上の呼び出しについて、 LINECALLSTATUS の dwCallStateMode メンバーおよび LINE_CALLSTATE メッセージに現れる可能性のある LINECONNECTEDMODE_ 値。 |
| dwOfferingModes | DWORD | 4 | +220 | +220 | このアドレス上の呼び出しについて、 LINECALLSTATUS の dwCallStateMode メンバーおよび LINE_CALLSTATE メッセージに現れる可能性のある LINEOFFERINGMODE_ 値。 |
| dwAvailableMediaModes | DWORD | 4 | +224 | +224 | dwAddressFeatures メンバーが新しい呼び出しが可能であることを示している場合に、このアドレスで作成される新しい呼び出しで使用できるメディアの種類 (モード)。このメンバーが 0 の場合、サービスプロバイダーがどのメディアの種類を利用できるかを認識していないか、示すことができないことを意味し、その場合は LINEDEVCAPS の dwMediaModes メンバーで示されるメディアの種類のいずれか、またはすべてが利用できる可能性があります。 |
公式ドキュメント
LINEADDRESSCAPS 構造体は、指定されたアドレスの機能を記述します。 lineGetAddressCaps 関数および TSPI_lineGetAddressCaps 関数は、 LINEADDRESSCAPS 構造体を返します。
解説(Remarks)
デバイス固有の拡張には、このデータ構造体の可変サイズ領域である DevSpecific (dwDevSpecificSize および dwDevSpecificOffset) を使用してください。
古いアプリケーションは、 LINEADDRESSCAPS 構造体にこのメンバーを含めずにコンパイルされており、新しいサイズよりも小さい SIZEOF(LINEADDRESSCAPS) を使用します。アプリケーションは lineGetAddressCaps 関数に dwAPIVersion パラメーターを渡します。TAPI はこの状況を処理する際の判断材料としてこれを使用できます。指定された dwAPIVersion メンバーで定義される構造体の固定部分のサイズより小さい dwTotalSize メンバーをアプリケーションが渡した場合、LINEERR_STRUCTURETOOSMALL が返されます。アプリケーションが十分なメモリを割り当てている場合、 TSPI_lineGetAddressCaps を呼び出す前に、TAPI は dwNeededSize メンバーと dwUsedSize メンバーに、指定された API バージョンにおける構造体の固定サイズを設定します。
(新しい API バージョンをサポートする) 新しいサービスプロバイダーは、渡された API バージョンを確認する必要があります。API バージョンがプロバイダーのサポートする最上位のバージョンより低い場合、サービスプロバイダーは古い API バージョンでサポートされていないフィールドを設定してはなりません。これらは古い構造体では可変部分に該当するためです。
新しいアプリケーションは、ネゴシエートされた API バージョンを認識し、そのネゴシエートされた API バージョンにおける構造体の固定部分の本来の終端を超えたフィールドの内容を参照してはなりません。
dwPredictiveAutoTransferStates から dwAvailableMediaModes までのメンバーは、 lineGetAddressCaps を呼び出すときに API バージョン 2.0 以降を要求するアプリケーションでのみ利用できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
#include <windows.h>
// LINEADDRESSCAPS (x64 228 / x86 228 バイト)
#pragma pack(push, 1)
typedef struct LINEADDRESSCAPS {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwLineDeviceID;
DWORD dwAddressSize;
DWORD dwAddressOffset;
DWORD dwDevSpecificSize;
DWORD dwDevSpecificOffset;
DWORD dwAddressSharing;
DWORD dwAddressStates;
DWORD dwCallInfoStates;
DWORD dwCallerIDFlags;
DWORD dwCalledIDFlags;
DWORD dwConnectedIDFlags;
DWORD dwRedirectionIDFlags;
DWORD dwRedirectingIDFlags;
DWORD dwCallStates;
DWORD dwDialToneModes;
DWORD dwBusyModes;
DWORD dwSpecialInfo;
DWORD dwDisconnectModes;
DWORD dwMaxNumActiveCalls;
DWORD dwMaxNumOnHoldCalls;
DWORD dwMaxNumOnHoldPendingCalls;
DWORD dwMaxNumConference;
DWORD dwMaxNumTransConf;
DWORD dwAddrCapFlags;
DWORD dwCallFeatures;
DWORD dwRemoveFromConfCaps;
DWORD dwRemoveFromConfState;
DWORD dwTransferModes;
DWORD dwParkModes;
DWORD dwForwardModes;
DWORD dwMaxForwardEntries;
DWORD dwMaxSpecificEntries;
DWORD dwMinFwdNumRings;
DWORD dwMaxFwdNumRings;
DWORD dwMaxCallCompletions;
DWORD dwCallCompletionConds;
DWORD dwCallCompletionModes;
DWORD dwNumCompletionMessages;
DWORD dwCompletionMsgTextEntrySize;
DWORD dwCompletionMsgTextSize;
DWORD dwCompletionMsgTextOffset;
DWORD dwAddressFeatures;
DWORD dwPredictiveAutoTransferStates;
DWORD dwNumCallTreatments;
DWORD dwCallTreatmentListSize;
DWORD dwCallTreatmentListOffset;
DWORD dwDeviceClassesSize;
DWORD dwDeviceClassesOffset;
DWORD dwMaxCallDataSize;
DWORD dwCallFeatures2;
DWORD dwMaxNoAnswerTimeout;
DWORD dwConnectedModes;
DWORD dwOfferingModes;
DWORD dwAvailableMediaModes;
} LINEADDRESSCAPS;
#pragma pack(pop)using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Unicode)]
public struct LINEADDRESSCAPS
{
public uint dwTotalSize;
public uint dwNeededSize;
public uint dwUsedSize;
public uint dwLineDeviceID;
public uint dwAddressSize;
public uint dwAddressOffset;
public uint dwDevSpecificSize;
public uint dwDevSpecificOffset;
public uint dwAddressSharing;
public uint dwAddressStates;
public uint dwCallInfoStates;
public uint dwCallerIDFlags;
public uint dwCalledIDFlags;
public uint dwConnectedIDFlags;
public uint dwRedirectionIDFlags;
public uint dwRedirectingIDFlags;
public uint dwCallStates;
public uint dwDialToneModes;
public uint dwBusyModes;
public uint dwSpecialInfo;
public uint dwDisconnectModes;
public uint dwMaxNumActiveCalls;
public uint dwMaxNumOnHoldCalls;
public uint dwMaxNumOnHoldPendingCalls;
public uint dwMaxNumConference;
public uint dwMaxNumTransConf;
public uint dwAddrCapFlags;
public uint dwCallFeatures;
public uint dwRemoveFromConfCaps;
public uint dwRemoveFromConfState;
public uint dwTransferModes;
public uint dwParkModes;
public uint dwForwardModes;
public uint dwMaxForwardEntries;
public uint dwMaxSpecificEntries;
public uint dwMinFwdNumRings;
public uint dwMaxFwdNumRings;
public uint dwMaxCallCompletions;
public uint dwCallCompletionConds;
public uint dwCallCompletionModes;
public uint dwNumCompletionMessages;
public uint dwCompletionMsgTextEntrySize;
public uint dwCompletionMsgTextSize;
public uint dwCompletionMsgTextOffset;
public uint dwAddressFeatures;
public uint dwPredictiveAutoTransferStates;
public uint dwNumCallTreatments;
public uint dwCallTreatmentListSize;
public uint dwCallTreatmentListOffset;
public uint dwDeviceClassesSize;
public uint dwDeviceClassesOffset;
public uint dwMaxCallDataSize;
public uint dwCallFeatures2;
public uint dwMaxNoAnswerTimeout;
public uint dwConnectedModes;
public uint dwOfferingModes;
public uint dwAvailableMediaModes;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, Pack:=1, CharSet:=CharSet.Unicode)>
Public Structure LINEADDRESSCAPS
Public dwTotalSize As UInteger
Public dwNeededSize As UInteger
Public dwUsedSize As UInteger
Public dwLineDeviceID As UInteger
Public dwAddressSize As UInteger
Public dwAddressOffset As UInteger
Public dwDevSpecificSize As UInteger
Public dwDevSpecificOffset As UInteger
Public dwAddressSharing As UInteger
Public dwAddressStates As UInteger
Public dwCallInfoStates As UInteger
Public dwCallerIDFlags As UInteger
Public dwCalledIDFlags As UInteger
Public dwConnectedIDFlags As UInteger
Public dwRedirectionIDFlags As UInteger
Public dwRedirectingIDFlags As UInteger
Public dwCallStates As UInteger
Public dwDialToneModes As UInteger
Public dwBusyModes As UInteger
Public dwSpecialInfo As UInteger
Public dwDisconnectModes As UInteger
Public dwMaxNumActiveCalls As UInteger
Public dwMaxNumOnHoldCalls As UInteger
Public dwMaxNumOnHoldPendingCalls As UInteger
Public dwMaxNumConference As UInteger
Public dwMaxNumTransConf As UInteger
Public dwAddrCapFlags As UInteger
Public dwCallFeatures As UInteger
Public dwRemoveFromConfCaps As UInteger
Public dwRemoveFromConfState As UInteger
Public dwTransferModes As UInteger
Public dwParkModes As UInteger
Public dwForwardModes As UInteger
Public dwMaxForwardEntries As UInteger
Public dwMaxSpecificEntries As UInteger
Public dwMinFwdNumRings As UInteger
Public dwMaxFwdNumRings As UInteger
Public dwMaxCallCompletions As UInteger
Public dwCallCompletionConds As UInteger
Public dwCallCompletionModes As UInteger
Public dwNumCompletionMessages As UInteger
Public dwCompletionMsgTextEntrySize As UInteger
Public dwCompletionMsgTextSize As UInteger
Public dwCompletionMsgTextOffset As UInteger
Public dwAddressFeatures As UInteger
Public dwPredictiveAutoTransferStates As UInteger
Public dwNumCallTreatments As UInteger
Public dwCallTreatmentListSize As UInteger
Public dwCallTreatmentListOffset As UInteger
Public dwDeviceClassesSize As UInteger
Public dwDeviceClassesOffset As UInteger
Public dwMaxCallDataSize As UInteger
Public dwCallFeatures2 As UInteger
Public dwMaxNoAnswerTimeout As UInteger
Public dwConnectedModes As UInteger
Public dwOfferingModes As UInteger
Public dwAvailableMediaModes As UInteger
End Structureimport ctypes
from ctypes import wintypes
class LINEADDRESSCAPS(ctypes.Structure):
_pack_ = 1
_fields_ = [
("dwTotalSize", wintypes.DWORD),
("dwNeededSize", wintypes.DWORD),
("dwUsedSize", wintypes.DWORD),
("dwLineDeviceID", wintypes.DWORD),
("dwAddressSize", wintypes.DWORD),
("dwAddressOffset", wintypes.DWORD),
("dwDevSpecificSize", wintypes.DWORD),
("dwDevSpecificOffset", wintypes.DWORD),
("dwAddressSharing", wintypes.DWORD),
("dwAddressStates", wintypes.DWORD),
("dwCallInfoStates", wintypes.DWORD),
("dwCallerIDFlags", wintypes.DWORD),
("dwCalledIDFlags", wintypes.DWORD),
("dwConnectedIDFlags", wintypes.DWORD),
("dwRedirectionIDFlags", wintypes.DWORD),
("dwRedirectingIDFlags", wintypes.DWORD),
("dwCallStates", wintypes.DWORD),
("dwDialToneModes", wintypes.DWORD),
("dwBusyModes", wintypes.DWORD),
("dwSpecialInfo", wintypes.DWORD),
("dwDisconnectModes", wintypes.DWORD),
("dwMaxNumActiveCalls", wintypes.DWORD),
("dwMaxNumOnHoldCalls", wintypes.DWORD),
("dwMaxNumOnHoldPendingCalls", wintypes.DWORD),
("dwMaxNumConference", wintypes.DWORD),
("dwMaxNumTransConf", wintypes.DWORD),
("dwAddrCapFlags", wintypes.DWORD),
("dwCallFeatures", wintypes.DWORD),
("dwRemoveFromConfCaps", wintypes.DWORD),
("dwRemoveFromConfState", wintypes.DWORD),
("dwTransferModes", wintypes.DWORD),
("dwParkModes", wintypes.DWORD),
("dwForwardModes", wintypes.DWORD),
("dwMaxForwardEntries", wintypes.DWORD),
("dwMaxSpecificEntries", wintypes.DWORD),
("dwMinFwdNumRings", wintypes.DWORD),
("dwMaxFwdNumRings", wintypes.DWORD),
("dwMaxCallCompletions", wintypes.DWORD),
("dwCallCompletionConds", wintypes.DWORD),
("dwCallCompletionModes", wintypes.DWORD),
("dwNumCompletionMessages", wintypes.DWORD),
("dwCompletionMsgTextEntrySize", wintypes.DWORD),
("dwCompletionMsgTextSize", wintypes.DWORD),
("dwCompletionMsgTextOffset", wintypes.DWORD),
("dwAddressFeatures", wintypes.DWORD),
("dwPredictiveAutoTransferStates", wintypes.DWORD),
("dwNumCallTreatments", wintypes.DWORD),
("dwCallTreatmentListSize", wintypes.DWORD),
("dwCallTreatmentListOffset", wintypes.DWORD),
("dwDeviceClassesSize", wintypes.DWORD),
("dwDeviceClassesOffset", wintypes.DWORD),
("dwMaxCallDataSize", wintypes.DWORD),
("dwCallFeatures2", wintypes.DWORD),
("dwMaxNoAnswerTimeout", wintypes.DWORD),
("dwConnectedModes", wintypes.DWORD),
("dwOfferingModes", wintypes.DWORD),
("dwAvailableMediaModes", wintypes.DWORD),
]#[repr(C, packed(1))]
pub struct LINEADDRESSCAPS {
pub dwTotalSize: u32,
pub dwNeededSize: u32,
pub dwUsedSize: u32,
pub dwLineDeviceID: u32,
pub dwAddressSize: u32,
pub dwAddressOffset: u32,
pub dwDevSpecificSize: u32,
pub dwDevSpecificOffset: u32,
pub dwAddressSharing: u32,
pub dwAddressStates: u32,
pub dwCallInfoStates: u32,
pub dwCallerIDFlags: u32,
pub dwCalledIDFlags: u32,
pub dwConnectedIDFlags: u32,
pub dwRedirectionIDFlags: u32,
pub dwRedirectingIDFlags: u32,
pub dwCallStates: u32,
pub dwDialToneModes: u32,
pub dwBusyModes: u32,
pub dwSpecialInfo: u32,
pub dwDisconnectModes: u32,
pub dwMaxNumActiveCalls: u32,
pub dwMaxNumOnHoldCalls: u32,
pub dwMaxNumOnHoldPendingCalls: u32,
pub dwMaxNumConference: u32,
pub dwMaxNumTransConf: u32,
pub dwAddrCapFlags: u32,
pub dwCallFeatures: u32,
pub dwRemoveFromConfCaps: u32,
pub dwRemoveFromConfState: u32,
pub dwTransferModes: u32,
pub dwParkModes: u32,
pub dwForwardModes: u32,
pub dwMaxForwardEntries: u32,
pub dwMaxSpecificEntries: u32,
pub dwMinFwdNumRings: u32,
pub dwMaxFwdNumRings: u32,
pub dwMaxCallCompletions: u32,
pub dwCallCompletionConds: u32,
pub dwCallCompletionModes: u32,
pub dwNumCompletionMessages: u32,
pub dwCompletionMsgTextEntrySize: u32,
pub dwCompletionMsgTextSize: u32,
pub dwCompletionMsgTextOffset: u32,
pub dwAddressFeatures: u32,
pub dwPredictiveAutoTransferStates: u32,
pub dwNumCallTreatments: u32,
pub dwCallTreatmentListSize: u32,
pub dwCallTreatmentListOffset: u32,
pub dwDeviceClassesSize: u32,
pub dwDeviceClassesOffset: u32,
pub dwMaxCallDataSize: u32,
pub dwCallFeatures2: u32,
pub dwMaxNoAnswerTimeout: u32,
pub dwConnectedModes: u32,
pub dwOfferingModes: u32,
pub dwAvailableMediaModes: u32,
}import "golang.org/x/sys/windows"
type LINEADDRESSCAPS struct {
dwTotalSize uint32
dwNeededSize uint32
dwUsedSize uint32
dwLineDeviceID uint32
dwAddressSize uint32
dwAddressOffset uint32
dwDevSpecificSize uint32
dwDevSpecificOffset uint32
dwAddressSharing uint32
dwAddressStates uint32
dwCallInfoStates uint32
dwCallerIDFlags uint32
dwCalledIDFlags uint32
dwConnectedIDFlags uint32
dwRedirectionIDFlags uint32
dwRedirectingIDFlags uint32
dwCallStates uint32
dwDialToneModes uint32
dwBusyModes uint32
dwSpecialInfo uint32
dwDisconnectModes uint32
dwMaxNumActiveCalls uint32
dwMaxNumOnHoldCalls uint32
dwMaxNumOnHoldPendingCalls uint32
dwMaxNumConference uint32
dwMaxNumTransConf uint32
dwAddrCapFlags uint32
dwCallFeatures uint32
dwRemoveFromConfCaps uint32
dwRemoveFromConfState uint32
dwTransferModes uint32
dwParkModes uint32
dwForwardModes uint32
dwMaxForwardEntries uint32
dwMaxSpecificEntries uint32
dwMinFwdNumRings uint32
dwMaxFwdNumRings uint32
dwMaxCallCompletions uint32
dwCallCompletionConds uint32
dwCallCompletionModes uint32
dwNumCompletionMessages uint32
dwCompletionMsgTextEntrySize uint32
dwCompletionMsgTextSize uint32
dwCompletionMsgTextOffset uint32
dwAddressFeatures uint32
dwPredictiveAutoTransferStates uint32
dwNumCallTreatments uint32
dwCallTreatmentListSize uint32
dwCallTreatmentListOffset uint32
dwDeviceClassesSize uint32
dwDeviceClassesOffset uint32
dwMaxCallDataSize uint32
dwCallFeatures2 uint32
dwMaxNoAnswerTimeout uint32
dwConnectedModes uint32
dwOfferingModes uint32
dwAvailableMediaModes uint32
}type
LINEADDRESSCAPS = packed record
dwTotalSize: DWORD;
dwNeededSize: DWORD;
dwUsedSize: DWORD;
dwLineDeviceID: DWORD;
dwAddressSize: DWORD;
dwAddressOffset: DWORD;
dwDevSpecificSize: DWORD;
dwDevSpecificOffset: DWORD;
dwAddressSharing: DWORD;
dwAddressStates: DWORD;
dwCallInfoStates: DWORD;
dwCallerIDFlags: DWORD;
dwCalledIDFlags: DWORD;
dwConnectedIDFlags: DWORD;
dwRedirectionIDFlags: DWORD;
dwRedirectingIDFlags: DWORD;
dwCallStates: DWORD;
dwDialToneModes: DWORD;
dwBusyModes: DWORD;
dwSpecialInfo: DWORD;
dwDisconnectModes: DWORD;
dwMaxNumActiveCalls: DWORD;
dwMaxNumOnHoldCalls: DWORD;
dwMaxNumOnHoldPendingCalls: DWORD;
dwMaxNumConference: DWORD;
dwMaxNumTransConf: DWORD;
dwAddrCapFlags: DWORD;
dwCallFeatures: DWORD;
dwRemoveFromConfCaps: DWORD;
dwRemoveFromConfState: DWORD;
dwTransferModes: DWORD;
dwParkModes: DWORD;
dwForwardModes: DWORD;
dwMaxForwardEntries: DWORD;
dwMaxSpecificEntries: DWORD;
dwMinFwdNumRings: DWORD;
dwMaxFwdNumRings: DWORD;
dwMaxCallCompletions: DWORD;
dwCallCompletionConds: DWORD;
dwCallCompletionModes: DWORD;
dwNumCompletionMessages: DWORD;
dwCompletionMsgTextEntrySize: DWORD;
dwCompletionMsgTextSize: DWORD;
dwCompletionMsgTextOffset: DWORD;
dwAddressFeatures: DWORD;
dwPredictiveAutoTransferStates: DWORD;
dwNumCallTreatments: DWORD;
dwCallTreatmentListSize: DWORD;
dwCallTreatmentListOffset: DWORD;
dwDeviceClassesSize: DWORD;
dwDeviceClassesOffset: DWORD;
dwMaxCallDataSize: DWORD;
dwCallFeatures2: DWORD;
dwMaxNoAnswerTimeout: DWORD;
dwConnectedModes: DWORD;
dwOfferingModes: DWORD;
dwAvailableMediaModes: DWORD;
end;const LINEADDRESSCAPS = extern struct {
dwTotalSize: u32,
dwNeededSize: u32,
dwUsedSize: u32,
dwLineDeviceID: u32,
dwAddressSize: u32,
dwAddressOffset: u32,
dwDevSpecificSize: u32,
dwDevSpecificOffset: u32,
dwAddressSharing: u32,
dwAddressStates: u32,
dwCallInfoStates: u32,
dwCallerIDFlags: u32,
dwCalledIDFlags: u32,
dwConnectedIDFlags: u32,
dwRedirectionIDFlags: u32,
dwRedirectingIDFlags: u32,
dwCallStates: u32,
dwDialToneModes: u32,
dwBusyModes: u32,
dwSpecialInfo: u32,
dwDisconnectModes: u32,
dwMaxNumActiveCalls: u32,
dwMaxNumOnHoldCalls: u32,
dwMaxNumOnHoldPendingCalls: u32,
dwMaxNumConference: u32,
dwMaxNumTransConf: u32,
dwAddrCapFlags: u32,
dwCallFeatures: u32,
dwRemoveFromConfCaps: u32,
dwRemoveFromConfState: u32,
dwTransferModes: u32,
dwParkModes: u32,
dwForwardModes: u32,
dwMaxForwardEntries: u32,
dwMaxSpecificEntries: u32,
dwMinFwdNumRings: u32,
dwMaxFwdNumRings: u32,
dwMaxCallCompletions: u32,
dwCallCompletionConds: u32,
dwCallCompletionModes: u32,
dwNumCompletionMessages: u32,
dwCompletionMsgTextEntrySize: u32,
dwCompletionMsgTextSize: u32,
dwCompletionMsgTextOffset: u32,
dwAddressFeatures: u32,
dwPredictiveAutoTransferStates: u32,
dwNumCallTreatments: u32,
dwCallTreatmentListSize: u32,
dwCallTreatmentListOffset: u32,
dwDeviceClassesSize: u32,
dwDeviceClassesOffset: u32,
dwMaxCallDataSize: u32,
dwCallFeatures2: u32,
dwMaxNoAnswerTimeout: u32,
dwConnectedModes: u32,
dwOfferingModes: u32,
dwAvailableMediaModes: u32,
};type
LINEADDRESSCAPS {.packed.} = object
dwTotalSize: uint32
dwNeededSize: uint32
dwUsedSize: uint32
dwLineDeviceID: uint32
dwAddressSize: uint32
dwAddressOffset: uint32
dwDevSpecificSize: uint32
dwDevSpecificOffset: uint32
dwAddressSharing: uint32
dwAddressStates: uint32
dwCallInfoStates: uint32
dwCallerIDFlags: uint32
dwCalledIDFlags: uint32
dwConnectedIDFlags: uint32
dwRedirectionIDFlags: uint32
dwRedirectingIDFlags: uint32
dwCallStates: uint32
dwDialToneModes: uint32
dwBusyModes: uint32
dwSpecialInfo: uint32
dwDisconnectModes: uint32
dwMaxNumActiveCalls: uint32
dwMaxNumOnHoldCalls: uint32
dwMaxNumOnHoldPendingCalls: uint32
dwMaxNumConference: uint32
dwMaxNumTransConf: uint32
dwAddrCapFlags: uint32
dwCallFeatures: uint32
dwRemoveFromConfCaps: uint32
dwRemoveFromConfState: uint32
dwTransferModes: uint32
dwParkModes: uint32
dwForwardModes: uint32
dwMaxForwardEntries: uint32
dwMaxSpecificEntries: uint32
dwMinFwdNumRings: uint32
dwMaxFwdNumRings: uint32
dwMaxCallCompletions: uint32
dwCallCompletionConds: uint32
dwCallCompletionModes: uint32
dwNumCompletionMessages: uint32
dwCompletionMsgTextEntrySize: uint32
dwCompletionMsgTextSize: uint32
dwCompletionMsgTextOffset: uint32
dwAddressFeatures: uint32
dwPredictiveAutoTransferStates: uint32
dwNumCallTreatments: uint32
dwCallTreatmentListSize: uint32
dwCallTreatmentListOffset: uint32
dwDeviceClassesSize: uint32
dwDeviceClassesOffset: uint32
dwMaxCallDataSize: uint32
dwCallFeatures2: uint32
dwMaxNoAnswerTimeout: uint32
dwConnectedModes: uint32
dwOfferingModes: uint32
dwAvailableMediaModes: uint32align(1)
struct LINEADDRESSCAPS
{
uint dwTotalSize;
uint dwNeededSize;
uint dwUsedSize;
uint dwLineDeviceID;
uint dwAddressSize;
uint dwAddressOffset;
uint dwDevSpecificSize;
uint dwDevSpecificOffset;
uint dwAddressSharing;
uint dwAddressStates;
uint dwCallInfoStates;
uint dwCallerIDFlags;
uint dwCalledIDFlags;
uint dwConnectedIDFlags;
uint dwRedirectionIDFlags;
uint dwRedirectingIDFlags;
uint dwCallStates;
uint dwDialToneModes;
uint dwBusyModes;
uint dwSpecialInfo;
uint dwDisconnectModes;
uint dwMaxNumActiveCalls;
uint dwMaxNumOnHoldCalls;
uint dwMaxNumOnHoldPendingCalls;
uint dwMaxNumConference;
uint dwMaxNumTransConf;
uint dwAddrCapFlags;
uint dwCallFeatures;
uint dwRemoveFromConfCaps;
uint dwRemoveFromConfState;
uint dwTransferModes;
uint dwParkModes;
uint dwForwardModes;
uint dwMaxForwardEntries;
uint dwMaxSpecificEntries;
uint dwMinFwdNumRings;
uint dwMaxFwdNumRings;
uint dwMaxCallCompletions;
uint dwCallCompletionConds;
uint dwCallCompletionModes;
uint dwNumCompletionMessages;
uint dwCompletionMsgTextEntrySize;
uint dwCompletionMsgTextSize;
uint dwCompletionMsgTextOffset;
uint dwAddressFeatures;
uint dwPredictiveAutoTransferStates;
uint dwNumCallTreatments;
uint dwCallTreatmentListSize;
uint dwCallTreatmentListOffset;
uint dwDeviceClassesSize;
uint dwDeviceClassesOffset;
uint dwMaxCallDataSize;
uint dwCallFeatures2;
uint dwMaxNoAnswerTimeout;
uint dwConnectedModes;
uint dwOfferingModes;
uint dwAvailableMediaModes;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; LINEADDRESSCAPS サイズ: 228 バイト(x64)
dim st, 57 ; 4byte整数×57(構造体サイズ 228 / 4 切り上げ)
; dwTotalSize : DWORD (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; dwNeededSize : DWORD (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; dwUsedSize : DWORD (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; dwLineDeviceID : DWORD (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; dwAddressSize : DWORD (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; dwAddressOffset : DWORD (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; dwDevSpecificSize : DWORD (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; dwDevSpecificOffset : DWORD (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; dwAddressSharing : DWORD (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; dwAddressStates : DWORD (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; dwCallInfoStates : DWORD (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; dwCallerIDFlags : DWORD (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; dwCalledIDFlags : DWORD (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; dwConnectedIDFlags : DWORD (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; dwRedirectionIDFlags : DWORD (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; dwRedirectingIDFlags : DWORD (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; dwCallStates : DWORD (+64, 4byte) st.16 = 値 / 値 = st.16 (lpoke/lpeek も可)
; dwDialToneModes : DWORD (+68, 4byte) st.17 = 値 / 値 = st.17 (lpoke/lpeek も可)
; dwBusyModes : DWORD (+72, 4byte) st.18 = 値 / 値 = st.18 (lpoke/lpeek も可)
; dwSpecialInfo : DWORD (+76, 4byte) st.19 = 値 / 値 = st.19 (lpoke/lpeek も可)
; dwDisconnectModes : DWORD (+80, 4byte) st.20 = 値 / 値 = st.20 (lpoke/lpeek も可)
; dwMaxNumActiveCalls : DWORD (+84, 4byte) st.21 = 値 / 値 = st.21 (lpoke/lpeek も可)
; dwMaxNumOnHoldCalls : DWORD (+88, 4byte) st.22 = 値 / 値 = st.22 (lpoke/lpeek も可)
; dwMaxNumOnHoldPendingCalls : DWORD (+92, 4byte) st.23 = 値 / 値 = st.23 (lpoke/lpeek も可)
; dwMaxNumConference : DWORD (+96, 4byte) st.24 = 値 / 値 = st.24 (lpoke/lpeek も可)
; dwMaxNumTransConf : DWORD (+100, 4byte) st.25 = 値 / 値 = st.25 (lpoke/lpeek も可)
; dwAddrCapFlags : DWORD (+104, 4byte) st.26 = 値 / 値 = st.26 (lpoke/lpeek も可)
; dwCallFeatures : DWORD (+108, 4byte) st.27 = 値 / 値 = st.27 (lpoke/lpeek も可)
; dwRemoveFromConfCaps : DWORD (+112, 4byte) st.28 = 値 / 値 = st.28 (lpoke/lpeek も可)
; dwRemoveFromConfState : DWORD (+116, 4byte) st.29 = 値 / 値 = st.29 (lpoke/lpeek も可)
; dwTransferModes : DWORD (+120, 4byte) st.30 = 値 / 値 = st.30 (lpoke/lpeek も可)
; dwParkModes : DWORD (+124, 4byte) st.31 = 値 / 値 = st.31 (lpoke/lpeek も可)
; dwForwardModes : DWORD (+128, 4byte) st.32 = 値 / 値 = st.32 (lpoke/lpeek も可)
; dwMaxForwardEntries : DWORD (+132, 4byte) st.33 = 値 / 値 = st.33 (lpoke/lpeek も可)
; dwMaxSpecificEntries : DWORD (+136, 4byte) st.34 = 値 / 値 = st.34 (lpoke/lpeek も可)
; dwMinFwdNumRings : DWORD (+140, 4byte) st.35 = 値 / 値 = st.35 (lpoke/lpeek も可)
; dwMaxFwdNumRings : DWORD (+144, 4byte) st.36 = 値 / 値 = st.36 (lpoke/lpeek も可)
; dwMaxCallCompletions : DWORD (+148, 4byte) st.37 = 値 / 値 = st.37 (lpoke/lpeek も可)
; dwCallCompletionConds : DWORD (+152, 4byte) st.38 = 値 / 値 = st.38 (lpoke/lpeek も可)
; dwCallCompletionModes : DWORD (+156, 4byte) st.39 = 値 / 値 = st.39 (lpoke/lpeek も可)
; dwNumCompletionMessages : DWORD (+160, 4byte) st.40 = 値 / 値 = st.40 (lpoke/lpeek も可)
; dwCompletionMsgTextEntrySize : DWORD (+164, 4byte) st.41 = 値 / 値 = st.41 (lpoke/lpeek も可)
; dwCompletionMsgTextSize : DWORD (+168, 4byte) st.42 = 値 / 値 = st.42 (lpoke/lpeek も可)
; dwCompletionMsgTextOffset : DWORD (+172, 4byte) st.43 = 値 / 値 = st.43 (lpoke/lpeek も可)
; dwAddressFeatures : DWORD (+176, 4byte) st.44 = 値 / 値 = st.44 (lpoke/lpeek も可)
; dwPredictiveAutoTransferStates : DWORD (+180, 4byte) st.45 = 値 / 値 = st.45 (lpoke/lpeek も可)
; dwNumCallTreatments : DWORD (+184, 4byte) st.46 = 値 / 値 = st.46 (lpoke/lpeek も可)
; dwCallTreatmentListSize : DWORD (+188, 4byte) st.47 = 値 / 値 = st.47 (lpoke/lpeek も可)
; dwCallTreatmentListOffset : DWORD (+192, 4byte) st.48 = 値 / 値 = st.48 (lpoke/lpeek も可)
; dwDeviceClassesSize : DWORD (+196, 4byte) st.49 = 値 / 値 = st.49 (lpoke/lpeek も可)
; dwDeviceClassesOffset : DWORD (+200, 4byte) st.50 = 値 / 値 = st.50 (lpoke/lpeek も可)
; dwMaxCallDataSize : DWORD (+204, 4byte) st.51 = 値 / 値 = st.51 (lpoke/lpeek も可)
; dwCallFeatures2 : DWORD (+208, 4byte) st.52 = 値 / 値 = st.52 (lpoke/lpeek も可)
; dwMaxNoAnswerTimeout : DWORD (+212, 4byte) st.53 = 値 / 値 = st.53 (lpoke/lpeek も可)
; dwConnectedModes : DWORD (+216, 4byte) st.54 = 値 / 値 = st.54 (lpoke/lpeek も可)
; dwOfferingModes : DWORD (+220, 4byte) st.55 = 値 / 値 = st.55 (lpoke/lpeek も可)
; dwAvailableMediaModes : DWORD (+224, 4byte) st.56 = 値 / 値 = st.56 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global LINEADDRESSCAPS, pack=1
#field int dwTotalSize
#field int dwNeededSize
#field int dwUsedSize
#field int dwLineDeviceID
#field int dwAddressSize
#field int dwAddressOffset
#field int dwDevSpecificSize
#field int dwDevSpecificOffset
#field int dwAddressSharing
#field int dwAddressStates
#field int dwCallInfoStates
#field int dwCallerIDFlags
#field int dwCalledIDFlags
#field int dwConnectedIDFlags
#field int dwRedirectionIDFlags
#field int dwRedirectingIDFlags
#field int dwCallStates
#field int dwDialToneModes
#field int dwBusyModes
#field int dwSpecialInfo
#field int dwDisconnectModes
#field int dwMaxNumActiveCalls
#field int dwMaxNumOnHoldCalls
#field int dwMaxNumOnHoldPendingCalls
#field int dwMaxNumConference
#field int dwMaxNumTransConf
#field int dwAddrCapFlags
#field int dwCallFeatures
#field int dwRemoveFromConfCaps
#field int dwRemoveFromConfState
#field int dwTransferModes
#field int dwParkModes
#field int dwForwardModes
#field int dwMaxForwardEntries
#field int dwMaxSpecificEntries
#field int dwMinFwdNumRings
#field int dwMaxFwdNumRings
#field int dwMaxCallCompletions
#field int dwCallCompletionConds
#field int dwCallCompletionModes
#field int dwNumCompletionMessages
#field int dwCompletionMsgTextEntrySize
#field int dwCompletionMsgTextSize
#field int dwCompletionMsgTextOffset
#field int dwAddressFeatures
#field int dwPredictiveAutoTransferStates
#field int dwNumCallTreatments
#field int dwCallTreatmentListSize
#field int dwCallTreatmentListOffset
#field int dwDeviceClassesSize
#field int dwDeviceClassesOffset
#field int dwMaxCallDataSize
#field int dwCallFeatures2
#field int dwMaxNoAnswerTimeout
#field int dwConnectedModes
#field int dwOfferingModes
#field int dwAvailableMediaModes
#endstruct
stdim st, LINEADDRESSCAPS ; NSTRUCT 変数を確保
st->dwTotalSize = 100
mes "dwTotalSize=" + st->dwTotalSize