다음을 통해 공유


IADsContainer::D elete 메서드(iads.h)

IADsContainer::D elete 메서드는 이 컨테이너에서 지정된 디렉터리 개체를 삭제합니다.

구문

HRESULT Delete(
  [in] BSTR bstrClassName,
  [in] BSTR bstrRelativeName
);

매개 변수

[in] bstrClassName

삭제할 스키마 클래스 개체입니다. 이름은 IADs::get_Class 메서드에서 반환됩니다. 또한 NULL 은 이 매개 변수에 유효한 옵션입니다. 이 매개 변수에 NULL 을 제공하는 것은 소멸된 스키마 클래스를 처리하는 유일한 방법입니다. 클래스가 소멸되기 전에 instance 만든 경우 소멸 클래스의 instance 삭제하는 유일한 방법은 IADsContainer::D elete를 호출하고 이 매개 변수에 대해 NULL을 제공하는 것입니다.

[in] bstrRelativeName

기본 디렉터리에서 알려진 개체의 이름이며 IADs::get_Name 메서드를 사용하여 검색된 이름과 동일합니다.

반환 값

이 메서드는 성공적인 작업에 대한 S_OK 포함하여 표준 반환 값을 지원합니다. 오류 코드에 대한 자세한 내용은 ADSI 오류 코드를 참조하세요.

설명

삭제할 개체는 리프 개체이거나 자식이 없는 하위 컨테이너여야 합니다. 컨테이너 및 해당 자식, 즉 하위 트리를 삭제하려면 IADsDeleteOps::D eleteObject를 사용합니다.

지정된 개체는 IADsContainer::D elete 를 호출하고 컨테이너 개체에서 IADs::SetInfo 를 호출할 필요가 없으면 즉시 제거됩니다.

IADsContainer::D elete 메서드를 사용하여 C/C++ 애플리케이션에서 개체를 삭제하는 경우 해당 개체에 대한 인터페이스 포인터도 해제합니다. 이는 메서드가 기본 디렉터리에서 개체를 즉시 제거하지만 삭제된 개체에 대해 메모리, 애플리케이션에서 보유한 모든 인터페이스 포인터를 그대로 두기 때문입니다. 해제되지 않은 경우 삭제된 개체에서 IADs::GetIADs::P ut을 호출할 수 있지만 삭제된 개체에서 IADs::SetInfo 또는 IADs::GetInfo를 호출할 때 오류가 발생할 수 있습니다.

예제

다음 코드 예제에서는 Active Directory의 컨테이너에서 사용자 개체를 삭제합니다.

Dim cont as IADsContainer
On Error GoTo Cleanup

Set cont = GetObject("LDAP://OU=Sales,DC=Fabrikam,DC=com")
cont.Delete "user", "CN=JeffSmith"

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set cont = Nothing

다음 코드 예제에서는 WinNT 공급자 아래 컨테이너에서 사용자 개체를 삭제합니다.

Dim cont as IADsContainer
On Error GoTo Cleanup

Set cont = GetObject("WinNT://Fabrikam")
cont.Delete "user", "jeffsmith"

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set cont = Nothing

다음 코드 예제에서는 IADsContainer::D elete를 사용하여 사용자를 삭제합니다.

HRESULT hr = S_OK;
IADsContainer *pCont=NULL;
 
CoInitialize(NULL);
 
hr = ADsGetObject(L"WinNT://myMachine", 
                  IID_IADsContainer, 
                  (void**) &pCont);
if ( !SUCCEEDED(hr) )
{
     return hr;
}
 
hr = pCont->Delete(CComBSTR("user"), CComBSTR("JeffSmith"));
pCont->Release();

요구 사항

   
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 iads.h
DLL Activeds.dll

참고 항목

ADSI 오류 코드

IADs::Get

IADs::GetInfo

IADs::P ut

IADs::SetInfo

IADs::get_Class

IADs::get_Name

IADsContainer

IADsContainer::Create

IADsDeleteOps::D eleteObject