ホーム › Networking.ActiveDirectory › ADS_SYSTEMFLAG_ENUM
ADS_SYSTEMFLAG_ENUM
列挙型メンバー 10
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| ADS_SYSTEMFLAG_DISALLOW_DELETE | -2147483648 | 0x80000000 | 削除できないオブジェクトであることを示します。 |
| ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME | 1073741824 | 0x40000000 | 構成パーティション内のオブジェクトの場合、このフラグが設定されていると、そのオブジェクトの名前を変更できます。設定されていない場合は名前を変更できません。既定では、構成パーティションの下に作成される新しいオブジェクトにこのフラグは設定されず、このフラグを設定できるのはオブジェクトの作成時のみです。 |
| ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE | 536870912 | 0x20000000 | 構成パーティション内のオブジェクトの場合、このフラグが設定されていると、そのオブジェクトを移動できます。設定されていない場合は移動できません。既定では、構成パーティションの下に作成される新しいオブジェクトにこのフラグは設定されず、このフラグを設定できるのはオブジェクトの作成時のみです。 |
| ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE | 268435456 | 0x10000000 | 構成パーティション内のオブジェクトの場合、このフラグが設定されていると、そのオブジェクトを制限付きで移動できます。設定されていない場合は移動できません。既定では、構成パーティションの下に作成される新しいオブジェクトにこのフラグは設定されず、このフラグを設定できるのはオブジェクトの作成時のみです。 |
| ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME | 134217728 | 0x8000000 | 名前を変更できないドメイン オブジェクトであることを示します。 |
| ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE | 67108864 | 0x4000000 | 移動できないドメイン オブジェクトであることを示します。 |
| ADS_SYSTEMFLAG_CR_NTDS_NC | 1 | 0x1 | 名前付けコンテキストが NTDS 内にあります。 |
| ADS_SYSTEMFLAG_CR_NTDS_DOMAIN | 2 | 0x2 | 名前付けコンテキストがドメインです。 |
| ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED | 1 | 0x1 | このフラグが attributeSchema オブジェクトの systemFlags 属性に設定されている場合、その属性はレプリケートされません。 |
| ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED | 4 | 0x4 | このフラグが 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)
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 Enumimport 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* = 4enum 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