IADs 속성 메서드
IADs 인터페이스의 속성 메서드는 다음 표에 설명된 속성을 얻거나 설정합니다. 속성 메서드에 대한 자세한 내용은 인터페이스 속성 메서드를 참조하세요.
속성
-
ADsPath
-
-
액세스 형식: 읽기 전용
-
스크립팅 데이터 형식: BSTR
-
// C++ method syntax HRESULT get_ADsPath( [out] BSTR* pbstrADsPath );
이 개체의 ADsPath 문자열입니다. 문자열은 네트워크 환경에서 이 개체를 고유하게 식별합니다. 개체는 항상 이 경로를 사용하여 검색할 수 있습니다.
-
-
클래스
-
-
액세스 형식: 읽기 전용
-
스크립팅 데이터 형식: BSTR
-
// C++ method syntax HRESULT get_Class( [out] BSTR* pbstrClass );
개체 스키마 클래스의 이름입니다.
-
-
GUID
-
-
액세스 형식: 읽기 전용
-
스크립팅 데이터 형식: BSTR
-
// C++ method syntax HRESULT get_GUID( [out] BSTR* pbstrGUID );
디렉터리 개체의 전역적으로 고유한 식별자입니다. IADs 인터페이스는 디렉터리 서버에 저장된 옥텟 문자열에서 문자열 형식으로 GUID를 변환합니다.
-
-
이름
-
-
액세스 형식: 읽기 전용
-
스크립팅 데이터 형식: BSTR
-
// C++ method syntax HRESULT get_Name( [out] BSTR* pbstrName );
기본 디렉터리 서비스 내에서 명명된 개체의 상대 이름입니다. 이 이름은 이 개체와 형제를 구분합니다.
-
-
부모
-
-
액세스 형식: 읽기 전용
-
스크립팅 데이터 형식: BSTR
-
// C++ method syntax HRESULT get_Parent( [out] BSTR* pbstrParent );
부모 컨테이너의 ADsPath 문자열입니다. Active Directory는 Parent 및 Name 속성을 연결하여 지정된 개체의 ADsPath 형성을 허용하지 않습니다. 이 작업은 일부 공급자에서 작동할 수 있지만 모든 구현에 대해 작동하도록 보장되지는 않습니다. ADsPath는 유효하며 항상 개체의 인터페이스 포인터를 검색하는 데 사용해야 합니다.
-
-
스키마
-
-
액세스 형식: 읽기 전용
-
스크립팅 데이터 형식: BSTR
-
// C++ method syntax HRESULT get_Schema( [out] BSTR* pbstrSchema );
이 개체의 스키마 클래스 개체의 ADsPath 문자열입니다.
-
설명
Active Directory에서 GUID에서 반환된 GUID 는 16진수 문자열입니다. 결과 GUID 를 사용하여 개체에 직접 바인딩합니다.
Dim x As IADs
Set x = GetObject("LDAP://servername/<GUID=xxx>")
여기서 xxx는 GUID 속성에서 반환되는 값입니다. 자세한 내용은 objectGUID를 사용하여 개체에 바인딩을 참조하세요. GUID를 사용하여 개체에 바인딩하는 경우 ADsPath 속성 메서드는 DN(고유 이름)을 사용하여 동일한 개체에 바인딩하는 경우 반환되는 일반 값과 다른 값을 반환합니다. 예를 들어 다음 표에는 두 개의 다른 바인딩 메서드를 사용하여 동일한 사용자 개체에 바인딩할 때 반환되는 값이 나열되어 있습니다.
DN을 사용하여 바인딩 | GUID를 사용하여 바인딩 | |
---|---|---|
이름 | CN=Jeff Smith | CN=Jeff Smith |
부모 | LDAP://server/CN=Users,DC=Fabrikam,DC=com | LDAP://server/CN=Users,DC=Fabrikam,DC=com |
ADsPath | LDAP://server/CN=Jeff Smith,CN=Users,DC=Fabrikam,DC=com | <LDAP://server/ GUID=c0f59dfcf507d311a99e0000f879f7c7> |
참고
WinNT 공급자는 개체 GUID를 사용하는 바인딩을 지원하지 않으며 GUID 속성을 약간 다른 문자열 형식으로 반환합니다.
예제
다음 코드 예제에서는 IADs 인터페이스의 속성 메서드를 사용하여 개체 데이터를 검색하는 방법을 보여 줍니다.
Dim x As IADs
Dim parent As IADsContainer
Dim cls As IADsClass
Dim op As Variant
On Error GoTo Cleanup
Set x = GetObject("WinNT://Fabrikam/Administrator")
Debug.Print "Object Name: " & x.Name
Debug.Print "Object Path: " & x.ADsPath
Debug.Print "Object Class: " & x.Class
' Get more data about the object schema.
Set cls = GetObject(x.Schema)
Debug.Print "Class Name is: " & cls.Name
For Each op In cls.OptionalProperties
Debug.Print "Optional Property: " & op
Next op
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set x = Nothing
Set parent = Nothing
Set cls = Nothing
다음 코드 예제에서는 IADs 인터페이스의 속성 메서드를 사용하여 개체 데이터를 검색하는 방법을 보여 줍니다.
<HTML>
<head><title></title></head>
<body>
<%
Dim x
On Error Resume Next
Set x = GetObject("WinNT://Fabrikam/Administrator")
Response.Write "Object Name: " & x.Name & "<br>"
Response.Write "Object Path: " & x.ADsPath & "<br>"
Response.Write "Object Class: " & x.Class & "<br>"
' Get more data about the object schema.
Set cls = GetObject(x.Schema)
Response.Write "Class Name is: " & cls.Name & "<br>"
For Each op In cls.OptionalProperties
Response.Write "Optional Property: " & op & "<br>"
Next op
%>
</body>
</html>
다음 코드 예제에서는 IADs 인터페이스의 속성 메서드를 사용하는 방법을 보여 줍니다.
#include <stdio.h>
#include <activeds.h>
int main(int argc, char* argv[])
{
IADs *pADs = NULL;
IADsUser *pADsUser = NULL;
IADsClass *pCls = NULL;
CComBSTR sbstr;
HRESULT hr = CoInitialize(NULL);
if (hr != S_OK) { return 0; }
hr=ADsGetObject(L"WinNT://Fabrikam/Administrator",
IID_IADsUser,
(void**) &pADsUser);
if (hr != S_OK) { goto Cleanup; }
hr = pADsUser->QueryInterface(IID_IADs, (void**) &pADs);
if( hr !=S_OK) { goto Cleanup;}
pADsUser->Release();
if( S_OK == pADs->get_Name(&sbstr) ) {
printf("Object Name: %S\n",sbstr);
}
if( S_OK == pADs->get_ADsPath(&sbstr) ) {
printf("Object path: %S\n",sbstr);
}
if( S_OK == pADs->get_Class(&sbstr) ) {
printf("Object class: %S\n",sbstr);
}
hr = pADs->get_Schema(&sbstr);
if ( hr != S_OK) {goto Cleanup;}
hr = ADsGetObject(sbstr,IID_IADsClass, (void**)&pCls);
if ( hr != S_OK) {goto Cleanup;}
if( S_OK == pCls->get_Name(&sbstr) ) {
printf("Class name is %S\n", sbstr);
}
Cleanup:
if(pADs)
pADs->Release();
if(pIADsUser)
pADsUser->Release();
if(IADsClass)
pADsClass->Release();
CoUninitialize();
if(hr==S_OK)
{
return 1;
}
else
{
return 0;
}
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista |
지원되는 최소 서버 |
Windows Server 2008 |
헤더 |
|
DLL |
|
IID |
IID_IADs FD8256D0-FD15-11CE-ABC4-02608C9E7553으로 정의됩니다. |