linePark 関数 (tapi.h)
linePark 関数は、指定したパーク モードに従って、指定された呼び出しをパークします。
構文
LONG linePark(
HCALL hCall,
DWORD dwParkMode,
LPCSTR lpszDirAddress,
LPVARSTRING lpNonDirAddress
);
パラメーター
hCall
パークする呼び出しを処理します。 アプリケーションは、呼び出しの所有者である必要があります。 hCall の呼び出し状態は接続されている必要があります。
dwParkMode
コールがパークされるパーク モード。 このパラメーターには 1 つのフラグ セットのみを設定でき、 LINEPARKMODE_定数のいずれかを使用します。
lpszDirAddress
ダイレクト パークを使用するときに呼び出しをパークするアドレスを示す null で終わる文字列へのポインター。 アドレスはダイヤル可能な番号形式です。 このパラメーターは、非方向のパークでは無視されます。
lpNonDirAddress
VARSTRING 型の構造体へのポインター。 無向公園の場合、コールがパークされるアドレスがこの構造で返されます。 このパラメーターは、有向公園では無視されます。 VARSTRING 構造体内では、dwStringFormat を STRINGFORMAT_ASCII (null で終わる文字列を含む ASCII 文字列バッファー) に設定する必要があり、終了する NULL は dwStringSize で考慮する必要があります。 linePark を呼び出す前に、この構造体の dwTotalSize メンバーを設定して、TAPI が情報を返すために使用できるメモリの量を示す必要があります。
戻り値
関数が非同期的に完了した場合は正の要求識別子を返し、エラーが発生した場合は負のエラー番号を返します。 対応するLINE_REPLY メッセージの dwParam2 パラメーターは、関数が成功した場合は 0、エラーが発生した場合は負のエラー番号です。 可能な戻り値は次のとおりです。
LINEERR_INVALADDRESS、LINEERR_NOTOWNER、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONFAILED、LINEERR_INVALPARKMODE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALPOINTER、LINEERR_STRUCTURETOOSMALL、LINEERR_NOMEM、LINEERR_UNINITIALIZED。
注釈
ダイレクト パークでは、呼び出しをパークするアドレスがアプリケーションによって決定されます。 非方向のパークでは、スイッチによってアドレスが決定され、アプリケーションに提供されます。 どちらの場合も、このアドレスを指定することで、パークされた呼び出しを解除できます。
通常、パークされた呼び出しは正常にパークされた後に アイドル 状態になり、アプリケーションはそのハンドルを呼び出しに割り当て解除する必要があります。 アプリケーションがパークされた呼び出しで lineUnpark を実行する場合、アプリケーションが古い呼び出しハンドルの割り当てを解除していない場合でも、未割り当て呼び出し用に新しい呼び出しハンドルが作成されます。
一部のスイッチは、通話がしばらくの間駐車された後にユーザーに通知できます。 アプリケーションでは、呼び出しの理由がアラームに設定された オファリング 呼び出しが表示 されます。
非方向パークでは、VARSTRING 構造体の dwTotalSize メンバーがパーク アドレスを受信するのに十分な量のメモリを指定していない場合、対応する応答メッセージはLINEERR_STRUCTURETOOSMALLエラー値を返します。 このような場合、完全なパーク アドレスを取得する方法はありません。 LINEERR_STRUCTURETOOSMALLエラー値が返されると、NonDirAddress 構造体の dwNeededSize メンバーには有効な値が含まれません。 LINEERR_STRUCTURETOOSMALLエラー値が方向指定されていない linePark から受信された場合は、バッファーのサイズを大きくし、成功または別のLINEERR_XXX結果が返されるまで linePark を再度呼び出します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | tapi.h |
Library | Tapi32.lib |
[DLL] | Tapi32.dll |