Bagikan melalui


Metode IADsContainer::D elete (iads.h)

Metode IADsContainer::D elete menghapus objek direktori tertentu dari kontainer ini.

Sintaks

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

Parameter

[in] bstrClassName

Objek kelas skema yang akan dihapus. Namanya adalah yang dikembalikan dari metode IADs::get_Class . Selain itu, NULL adalah opsi yang valid untuk parameter ini. Menyediakan NULL untuk parameter ini adalah satu-satunya cara untuk menangani kelas skema yang tidak berfungsi. Jika instans dibuat sebelum kelas menjadi tidak berfungsi, satu-satunya cara untuk menghapus instans kelas yang dicabut adalah dengan memanggil IADsContainer::D elete dan menyediakan NULL untuk parameter ini.

[in] bstrRelativeName

Nama objek seperti yang diketahui dalam direktori yang mendasar dan identik dengan nama yang diambil dengan metode IADs::get_Name .

Menampilkan nilai

Metode ini mendukung nilai pengembalian standar, termasuk S_OK untuk operasi yang berhasil. Untuk informasi selengkapnya tentang kode kesalahan, lihat Kode Kesalahan ADSI.

Keterangan

Objek yang akan dihapus harus berupa objek daun atau subkontainer tanpa anak. Untuk menghapus kontainer dan turunannya, yaitu subtree, gunakan IADsDeleteOps::D eleteObject.

Objek yang ditentukan segera dihapus setelah memanggil IADsContainer::D elete dan memanggil IADs::SetInfo pada objek kontainer tidak perlu.

Saat menggunakan metode IADsContainer::D elete untuk menghapus objek dalam aplikasi C/C++, lepaskan pointer antarmuka ke objek tersebut juga. Ini karena metode menghapus objek dari direktori yang mendasar segera, tetapi biarkan utuh setiap pointer antarmuka yang disimpan, dalam memori, oleh aplikasi, untuk objek yang dihapus. Jika tidak dirilis, kebingungan dapat terjadi karena Anda dapat memanggil IAD::Get dan IADs::P ut pada objek yang dihapus tanpa kesalahan, tetapi akan menerima kesalahan saat Anda memanggil IAD::SetInfo atau IADs::GetInfo pada objek yang dihapus.

Contoh

Contoh kode berikut menghapus objek pengguna dari kontainer di Direktori Aktif.

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

Contoh kode berikut menghapus objek pengguna dari kontainer di bawah penyedia 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

Contoh kode berikut menghapus pengguna menggunakan 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();

Persyaratan

   
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header iads.h
DLL Activeds.dll

Lihat juga

Kode Kesalahan ADSI

IADs::Get

IADs::GetInfo

IAD::P ut

IADs::SetInfo

IAD::get_Class

IADs::get_Name

IADsContainer

IADsContainer::Create

IADsDeleteOps::D eleteObject