IADsContainer::D elete メソッド (iads.h)
IADsContainer::D elete メソッドは、指定したディレクトリ オブジェクトをこのコンテナーから削除します。
構文
HRESULT Delete(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName
);
パラメーター
[in] bstrClassName
削除するスキーマ クラス オブジェクト。 名前は、 IADs::get_Class メソッドから返されます。 また、 NULL は、このパラメーターの有効なオプションです。 このパラメーターに NULL を 指定することは、機能していないスキーマ クラスを処理する唯一の方法です。 クラスが機能しなくなった前にインスタンスが作成された場合、機能しないクラスのインスタンスを削除する唯一の方法は、 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::Get と IADs::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 |
関連項目
IADs::get_Name