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


Метод IHttpUser::GetUserVariable

Возвращает пользовательские данные по имени.

Синтаксис

virtual PVOID GetUserVariable(  
   IN PCSTR pszVariableName  
) = 0;  

Параметры

pszVariableName
[IN] Указатель на константную строку, заканчивающуюся null, которая содержит имя переменной извлекаемых данных.

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

Указатель void , содержащий восходящие пользовательские данные.

Комментарии

Значение по умолчанию — HTTP_USER_VARIABLE_SID, которое определяется в файле заголовка Httpserv.h.

Примечания для разработчиков

Разработчики IHttpUser отвечают за управление памятью с помощью этих данных; Таким образом, реализации, использующие динамическое выделение памяти, IHttpUser должны освободить или deletevoid указатель, когда он больше не нужен.

Примечания для вызывающих абонентов

IHttpUser разработчики отвечают за управление памятью с помощью этих данных; IHttpUser Поэтому клиенты не должны освобождать или delete возвращаемый void указатель, если эти данные больше не нужны. Кроме того, клиенты не должны изменять состояние памяти, на которую ссылается этот void указатель, так как будет вызвано нарушение доступа или данные станут недействительными.

Пример

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

Приведенный выше код записывает XML-код, аналогичный приведенному ниже, в поток ответа.

<?xml version="1.0" ?>  
<user userName="DOMAIN\user" />  

Модуль должен экспортировать функцию RegisterModule . Эту функцию можно экспортировать, создав файл определения модуля (DEF) для проекта, или скомпилировать модуль с помощью /EXPORT:RegisterModule параметра . Дополнительные сведения см. в разделе Пошаговое руководство. Создание модуля HTTP Request-Level с помощью машинного кода.

При необходимости можно компилировать код с помощью соглашения о __stdcall (/Gz) вызовах вместо явного объявления соглашения о вызовах для каждой функции.

Требования

Тип Описание
клиент — IIS 7.0 в Windows Vista
— IIS 7.5 в Windows 7
— IIS 8.0 в Windows 8
— IIS 10.0 в Windows 10
Сервер — IIS 7.0 в Windows Server 2008
— IIS 7.5 в Windows Server 2008 R2
— IIS 8.0 в Windows Server 2012
— IIS 8.5 в Windows Server 2012 R2
— IIS 10.0 в Windows Server 2016
Продукт — IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
— IIS Express 7.5, IIS Express 8.0, IIS Express 10.0
Заголовок Httpserv.h

См. также:

Интерфейс IHttpUser