Win32 API 日本語リファレンス
ホームNetworking.ActiveDirectory › ADS_STATUSENUM

ADS_STATUSENUM

列挙型
基底型i4

メンバー 3

名前10進16進説明
ADS_STATUS_S_OK00x0検索設定は正常に設定されました。
ADS_STATUS_INVALID_SEARCHPREF10x1ADS_SEARCHPREF_INFO 構造体の dwSearchPref メンバーに指定された検索設定が無効です。検索設定は ADS_SEARCHPREF_ENUM 列挙型の値から指定する必要があります。
ADS_STATUS_INVALID_SEARCHPREFVALUE20x2ADS_SEARCHPREF_INFO 構造体の vValue メンバーに指定された値が、対応する検索設定に対して無効です。

公式ドキュメント

ADS_STATUSENUM 列挙型は、IDirectorySearch::SetSearchPreference メソッドで設定された検索設定の状態を指定します。

解説(Remarks)

IDirectorySearch::SetSearchPreference メソッドは、対応する検索設定の状態を示すために、ADS_SEARCHPREF_INFO 構造体の dwStatus メンバーを ADS_STATUSENUM の値のいずれかに設定します。呼び出し元は、この状態の値を使用して検索を実行するかどうかを判断できます。

有効な検索設定を指定した場合でも、その設定がサポートされていないときは ADS_STATUS_INVALID_SEARCHPREF という状態値が設定されることがあります。たとえば、ADS_SEARCHPREF_SORT_ON を設定しても、通信相手のサーバーが LDAP のサーバー側並べ替えコントロールをサポートしていない場合、IDirectorySearch::SetSearchPreference の呼び出しによって ADS_SEARCHPREF_INFO 構造体の dwStatus メンバーは ADS_STATUS_INVALID_SEARCHPREF に設定されます。

注意 VBScript は型ライブラリからデータを読み取れないため、VBScript アプリケーションでは上記で定義されたシンボリック定数は認識されません。VBScript アプリケーションで適切なフラグを設定するには、代わりに数値の定数を使用してください。良いプログラミング習慣としてシンボリック定数を使用する場合は、次のコード例のように、そのような定数を明示的に宣言してください。

次のコード例は、ADS_STATUSENUM 列挙型を IDirectorySearch::SetSearchPreference メソッドと組み合わせて使用し、検索設定の状態を判断する方法を示します。

/***************************************************************************

    SetAndCheckSearchTimeout()

***************************************************************************/

HRESULT SetAndCheckSearchTimeout(IDirectorySearch *pSearch, 
                                 DWORD dwTimeout, 
                                 ADS_STATUSENUM *pStatus)
{
    if(!pSearch || !pStatus)
    {
        return E_INVALIDARG;
    }
    
    HRESULT hr;
    ADS_SEARCHPREF_INFO SearchPref;

    SearchPref.dwSearchPref = ADS_SEARCHPREF_TIMEOUT;
    SearchPref.vValue.dwType = ADSTYPE_INTEGER;
    SearchPref.vValue.Integer = dwTimeout;
    SearchPref.dwStatus = ADS_STATUS_S_OK;

    hr = pSearch->SetSearchPreference(&SearchPref, 1);
    if(S_OK != hr)
    {
        return hr;
    }

    *pStatus = SearchPref.dwStatus;
    return S_OK;
}
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum ADS_STATUSENUM : int {
    ADS_STATUS_S_OK = 0,
    ADS_STATUS_INVALID_SEARCHPREF = 1,
    ADS_STATUS_INVALID_SEARCHPREFVALUE = 2
} ADS_STATUSENUM;
public enum ADS_STATUSENUM : int
{
    ADS_STATUS_S_OK = 0,
    ADS_STATUS_INVALID_SEARCHPREF = 1,
    ADS_STATUS_INVALID_SEARCHPREFVALUE = 2,
}
Public Enum ADS_STATUSENUM As Integer
    ADS_STATUS_S_OK = 0
    ADS_STATUS_INVALID_SEARCHPREF = 1
    ADS_STATUS_INVALID_SEARCHPREFVALUE = 2
End Enum
import enum

class ADS_STATUSENUM(enum.IntEnum):
    ADS_STATUS_S_OK = 0
    ADS_STATUS_INVALID_SEARCHPREF = 1
    ADS_STATUS_INVALID_SEARCHPREFVALUE = 2
// ADS_STATUSENUM
pub const ADS_STATUS_S_OK: i32 = 0;
pub const ADS_STATUS_INVALID_SEARCHPREF: i32 = 1;
pub const ADS_STATUS_INVALID_SEARCHPREFVALUE: i32 = 2;
// ADS_STATUSENUM
const (
	ADS_STATUS_S_OK int32 = 0
	ADS_STATUS_INVALID_SEARCHPREF int32 = 1
	ADS_STATUS_INVALID_SEARCHPREFVALUE int32 = 2
)
const
  ADS_STATUS_S_OK = 0;
  ADS_STATUS_INVALID_SEARCHPREF = 1;
  ADS_STATUS_INVALID_SEARCHPREFVALUE = 2;
// ADS_STATUSENUM
pub const ADS_STATUS_S_OK: i32 = 0;
pub const ADS_STATUS_INVALID_SEARCHPREF: i32 = 1;
pub const ADS_STATUS_INVALID_SEARCHPREFVALUE: i32 = 2;
const
  ADS_STATUS_S_OK* = 0
  ADS_STATUS_INVALID_SEARCHPREF* = 1
  ADS_STATUS_INVALID_SEARCHPREFVALUE* = 2
enum ADS_STATUSENUM : int {
    ADS_STATUS_S_OK = 0,
    ADS_STATUS_INVALID_SEARCHPREF = 1,
    ADS_STATUS_INVALID_SEARCHPREFVALUE = 2,
}
#define global ADS_STATUS_S_OK                    0x0
#define global ADS_STATUS_INVALID_SEARCHPREF      0x1
#define global ADS_STATUS_INVALID_SEARCHPREFVALUE 0x2