次の方法で共有


comm/datamodem

comm/datamodem デバイス クラスは、datamodem デバイスで構成されます。 これらのデバイスには 、ファイル通信の機能を使用してアクセスします。 このクラスのデバイスは、ライン デバイスの LINEDEVCAPS 構造体の dwMediaModes メンバーで指定されている、LINEMEDIAMODE_DATAMODEM メディアの種類をサポートする回線デバイスに関連付けられます。

lineGetID 関数は VARSTRING 構造体を埋め、dwStringFormat をSTRINGFORMAT_BINARY値に設定し、次の追加メンバーを追加します。

HANDLE hComm;            // file handle to data modem
CHAR   szDeviceName[1];  // name of data modem

hComm メンバーは、オープン通信ポートのハンドルです。 ポートがまだ開いていない場合、または lineGetIDdwSelect パラメーターがLINECALLSELECT_CALL値でない場合、このメンバーは NULL です。 呼び出しがアクティブな場合、サービス プロバイダーは通常、通信ハードウェアを直接制御するためにポート自体を開きますが、回線が接続されている場合にのみ有効なハンドルを返すために必要です。 サービス プロバイダーは、FILE_FLAG_OVERLAPPED値を使用してポートを開き、 lineSetDevConfig 関数で指定された設定を使用してポートを構成します。 返されたハンドルと通信関数を使用して、デバイスの追加の構成オプションを設定できます。

szDeviceName メンバーは、行、アドレス、または呼び出しに関連付けられている通信ポートの名前を指定する null で終わる文字列です。

hComm が有効なハンドルの場合は、ReadFileWriteFile などのファイル関数の後続の呼び出しで使用して、呼び出しのデータを送受信できます。 通信ポートの使用が完了し、できれば lineDeallocateCall 関数を使用して呼び出しの割り当てを解除する前に、 CloseHandle 関数を使用してポートを閉じる必要があります。

lineGetDevConfig 関数と lineSetDevConfig 関数を使用する場合、一部のサービス プロバイダーでは、このデバイス クラスの構成データが次の形式である必要があります。

typedef struct  tagDEVCFG  {
  DEVCFGHDR   dfgHdr;
  COMMCONFIG  commconfig;
} DEVCFG, *PDEVCFG, FAR* LPDEVCFG;

// Device setting information
typedef struct  tagDEVCFGDR  {
  DWORD       dwSize;
  DWORD       dwVersion;
  WORD        fwOptions;
  WORD        wWaitBong;
} DEVCFGHDR;

lineGetDevConfig 関数と lineSetDevConfig 関数で使用するデバイス構成情報を次に示します。

Dwsize

DEVCFGHDR 構造体のサイズと COMMCONFIG 構造体の実際のサイズの合計。

dwVersion

Unimodem DevConfig 構造体のバージョン番号。 このメンバーはMDMCFG_VERSIONできます (0x00010003)。

fwOptions

[Unimodem オプション] ページに表示されるオプション フラグ。 このメンバーには、次の値の組み合わせを指定できます。

TERMINAL_PRE (1)

端末前画面を表示します。

TERMINAL_POST (2)

端末後画面を表示します。

MANUAL_DIAL (4)

電話を手動でダイヤルします (可能な場合)。

LAUNCH_LIGHTS (8)

タスク バーの状態領域にモデム アイコンを表示します。

既定では、LAUNCH_LIGHTS値のみが設定されます

wWaitBong

クレジット トーンの待機 ($) を置き換える秒数 (2 秒単位)。

Commconfig

通信およびモデム構成機能と共に使用できる COMMCONFIG 構造体。