IDirectorySearchによるサーバーの時間制限

ビジー状態のサーバーで検索を要求する場合、指定した時間制限に検索を制限するようにサーバーに要求できます。 たとえば、アプリケーションを実行して、サーバーの容量に近い状態で実行されているサーバーに関する週次レポートを生成するとします。 すべてのCPU時間を使用して他の操作が実行されないようにするには、検索の制限時間を小さい値に指定し、レポートの生成に失敗した場合は後でアプリケーションを再実行します。

サーバーによっては、独自の管理上の時間制限が適用される場合があります。 このような場合、管理上の時間制限よりも大きい検索時間制限値を指定すると、サーバーは指定を無視し、代わりに内部の時間制限値を使用します。

サーバーの時間制限の既定値は無制限です。 サーバーの時間制限を設定するには、IDirectorySearch::SetSearchPreferenceメソッドに渡されるADS_SEARCHPREF_INFO配列で、ADSTYPE_INTEGER値を使用してADS_SEARCHPREF_TIME_LIMIT検索オプションを設定します。この値には、サーバーの時間制限 (秒単位) が含まれます。 この操作を次のコード例に示します。 サーバーの時間制限が0の場合は、時間制限がないことを示します。

ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_TIME_LIMIT;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = 10;