Метод IHttpUser::GetUserVariable
Возвращает пользовательские данные по имени.
Синтаксис
virtual PVOID GetUserVariable(
IN PCSTR pszVariableName
) = 0;
Параметры
pszVariableName
[IN] Указатель на константную строку, заканчивающуюся null, которая содержит имя переменной извлекаемых данных.
Возвращаемое значение
Указатель void
, содержащий восходящие пользовательские данные.
Комментарии
Значение по умолчанию — HTTP_USER_VARIABLE_SID
, которое определяется в файле заголовка Httpserv.h.
Примечания для разработчиков
Разработчики IHttpUser отвечают за управление памятью с помощью этих данных; Таким образом, реализации, использующие динамическое выделение памяти, IHttpUser
должны освободить или delete
void
указатель, когда он больше не нужен.
Примечания для вызывающих абонентов
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 |