次の方法で共有


IADsPropertyList::P urgePropertyList メソッド (iads.h)

IADsPropertyList::P urgePropertyList メソッドは、プロパティ リストからすべてのアイテムを削除します。

構文

HRESULT PurgePropertyList();

戻り値

このメソッドは、S_OKを含む標準の HRESULT 戻り値をサポートしています。 詳細およびその他の戻り値については、「 ADSI エラー コード」を参照してください。

解説

PurgePropertyList メソッドが呼び出されると、すべての項目がキャッシュから削除されます。 したがって、 その後に GetPropertyItem を 呼び出すと、エラーが発生します。 PurgePropertyList はキャッシュの内容にのみ影響し、ディレクトリ内の実際のオブジェクトのプロパティには影響しないことに注意してください。つまり、PurgePropertyList を呼び出した後に SetInfo を呼び出しても、ディレクトリ オブジェクトのプロパティは削除されません。

次のコード例は、 IADsPropertyList::P urgePropertyList を実装する方法を示しています。

Dim propList As IADsPropertyList
 
On Error GoTo Cleanup

Set propList = GetObject("LDAP://dc03/DC=Fabrikam,DC=com")
propList.GetInfo
 
propList.PurgePropertyList
 
'- None of GetPropertyItem should work, because the list is purged.
'- The following line should generate error.
Set propEntry = propList.GetPropertyItem("adminDescription", ADSTYPE_CASE_IGNORE_STRING)

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

    Set propList = Nothing

次のコード例は、 IADsPropertyList::P urgePropertyList の呼び出しによって生成される効果を示しています。 GetPropertyCache 関数とコード例の詳細については、「IADsPropertyList」を参照してください。

IADsPropertyList *GetPropertyCache(LPWSTR);
 
void TestPurgePropertyList()
{
    IADsPropertyList *pList;
    pList=GetPropertyCache(L"WinNT://myComputer,computer");
 
    long count;

    if(pList)
    {
        pList->get_PropertyCount(&count);
        printf("Number of properties before purging: %d\n",count);
 
        count = -1;
        pList->PurgePropertyList();
        pList->get_PropertyCount(&count);
        printf("Number of properties after purging: %d\n",count);
    }
}

要件

   
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー iads.h
[DLL] Activeds.dll

関連項目

ADSI エラー コード

IADsPropertyList

IADsPropertyList プロパティ メソッド

IADsPropertyList::GetPropertyItem