Выбор удостоверения Outlook Express с использованием кода

0

Этот код:

TComInterface<IStoreNamespace> pStore;
if (SUCCEEDED(CoCreateInstance(CLSID_StoreNamespace, NULL, CLSCTX_INPROC_SERVER, IID_IStoreNamespace, (LPVOID*)&pStore)))
    {
    if (SUCCEEDED(pStore->Initialize(Form1->Handle, 1)))
        {
        }
    }

Создает интерфейс IStoreNamespace. Но он использует стандартную идентификацию Outlook Express. Предполагается, что Initialize предлагает выбор тождеств, если второй параметр равен 1 как указано выше (если он равен 0 используется идентификатор по умолчанию).

Документация здесь (http://msdn.microsoft.com/en-us/library/ms710212%28v=vs.85%29.aspx) говорит следующее:

Если значение dwReserved равно 0, пространство имен будет инициализироваться с использованием данных, связанных с идентификатором пользователя по умолчанию. Если значение dwReserved равно 1, пользователю будет предложено выбрать идентификатор пользователя для инициализации.

Единственный способ использовать другой идентификатор - это вручную переключить его.

Можно ли программным способом выбрать идентификацию?

Теги:
outlook
interface

1 ответ

0
Лучший ответ

После некоторого изучения выясняется, что нет возможности переключить личность из моей программы. Единственное, что доступно, - это вызов IStoreNamespace::Initialize как указано выше, со вторым параметром (DWORD dwReserved), установленным на 0 который использует идентификатор по умолчанию или 1 который открывает окно Outlook Express, если идентификатор выведен из системы и требует пароль или делает ничего не показывать, если личность не требует пароля.

Таким образом, автоматическое переключение идентификаторов невозможно с помощью этого интерфейса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню