Метод 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 или более поздняя) |