Функция GetOwnerModuleFromUdp6Entry (iphlpapi.h)
Функция GetOwnerModuleFromUdp6Entry извлекает данные о модуле, который выдал привязку контекста для определенной конечной точки UDP IPv6 в строке таблицы MIB.
Синтаксис
IPHLPAPI_DLL_LINKAGE DWORD GetOwnerModuleFromUdp6Entry(
[in] PMIB_UDP6ROW_OWNER_MODULE pUdpEntry,
[in] TCPIP_OWNER_MODULE_INFO_CLASS Class,
[out] PVOID pBuffer,
[in, out] PDWORD pdwSize
);
Параметры
[in] pUdpEntry
Указатель на структуру MIB_UDP6ROW_OWNER_MODULE , содержащую запись конечной точки UDP IPv6, используемую для получения модуля владельца.
[in] Class
TCPIP_OWNER_MODULE_INFO_CLASS значение перечисления, указывающее тип данных, которые необходимо получить в отношении модуля-владельца.
[out] pBuffer
Буфер, содержащий структуру TCPIP_OWNER_MODULE_BASIC_INFO с данными модуля владельца. Тип данных, возвращаемых в этом буфере, определяется значением параметра Class .
Следующие структуры используются для данных в буфере, если классу присвоено соответствующее значение.
Значение перечисления классов | Формат данных буфера |
---|---|
TCPIP_OWNER_MODULE_BASIC_INFO | TCPIP_OWNER_MODULE_BASIC_INFO |
[in, out] pdwSize
Предполагаемый размер (в байтах) структуры, возвращаемой в буфере. Если это значение слишком мало, функция возвращает ERROR_INSUFFICIENT_BUFFER , и это поле будет содержать правильный размер структуры.
Возвращаемое значение
Если вызов выполнен успешно, возвращается значение NO_ERROR . В противном случае возвращается следующая ошибка.
Код возврата | Описание |
---|---|
|
Для таблицы было выделено недостаточно места. Размер таблицы возвращается в параметре pdwSize и должен использоваться при последующем вызове этой функции для успешного извлечения таблицы. |
Комментарии
Параметр Buffer содержит не только структуру с указателями на определенные данные, например указатели на строки с нулевым завершением, которые содержат имя и путь модуля владельца, но и сами данные; — это строки имени и пути. Поэтому при вычислении размера буфера убедитесь, что у вас достаточно места как для структуры, так и для данных, на которые указывают члены структуры.
Рекомендуется разрешить записи таблицы UDP в модулях-владельцах. В некоторых случаях имя модуля владельца, возвращаемое в структуре TCPIP_OWNER_MODULE_BASIC_INFO , может быть именем процесса, например "svchost.exe", именем службы, например "RPC", или именем компонента, например "timer.dll".
Для компьютеров под управлением Windows Vista или более поздних версий доступ к элементам pModuleName и pModulePath структуры TCPIP_OWNER_MODULE_BASIC_INFO ограничен контролем учетных записей пользователей (UAC). Если приложение, которое вызывает эту функцию, выполняется пользователем, вошедшего в систему как член группы администраторов, отличный от встроенного администратора, этот вызов будет выполнен успешно, но доступ к этим членам возвращает пустую строку, если приложение не было отмечено в файле манифеста с параметром requestedExecutionLevel , для которого задано значение requireAdministrator. Если в приложении в Windows Vista или более поздних версиях отсутствует этот файл манифеста, пользователь, вошедший в группу администраторов, отличный от встроенного администратора, должен выполнить приложение в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени пользователя), чтобы разрешить доступ к защищенным членам pModuleName и pModulePath .
Требования
Минимальная версия клиента | Windows Vista, Windows XP с пакетом обновления 2 (SP2) [только классические приложения] |
Минимальная версия сервера | Windows Server 2008, Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения] |
Целевая платформа | Windows |
Header | iphlpapi.h |
Библиотека | Iphlpapi.lib |
DLL | Iphlpapi.dll |