次の方法で共有


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 ポインターによって参照されるメモリの状態を変更しないでください。

次のコード例では、応答ヘッダーと本文をクリアし、ユーザー情報を XML ドキュメントとしてクライアントに返す HTTP モジュールを作成する方法を示します。

上記のコードは、次のような XML を応答ストリームに書き込みます。

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

モジュールで RegisterModule 関数をエクスポートする必要があります。 この関数をエクスポートするには、プロジェクトのモジュール定義 (.def) ファイルを作成するか、 スイッチを使用してモジュールを /EXPORT:RegisterModule コンパイルします。 詳細については、「 チュートリアル: ネイティブ コードを使用したRequest-Level HTTP モジュールの作成」を参照してください。

必要に応じて、各関数の呼び出し規約を __stdcall (/Gz) 明示的に宣言するのではなく、呼び出し規約を使用してコードをコンパイルできます。

要件

Type 説明
Client - Windows Vista 上の IIS 7.0
- Windows 7 上の IIS 7.5
- Windows 8 上の IIS 8.0
- Windows 10の IIS 10.0
サーバー - Windows Server 2008 の IIS 7.0
- Windows Server 2008 R2 の IIS 7.5
- Windows Server 2012 の IIS 8.0
- Windows Server 2012 R2 の IIS 8.5
- Windows Server 2016の IIS 10.0
製品 - 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
Header Httpserv.h

参照

IHttpUser インターフェイス