Если идентификатор меню равен NULL, или указанный пункт меню открывает подменю, возвращается 0 xFFFFFFFF .
См. также
GetMenuItemCount, GetMenuString
.
GetMailslotInfo
Функция GetMailslotInfo
извлекает информацию об указанном мэйлслоте.
BOOL GetMailslotInfo
(
HANDLE
hMailslot , // дескриптор мэйлслота LPDWORD
lpMaxMessageSize , // адрес максимального размера сообщения LPDWORD
lpNextSize , // адрес размера следующего сообщения LPDWORD
lpMessageCount , // адрес количества сообщений LPDWORD
lpReadTimeout // адрес тайм - аута чтения );
Параметры
hMailslot
- идентифицирует мэйлслот. Этот дескриптор должна создать функция CreateMailslot . lpMaxMessageSize
- когда функция возвращает управление, указывает на буфер, определяющий максимальный размер письма в байтах, допустимый для этого мэйлслота. Эта величина должна быть больше или равна значению параметра cbMaxMsg функции CreateMailslot , создавшей мэйлслот. Значение параметра может быть равно нулю. lpNextSize
- когда функция возвращает управление, указывает на буфер, определяющий размер следующего письма в байтах. Следующая величина имеет специальное значение:MAILSLOT_NO_MESSAGE - следующее сообщение отсутствует.
Значение параметра может быть равно нулю.
lpMessageCount
- когда функция возвращает управление, указывает на буфер, определяющий количество сообщений, ждущих прочтения. Значение параметра может быть равно нулю. lReadTimeout
- указывает на буфер, определяющий количество времени, в миллисекундах, которое операция чтения может ждать сообщения, записанного в мэйлслот, до наступления тайм-аута. Параметр заполняется, когда функция возвращает управление. Значение параметра может быть равно нулю.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError
.
См. также
CreateMailslot, SetMailslotInfo
.
GetMenuState
Функция GetMenuState
извлекает флаги меню, ассоциированные с указанным пунктом меню. Если пункт меню открывает подменю, функция также возвращает количество пунктов в подменю.Функция GetMenuState
заменена функцией GetMenuItemInfo . Вы, тем не менее, можете продолжать использовать функцию GetMenuState , если у вас нет необходимости в дополнительных возможностях функции GetMenuItemInfo .
UINT GetMenuState
(
HMENU
hMenu , // дескриптор меню UINT
uId , // запрашиваемый пункт меню UINT
uFlags // флаги меню );
Параметры
hMenu
- идентифицирует меню, которое содержит пункт, чьи флаги извлекаются. uId
- определяет пункт меню, для которого извлекаются флаги меню. uFlags
- определяет, как интерпретируется значение параметра uId . Параметр uFlags должен принимать одно из следующих значений:
Значение | Пояснение |
MF_BYCOMMAND | Указывает, что uPosition принимает идентификатор пункта меню. Флаг MF_BYCOMMAND является флагом по умолчанию, если явно не задан ни флаг MF_BYCOMMAND, ни MF_BYPOSITION. |
MF_BYPOSITION | Указывает, что uPosition принимает относительную, отсчитываемую с нуля позицию пункта меню. |
Возвращаемые значения
Если указанного пункта меню не существует, возвращается 0 xFFFFFFFF .
Если пункт меню открывает подменю, младший байт возвращаемого значения содержит флаги меню, связанные с пунктом, а старший байт содержит число пунктов в подменю.
В остальных случаях возвращаемое значение является маской флагов меню. Ниже приведены флаги меню, связанные с пунктом меню: