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


Метод IContextMenu::GetCommandString (shobjidl_core.h)

Возвращает сведения о команде контекстного меню, включая строку справки и независимое от языка или каноническое имя команды.

Синтаксис

HRESULT GetCommandString(
  UINT_PTR idCmd,
  UINT     uType,
  UINT     *pReserved,
  CHAR     *pszName,
  UINT     cchMax
);

Параметры

idCmd

Тип: UINT_PTR

Смещение идентификатора команды меню.

uType

Тип: UINT

Флаги, указывающие возвращаемые сведения. Этот параметр может иметь одно из следующих значений.

GCS_HELPTEXTA

Задает для pszName строку ANSI, содержащую текст справки для команды.

GCS_HELPTEXTW

Задает для pszName строку Юникода, содержащую текст справки для команды.

GCS_VALIDATEA

Возвращает S_OK, если элемент меню существует, или S_FALSE в противном случае.

GCS_VALIDATEW

Возвращает S_OK, если элемент меню существует, или S_FALSE в противном случае.

GCS_VERBA

Задает для pszName строку ANSI, содержащую независимое от языка имя команды для элемента меню.

GCS_VERBW

Задает для pszName строку Юникода, содержащую независимое от языка имя команды для пункта меню.

pReserved

Тип: UINT*

Зарезервировано. Приложения должны указывать значение NULL при вызове этого метода, а обработчики должны игнорировать этот параметр при вызове.

pszName

Тип: LPSTR

Адрес буфера для получения извлекаемой строки со значением NULL.

cchMax

Тип: UINT

Размер буфера (в символах) для получения строки, завершаемой null.

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

Тип: HRESULT

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

Комментарии

Независимое от языка имя команды или глагол — это имя, которое может быть передано методу IContextMenu::InvokeCommand для активации команды приложением. Текст справки — это описание команды, которая отображается в строке состояния Windows Обозреватель. Он должен быть достаточно коротким (не более 40 символов).

Несколько общих глаголов можно определить по каноническому имени, например открыть, распечатать, удалить и переименовать. Клиенты могут сравнить строку, на которую указывает pszName, с этими каноническими именами, чтобы проверка за их присутствие в контекстном меню.

Хотя pszName объявлен как LPSTR, необходимо привести его к UINT_PTR и вернуть строку Юникода, если для uFlags задано значение GCS_HELPTEXTW или GCS_VERBW. GCS_UNICODE можно использовать в качестве битовой маски для проверки uFlags для версий "W" и "A" содержащегося в ней флага.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)
DLL Shell32.dll (версия 4.0 или более поздняя)