BOOL ServerSupportFunction (DWORD dwHSERRequest、LPVOID lpvBuffer、LPDWORD lpdwSize、LPDWORD lpdwDataType );
戻り値
成功した場合は 0 以外それ以外の場合 0。
パラメーター
dwHSERRequest
HTTP サーバー拡張機能の値。サポートされている値の一覧については、「解説を参照してください。
lpvBuffer
HSE_REQ_SEND_RESPONSE_HEADERを使用すると、null 終端オプション ステータス文字列 (たとえば、"401 Access Denied") をポイントします。このバッファーが null の場合、既定の応答の「200 OK」この関数で送信されます。HSE_REQ_DONE_WITH_SESSIONを使用すると、それは、要求のステータス コードを示すDWORDにポイントします。
lpdwSize
HSE_REQ_SEND_RESPONSE_HEADERを使用すると、バッファーのlpdwDataTypeのサイズをポイントします。
lpdwDataType
HSE_REQ_SEND_RESPONSE_HEADERを使用する場合、この省略可能なヘッダーを追加し、ヘッダーを送信するデータ ポイント null で終わる文字列です。これがNULLの場合、ヘッダーは"\r\n"ペアで終了します。
注特価;汎用関数dwHSERequestがHSE_REQ_END_RESERVEDよりも大きい必要があります。HSE_REQ_END_RESERVEDの値を必須の ServerSupportFunctions のために予約されているし、は使用できません。(&N)。
解説
ISA は、HTTP サーバーの実装に固有の機能だけではなく汎用機能の一部を提供するにはこのメンバー関数を呼び出す。
DwHSERRequestで表される HTTP サーバー拡張機能の値は、次のいずれかをすることができます。:
HSE_REQ_SEND_URL_REDIRECT_RESP
送信、 302 ( URL Redirec t)、クライアントへのメッセージ。さらに処理後の呼び出しが必要です。この操作を指定することと似ています"URI: lt;URL >「CGI スクリプト ヘッダー。変数lpvBufferは、null で終わる URL 文字列をポイントする必要があります。変数lpdwSizeは、 lpvBufferのサイズが必要です。変数lpdwDataTypeは無視されます。
HSE_REQ_SEND_URL
クライアントが要求していた場合、クライアントへの URL で指定されたデータを送信する URL。Null を指す URL 終了lpvBufferサーバー上に存在する必要があり、プロトコル情報を指定する必要がありますいない (すなわちそれを開始する必要があります、'/')。この呼び出しの後はさらに処理が必要です。変数lpdwSizeは、 lpvBufferのサイズを保持するDWORDをポイントします。変数lpdwDataTypeは無視されます。
HSE_REQ_SEND_RESPONSE_HEADER
送信完了の HTTP サーバーの応答のヘッダーの状態、サーバーのバージョン、メッセージ時間、MIME バージョンを含みます。ISAまたはサーバー拡張機能が他の HTTP ヘッダーを追加する必要がありますのコンテンツの種類などの終わりには、コンテンツの長さなど、続いて、エキストラの"\r\n"。
HSE_REQ_DONE_WITH_SESSION
ISA またはサーバー拡張機能、処理要件が広がったためにセッションを保持する場合、サーバーことができますそれを閉じるし、関連の構造体を解放するので、セッションが終了したら、サーバーを伝える必要があります。変数lpvBuffer、 lpdwSize、およびlpdwDataTypeすべては無視されます。
HSE_REQ_END_RESERVED
この値よりも高い機能のサーバー固有のものし、ISAPI をサポートするすべての web サーバーで利用できない場合があります。
HSE_REQ_MAP_URL_TO_PATH
LpvBufferパラメーターは、論理パス エントリと終了上の物理パスを含むバッファーへのポインターです。LpdwSizeパラメーターは、エントリには、 lpvBufferでバッファーのサイズを含むDWORDへのポインターを渡すし、終了時にバッファー内のバイト数を配置です。LpdwDataTypeパラメーターは無視されます)。Microsoft 固有の拡張。
HSE_REQ_GET_SSPI_INFO
LpvBufferコンテキスト ハンドルでいっぱいになると※ lpdwDataType資格情報ハンドルでいっぱいです。コンテキスト ハンドルには、ポインター型または型の識別子を指定します。認証と承認の資格情報ハンドルを指定します。
HSE_REQ_TRANSMIT_FILE
TransmitFileファイルを依頼者に送信のより簡単な方法を参照してください。
注特価;サーバーでは、十分な充填、ハンドルとlpdwSizeで、 lpvBufferバッファーにコピーするデータの量を反映する更新されませんする前に、バッファーが大きいことはことはありません。これらの size 構造体を固定されているので、それで渡されるポインター、構造体へのポインターし、要求構造としてサイズ以上である必要がありますと見なされます(&N)。
CHttpServerContext 概要|nbsp;クラス メンバー |階層図(&N)
参照してください。
CHttpFilterContext::ServerSupportFunction、 CHttpServerContext::TransmitFile