| Предыдущий | Следующий |
| MQ_ERROR_SENDERID_BUFFER_TOO_SMALL | MQ_ERROR_CANNOT_IMPERSONATE_CLIENT |
MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL
Практический разбор MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL
MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL — HRESULT, относящийся к области Microsoft Message Queuing. Буфер, переданный MQGetQueueSecurity, слишком мал для полного дескриптора безопасности очереди.
Применительно к MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL этот HRESULT возвращён MSMQ. Применительно к MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL для точного вывода нужны имя очереди, операция, режим доступа и то, используется ли public/private/direct format name.
Практический вывод для MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы Microsoft Message Queuing.
Как читать имя MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL
Имя MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL помогает сузить поиск: ERROR — ошибка; SECURITY — проверка безопасности; DESCRIPTOR — дескриптор; TOO — технический маркер «too»; SMALL — недостаточный размер. Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.
Разбор условия ошибки
Применительно к MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL условие связано с правами, политикой или контекстом безопасности. Применительно к MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL проверять нужно реальный токен процесса и целевой объект, а не только членство пользователя в группе администраторов.
- Для MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL зафиксируйте SID и integrity level вызывающего процесса, ACL/политику объекта и результат проверки под той же учётной записью.
- При разборе MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL сверьте размеры буферов свойств и повторите запрос по документированной схеме определения требуемой длины.
- При разборе MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL проверьте ACL очереди и системные привилегии под фактической учётной записью процесса.
- При разборе MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL запишите path name и format name очереди, тип операции, права доступа и свойства, которые читались или записывались.
- При разборе MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL проверьте состояние службы MSMQ, достижимость удалённой машины и подключение к службе каталогов при необходимости.
Как локализовать источник
- Для MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL проверьте воспроизведение на локальной private queue, чтобы отделить сеть и каталог от API-контракта.
- Для MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL не создавайте дубликат очереди до проверки существующего path name и instance identifier.
- Для MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL сохраните HRESULT, PROPID, фактическую/требуемую длину и тип форматного имени.
Проверка после изменения
Применительно к MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL проверка исправления MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL должна включать успешный рабочий путь, предсказуемый отказ на некорректном входе и отсутствие новых предупреждений в журналах подсистемы Microsoft Message Queuing.
Ссылки по MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL
Нужно найти другой код? Найти другой код состояния или ошибки.
