RpcMgmtSetComTimeout 関数 (rpcdce.h)
RpcMgmtSetComTimeout 関数は、バインド ハンドルのバインディング通信タイムアウト値を設定します。
構文
RPC_STATUS RpcMgmtSetComTimeout(
RPC_BINDING_HANDLE Binding,
unsigned int Timeout
);
パラメーター
Binding
タイムアウト値が設定されているサーバー バインド ハンドル。
Timeout
0 から 10 までの通信タイムアウト値。 これらの値は秒ではありません。これらは、0 から 10 のスケールで相対的な時間を表します。
戻り値
値 | 説明 |
---|---|
|
呼び出しは成功しました。 |
|
バインド ハンドルが無効でした。 |
|
タイムアウト値が無効です。 |
|
これは、操作の間違った種類のバインドでした。 |
解説
Windows XP および Windows 2000 では、バインド中に RPC ランタイムは、15 分の呼び出しタイムアウトの短い方を使用し、 RpcMgmtSetComTimeout 関数を使用して設定されたタイムアウトを使用します。 バインドに続く交換では、RPC ランタイムは RpcMgmtSetComTimeout 関数を使用する際に設定されたタイムアウトのみを使用します。 このオプションは、 ncalrpc および ncadg_* プロトコル シーケンスでは無視されます。
クライアント アプリケーションは RpcMgmtSetComTimeout を呼び出して、サーバー バインド ハンドルの通信タイムアウト値を変更します。 指定されたバインディング ハンドルのプロトコル シーケンスに応じて、タイムアウト値は RPC ランタイム ライブラリのヒントとしてのみ機能します。 各プロトコル シーケンスは、この設定を異なる方法で解釈します。 ncacn_ip_tcpの場合、値はすべての呼び出しでキープアライブを有効にするために使用されます。 たとえば、 ncacn_ip_tcpの 場合、タイムアウト を 0 に設定すると、応答が 60 秒で受信されない場合にキープアライブを有効にするように RPC に指示されます (60 秒の間隔は実装固有であり、変更される可能性があります)。 この状況では、クライアント呼び出しは、サーバーが実行されている限りタイムアウトしません。ただし、サーバーが失敗した場合、または IP アドレスが失われると、RPC は呼び出しに失敗します。 TCP タイムアウト ヒントは、接続の確立中、および要求/応答交換中に使用されます。
Windows XP では、サーバーが応答すると、特定の接続のキープアライブがオフになります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | rpcdce.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |