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

ADS_SYSTEMFLAG_ENUM

列挙型
基底型i4

メンバー 10

名前10進16進説明
ADS_SYSTEMFLAG_DISALLOW_DELETE-21474836480x80000000削除できないオブジェクトであることを示します。
ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME10737418240x40000000構成パーティション内のオブジェクトの場合、このフラグが設定されていると、そのオブジェクトの名前を変更できます。設定されていない場合は名前を変更できません。既定では、構成パーティションの下に作成される新しいオブジェクトにこのフラグは設定されず、このフラグを設定できるのはオブジェクトの作成時のみです。
ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE5368709120x20000000構成パーティション内のオブジェクトの場合、このフラグが設定されていると、そのオブジェクトを移動できます。設定されていない場合は移動できません。既定では、構成パーティションの下に作成される新しいオブジェクトにこのフラグは設定されず、このフラグを設定できるのはオブジェクトの作成時のみです。
ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE2684354560x10000000構成パーティション内のオブジェクトの場合、このフラグが設定されていると、そのオブジェクトを制限付きで移動できます。設定されていない場合は移動できません。既定では、構成パーティションの下に作成される新しいオブジェクトにこのフラグは設定されず、このフラグを設定できるのはオブジェクトの作成時のみです。
ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME1342177280x8000000名前を変更できないドメイン オブジェクトであることを示します。
ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE671088640x4000000移動できないドメイン オブジェクトであることを示します。
ADS_SYSTEMFLAG_CR_NTDS_NC10x1名前付けコンテキストが NTDS 内にあります。
ADS_SYSTEMFLAG_CR_NTDS_DOMAIN20x2名前付けコンテキストがドメインです。
ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED10x1このフラグが attributeSchema オブジェクトの systemFlags 属性に設定されている場合、その属性はレプリケートされません。
ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED40x4このフラグが attributeSchema オブジェクトの systemFlags 属性に設定されている場合、その属性は構築されたプロパティ (constructed property) です。

公式ドキュメント

ADS_SYSTEMFLAG_ENUM 列挙型は、systemFlags 属性に割り当てることができる値の一部を定義します。列挙型の値には attributeSchema オブジェクト専用のものもあれば、任意のクラスのオブジェクトに設定できるものもあります。

解説(Remarks)

classSchema オブジェクトおよび attributeSchema オブジェクトの場合、systemFlags 属性の 0x10 ビットは、そのオブジェクトが Active Directory に含まれる基本スキーマの一部であることを示します。このビットは、新しい classSchema オブジェクトや attributeSchema オブジェクトには設定できません。ADS_SYSTEMFLAG_ENUM 列挙型には、このビットに対応する定数は含まれていません。

Note VBScript はタイプ ライブラリからデータを読み取れないため、VBScript アプリケーションでは上記で定義したシンボル定数を認識できません。VBScript アプリケーションで適切なフラグを設定するには、代わりに数値定数を使用してください。優れたプログラミング手法としてシンボル定数を使用する場合は、ここに示すように、VBScript アプリケーション内でそれらの定数を明示的に宣言してください。

次のコード例は、ADS_SYSTEMFLAG_ENUM 列挙型の要素を IDirectorySearch インターフェイスと組み合わせて、レプリケートされないプロパティを検索する方法を示します。

#include <wchar.h>
#include <activeds.h>
#include <atlbase.h>
 
HRESULT hr = E_FAIL;
LPWSTR szPrefix = L"LDAP://%s";
LPWSTR szPath = NULL;
IDirectorySearch *pSchemaNC = NULL;
IADs *pObject = NULL;
size_t nLength = 0;
LPWSTR pszSearchFilterTemplate = L"(&(objectCategory=attributeSchema)(systemFlags:1.2.840.113556.1.4.804:=%d))";
LPWSTR pszSearchFilter = NULL;
 
CoInitialize(NULL);     // Initialize COM

// Get rootDSE and the schema container distinguished name.
// Bind to current user's domain using current user's security context.
hr = ADsOpenObject(L"LDAP://rootDSE",
                NULL,
                NULL,
                ADS_SECURE_AUTHENTICATION, // Use Secure Authentication.
                IID_IADs,
                (void**)&pObject);
if (SUCCEEDED(hr))
{
    CComVarinat svar;
    hr = pObject->Get(CComBSTR("schemaNamingContext"), &svar);
    if (SUCCEEDED(hr))
    {
        nLength = wcslen(szPrefix) + wcslen(svar.bstrVal) + 1;
        szPath = new WCHAR[nLength];
        swprintf_s(szPath, szPrefix, svar.bstrVal);

        hr = ADsOpenObject(szPath,
            NULL,
            NULL,
            ADS_SECURE_AUTHENTICATION, 
            IID_IDirectorySearch,
            (void**)&pSchemaNC);

        delete [] szPath;

        if (SUCCEEDED(hr))
        {
            wprintf(L"Find non-replicated attributes\n");
 
            // Create search filter to find attributes with systemFlags that 
            // match ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED
            nLength = wcslen(pszSearchFilterTemplate) + 25 + 1;
            pszSearchFilter = new WCHAR[nLength];
            swprintf_s(pszSearchFilter, pszSearchFilterTemplate, ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED);
     
            // Attributes are one-level deep in the schema container 
            // so only need to search one level.
            ADS_SEARCHPREF_INFO SearchPrefs;
            SearchPrefs.dwSearchPref = ADS_SEARCHPREF_SEARCH_SCOPE;
            SearchPrefs.vValue.dwType = ADSTYPE_INTEGER;
            SearchPrefs.vValue.Integer = ADS_SCOPE_ONELEVEL;
            DWORD dwNumPrefs = 1;
     
            // COL for iterations.
            ADS_SEARCH_COLUMN    col;
     
            // Handle used for searching.
            ADS_SEARCH_HANDLE hSearch;
     
            IADs    *pObj = NULL;
            IADs    * pIADs = NULL;
 
            // Set the search preference.
            hr = pSchemaNC->SetSearchPreference( &SearchPrefs, dwNumPrefs);
            if (FAILED(hr)) 
            {
                return hr;
            }
 
            CONST DWORD dwAttrNameSize = 1;
            LPOLESTR pszAttribute[dwAttrNameSize];
            pszAttribute[0] = L"cn";

            // Execute the search.
            hr = pSchemaNC->ExecuteSearch(pszSearchFilter,
                                          pszAttribute,
                                          dwAttrNameSize,
                                          &hSearch );

            delete [] pszSearchFilter;
            if ( SUCCEEDED(hr) ) 
            { 
                // Call IDirectorySearch::GetNextRow() to retrieve 
                // the next row of data.
                while( pSchemaNC->GetNextRow( hSearch) != S_ADS_NOMORE_ROWS) 
                {
                    // Loop through the array of passed column names,
                    // print the data for each column.
                    for (DWORD x = 0; x < dwAttrNameSize; x++) 
                    {
                        // Get the data for this column.
                        hr = pSchemaNC->GetColumn( hSearch, 
                                           pszAttribute[x], 
                                           &col );
                        if ( SUCCEEDED(hr) ) 
                        {
                            // Print the data for the column and 
                            // free the column.
                            if (col.dwADsType == ADSTYPE_CASE_IGNORE_STRING)
                            {
                                wprintf(L"%s: %s\r\n", 
                                pszAttribute[x], 
                                col.pADsValues->CaseIgnoreString); 
                            }
                            else
                            {
                                wprintf(L"<%s property is not a string>", pszAttribute[x]);
                            }

                            pSchemaNC->FreeColumn( &col );
                        }
                    }
                }

                // Close the search handle to clean up.
                pSchemaNC->CloseSearchHandle(hSearch);
            } 
        }
    } 

    pObject->Release();
}

CoUninitialize();    // uninitialize COM.
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_SYSTEMFLAG_ENUM : int {
    ADS_SYSTEMFLAG_DISALLOW_DELETE = -2147483648,
    ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = 1073741824,
    ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = 536870912,
    ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = 268435456,
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = 134217728,
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = 67108864,
    ADS_SYSTEMFLAG_CR_NTDS_NC = 1,
    ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = 2,
    ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = 1,
    ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = 4
} ADS_SYSTEMFLAG_ENUM;
public enum ADS_SYSTEMFLAG_ENUM : int
{
    ADS_SYSTEMFLAG_DISALLOW_DELETE = -2147483648,
    ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = 1073741824,
    ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = 536870912,
    ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = 268435456,
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = 134217728,
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = 67108864,
    ADS_SYSTEMFLAG_CR_NTDS_NC = 1,
    ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = 2,
    ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = 1,
    ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = 4,
}
Public Enum ADS_SYSTEMFLAG_ENUM As Integer
    ADS_SYSTEMFLAG_DISALLOW_DELETE = -2147483648
    ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = 1073741824
    ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = 536870912
    ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = 268435456
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = 134217728
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = 67108864
    ADS_SYSTEMFLAG_CR_NTDS_NC = 1
    ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = 2
    ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = 1
    ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = 4
End Enum
import enum

class ADS_SYSTEMFLAG_ENUM(enum.IntEnum):
    ADS_SYSTEMFLAG_DISALLOW_DELETE = -2147483648
    ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = 1073741824
    ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = 536870912
    ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = 268435456
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = 134217728
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = 67108864
    ADS_SYSTEMFLAG_CR_NTDS_NC = 1
    ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = 2
    ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = 1
    ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = 4
// ADS_SYSTEMFLAG_ENUM
pub const ADS_SYSTEMFLAG_DISALLOW_DELETE: i32 = -2147483648;
pub const ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME: i32 = 1073741824;
pub const ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE: i32 = 536870912;
pub const ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE: i32 = 268435456;
pub const ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME: i32 = 134217728;
pub const ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE: i32 = 67108864;
pub const ADS_SYSTEMFLAG_CR_NTDS_NC: i32 = 1;
pub const ADS_SYSTEMFLAG_CR_NTDS_DOMAIN: i32 = 2;
pub const ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED: i32 = 1;
pub const ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED: i32 = 4;
// ADS_SYSTEMFLAG_ENUM
const (
	ADS_SYSTEMFLAG_DISALLOW_DELETE int32 = -2147483648
	ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME int32 = 1073741824
	ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE int32 = 536870912
	ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE int32 = 268435456
	ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME int32 = 134217728
	ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE int32 = 67108864
	ADS_SYSTEMFLAG_CR_NTDS_NC int32 = 1
	ADS_SYSTEMFLAG_CR_NTDS_DOMAIN int32 = 2
	ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED int32 = 1
	ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED int32 = 4
)
const
  ADS_SYSTEMFLAG_DISALLOW_DELETE = -2147483648;
  ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = 1073741824;
  ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = 536870912;
  ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = 268435456;
  ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = 134217728;
  ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = 67108864;
  ADS_SYSTEMFLAG_CR_NTDS_NC = 1;
  ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = 2;
  ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = 1;
  ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = 4;
// ADS_SYSTEMFLAG_ENUM
pub const ADS_SYSTEMFLAG_DISALLOW_DELETE: i32 = -2147483648;
pub const ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME: i32 = 1073741824;
pub const ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE: i32 = 536870912;
pub const ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE: i32 = 268435456;
pub const ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME: i32 = 134217728;
pub const ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE: i32 = 67108864;
pub const ADS_SYSTEMFLAG_CR_NTDS_NC: i32 = 1;
pub const ADS_SYSTEMFLAG_CR_NTDS_DOMAIN: i32 = 2;
pub const ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED: i32 = 1;
pub const ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED: i32 = 4;
const
  ADS_SYSTEMFLAG_DISALLOW_DELETE* = -2147483648
  ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME* = 1073741824
  ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE* = 536870912
  ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE* = 268435456
  ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME* = 134217728
  ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE* = 67108864
  ADS_SYSTEMFLAG_CR_NTDS_NC* = 1
  ADS_SYSTEMFLAG_CR_NTDS_DOMAIN* = 2
  ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED* = 1
  ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED* = 4
enum ADS_SYSTEMFLAG_ENUM : int {
    ADS_SYSTEMFLAG_DISALLOW_DELETE = -2147483648,
    ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = 1073741824,
    ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = 536870912,
    ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = 268435456,
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = 134217728,
    ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = 67108864,
    ADS_SYSTEMFLAG_CR_NTDS_NC = 1,
    ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = 2,
    ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = 1,
    ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = 4,
}
#define global ADS_SYSTEMFLAG_DISALLOW_DELETE           0x80000000
#define global ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME       0x40000000
#define global ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE         0x20000000
#define global ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE 0x10000000
#define global ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME    0x8000000
#define global ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE      0x4000000
#define global ADS_SYSTEMFLAG_CR_NTDS_NC                0x1
#define global ADS_SYSTEMFLAG_CR_NTDS_DOMAIN            0x2
#define global ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED       0x1
#define global ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED       0x4