Поделиться через


Метод IAttachmentExecute::Execute (shobjidl_core.h)

Выполняет действие для вложения.

Синтаксис

HRESULT Execute(
  [in]            HWND    hwnd,
  [in, optional]  LPCWSTR pszVerb,
  [out, optional] HANDLE  *phProcess
);

Параметры

[in] hwnd

Тип: HWND

Дескриптор родительского окна.

[in, optional] pszVerb

Тип: LPCWSTR

Указатель на строку, завершающуюся значением NULL, которая содержит команду, указывающую действие, выполняемое с файлом. Сведения о допустимых строках см. в параметре lpOperation в ShellExecute . Это значение может иметь значение NULL.

[out, optional] phProcess

Тип: HANDLE*

Указатель на дескриптор исходного процесса, используемый для синхронной операции. Это значение может иметь значение NULL.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Перед вызовом IAttachmentExecute::Execute необходимо вызвать IAttachmentExecute::SetLocalPath с допустимым локальным путем и скопировать файл в это расположение.

Если указан запрос, IAttachmentExecute::Execute вызывает IAttachmentExecute::P rompt , используя значение ATTACHMENT_ACTION_EXEC .

IAttachmentExecute::Execute может запускать сканеры вирусов или другие доверенные службы для проверки файла перед его выполнением. Обратите внимание, что эти службы могут удалять или изменять файл.

IAttachmentExecute::Execute может прикрепить свидетельство к локальному пути в альтернативном потоке данных NTFS (ADS).

Если phProcess не имеет значение NULL, IAttachmentExecute::Execute работает как синхронный процесс и возвращает HPROCESS, если он доступен. Если phProcess имеет значение NULL, IAttachmentExecute::Execute работает как асинхронный процесс. Это означает, что вызывающее приложение имеет насос сообщений и окно с длительным сроком существования.

Если дескриптор, на который указывает phProcess , не имеет значения NULL при возврате метода, вызывающее приложение отвечает за вызов CloseHandle , чтобы освободить дескриптор, когда он больше не нужен.

Требования

Требование Значение
Минимальная версия клиента Windows XP с пакетом обновления 2 (SP2) [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)
DLL Shdocvw.dll (версия 6.0 или более поздняя)