TSPI_lineGetID関数 (tspi.h)
TSPI_lineGetID関数は、選択した行、アドレス、または呼び出しに関連付けられている指定されたデバイス クラスのデバイス識別子を返します。
構文
LONG TSPIAPI TSPI_lineGetID(
HDRVLINE hdLine,
DWORD dwAddressID,
HDRVCALL hdCall,
DWORD dwSelect,
LPVARSTRING lpDeviceID,
LPCWSTR lpszDeviceClass,
HANDLE hTargetProcess
);
パラメーター
hdLine
クエリを実行する行に対するサービス プロバイダーのハンドル。
dwAddressID
指定されたオープンライン デバイス上のアドレス。 アドレス識別子は、アドレスに永続的に関連付けられます。識別子はオペレーティング システムのアップグレード全体で一定のままです。 TAPI は、この関数が呼び出されたときにこのパラメーターを検証しません。
hdCall
クエリを実行する呼び出しに対するサービス プロバイダーのハンドル。
dwSelect
要求されたデバイス識別子が、回線、アドレス、または単一の呼び出しに関連付けられているかどうかを指定します。 dwSelect パラメーターには、LINECALLSELECT_定数の 1 つだけを指定できます。
lpDeviceID
デバイス識別子が返される VARSTRING 型のメモリ位置へのポインター。 要求が正常に完了すると、この場所にはデバイス識別子が入力されます。 返される情報の形式は、デバイスの名前付けにデバイス クラス (API) によって使用されるメソッドによって異なります。
lpszDeviceClass
識別子が要求されたデバイスのデバイス クラスを指定する、null で終わる Unicode 文字列へのポインター。 有効なデバイス クラス文字列は、デバイス クラス (COM、Wave、MCI など) を識別するために、System.ini セクションで使用される文字列です。
hTargetProcess
TSPI_lineGetID関数の呼び出しに代わってアプリケーションのプロセス ハンドル。 VARSTRING 構造体で返される情報にアプリケーションで使用するハンドルが含まれている場合、サービス プロバイダーはプロセスのハンドルを作成または複製する必要があります。
hTargetProcess が INVALID_HANDLE_VALUE に設定されている場合、アプリケーションはリモート クライアント システムで実行されており、重複するハンドルを直接作成することはできません。 代わりに、 VARSTRING 構造体には、ネットワーク デバイスの UNC 名、またはリモート クライアントがデバイスへのアクセスに使用できるその他の名前を含める必要があります。 これが不可能な場合、関数は失敗します。
戻り値
関数が成功した場合は 0 を返し、エラーが発生した場合はエラー番号を返します。 可能な戻り値は次のとおりです。
LINEERR_INVALLINEHANDLE、LINEERR_NOMEM、LINEERR_INVALADDRESSID、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONFAILED、LINEERR_NODEVICE、LINEERR_RESOURCEUNAVAIL。
注釈
dwSelect がLINECALLSELECT_LINEまたはLINECALLSELECT_ADDRESSで、hdLine が無効な場合、サービスはLINEERR_INVALLINEHANDLEを返します。
dwSelect がLINECALLSELECT_CALLされ、hdCall が無効な場合、サービス プロバイダーはLINEERR_INVALCALLHANDLEを返します。
サービス プロバイダーは tapi/line デバイス クラスをサポートして、アプリケーションが開いている回線の実際の回線デバイス識別子を決定できるようにする必要があります。 その場合、返される変数データは dwDeviceID です。 一般的なデバイス クラス名の詳細については、「 TSPI デバイス クラス」を参照してください。
デバイス固有のメディアの種類を定義するベンダーは、対応するデバイス固有の (独自の) API を定義して、メディアタイプのデバイスを管理する必要もあります。 異なるベンダーによって個別に割り当てられたデバイス クラス名の競合を回避するために、ベンダーはベンダーを一意に識別する名前を選択してから、メディアの種類を選択する必要があります。例: "intel/video"
サービス プロバイダーは、TAPI によって入力される dwTotalSize を除き、VARSTRING データ構造のすべてのメンバーを入力します。 サービス プロバイダーは dwTotalSize メンバーを上書きしないでください。
サービス プロバイダーに対して TAPI がこれらを処理するため、サービス プロバイダーは tapi/line および tapi/phone デバイス クラスの処理に関心を持つ必要はありません。 したがって、これらのデバイス クラスを処理するためのコードは省略可能です。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | tspi.h |