Interface 속성 메서드

많은 ADSI 인터페이스는 자동화를 지원하도록 설계되어 IUnknownIDispatch 인터페이스를 통해 클라이언트 액세스를 지원한다는 측면에서 이중 인터페이스입니다. 비 자동화 클라이언트(예: C/C++로 작성된 클라이언트)는 IUnknown::QueryInterface 메서드를 사용하여 메서드 호출을 직접 resolve 메서드를 직접 호출합니다. Visual Basic 또는 VBScript(Visual Basic Scripting Edition)로 작성된 클라이언트와 같이 이름 바인딩된 클라이언트라고도 하는 자동화 클라이언트는 dispinterface 메서드를 사용하여 간접적으로 메서드 호출을 resolve 합니다.

Automation을 지원하는 ADSI 인터페이스는 인터페이스를 구현하는 개체의 속성을 검색하고 수정하기 위한 속성 메서드를 정의합니다. 속성 메서드에는 적절한 속성 이름 앞에 get_ 및 put_이 추가된 이름이 있습니다(예: get_Userput_Name).

get_ 메서드는 단일 매개 변수를 출력으로 사용합니다. 이 매개 변수는 속성 데이터 형식의 변수에 대한 메서드 할당 주소입니다. 반환 시 이 변수는 요청된 속성의 현재 값을 가정합니다. 호출자는 속성이 더 이상 필요하지 않은 경우 변수의 할당된 메모리를 해제해야 합니다.

put_ 메서드는 해당 속성의 데이터 형식에 대한 입력으로 단일 매개 변수를 사용합니다. 매개 변수는 속성의 새 값을 보유합니다.

다음 코드 예제에서는 호출을 보여 줍니다는 속성 메서드를 호출 하는 일반적인 프로시저를 호출 하는 개체의 멤버 함수입니다.

IADs *pADs;
BSTR bstrName;
pADs->get_Name(&bstrName);

다음 코드 예제에서는 약간 다를 수 있는 자동화 클라이언트에서 속성 메서드의 호출을 보여 줍니다. 예를 들어 Visual Basic은 점 표기법을 사용합니다.

Dim Obj As IADs
Dim objName As String
objName = Obj.Name

모든 매개 변수 및 반환 형식은 VARIANT 데이터 형식이 정의하는 매개 변수여야 합니다. 이중 인터페이스의 모든 메서드는 성공 또는 실패를 나타내는 HRESULT 값을 반환합니다.

ADSI 개체에서 속성을 가져오고 설정하는 방법에 대한 자세한 내용은 속성 캐시를 참조하세요.