Partager via


IOlkAccountManager::EnumerateAccounts

Gets an enumerator for the accounts of the specific category or type.

Quick Info

See IOlkAccountManager.

HRESULT IOlkAccountManager::EnumerateAccounts (  
    const CLSID *pclsidCategory, 
    const CLSID *pclsidType, 
    DWORD dwFlags, 
    IOlkEnum **ppEnum 
);

Parameters

  • pclsidCategory
    [in] The class identifier of the category to enumerate. The value must be one of the following:

    • CLSID_OlkMail

    • CLSID_OlkAddressBook

    • CLSID_OlkStore

  • pclsidType
    [in] The class identifier of the account type to enumerate. The value must be one of the following:

    • CLSID_OlkPOP3Account

    • CLSID_OlkIMAP4Account

    • CLSID_OlkMAPIAccount

    • CLSID_OlkHotmailAccount

    • CLSID_OlkLDAPAccount

  • dwFlags
    [in] Flags to modify behavior. The only supported value is OLK_ACCOUNT_NO_FLAGS.
  • ppEnum
    [out] An enumerator that supports the IOlkEnum interface.

Return Values

HRESULT Description

S_OK

The call succeeded.

E_OLK_NOT_INITIALIZED

The account manager has not been initialized for use.

Remarks

Specifying NULL for category returns an enumerator of all accounts of the specified type. Similarly, specifying NULL for type returns an enumerator of all accounts of the specified category.

IOlkAccountManager::EnumerateAccounts does not support the address book category for an Exchange account. If the account is an Exchange account (pclsidType is CLSID_OlkMAPIAccount), and you are trying to enumerate accounts that implement the address book (prgclsidCategory is CLSID_OlkAddressBook), calling IOlkAccountManager::EnumerateAccounts will not return the Exchange account in the accounts enumerator ppEnum.

See also

Constants (Account Management API)
IOlkEnum