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