CHttpServer::CallFunction

仮想 int CallFunction (CHttpServerContext ※ pCtxt, LPTSTR pszQuery, LPTSTR pszCommand );

戻り値

次の列挙型の 1 つの値:

列挙値 説明
callOK 関数呼び出しに成功しました。
callParamRequired 必要なパラメーターが行方不明になった。
callBadParamCount 多すぎるか少なすぎるパラメーター。
callBadCommand コマンド名が見つかりませんでした。
callNoStackSpace スタック領域がないです。
callNoStream CHtmlStreamはありませんでした。
callMissingQuote パラメーターが無効な形式が。
callMissingParams パラメーターはありませんでした。
callBadParam パラメーターが無効な形式が (すなわち、1 つだけ引用)。

パラメーター

pCtxt

CHttpServerContextオブジェクトへのポインター。

pszQuery

クエリへのポインター。クライアントから受け取ったコマンドの種類を特定。「解説」を参照してください詳細については。

pszCommand

いずれかのクエリまたは NULL へのポインター。クライアントから受け取ったコマンドの種類を特定。「解説」を参照してください詳細については。

解説

見つけるし、URL のコマンドに関連付けられている適切な関数を実行するために、フレームワークによって呼び出されます。

以下、内訳受信方法の種類とパラメーターの間です。:

メソッドの型 pszQuery pszCommand
取得 EXTENSION_CONTROL_BLOCK構造体のクエリ文字列へのポインター。 NULL
投稿 コマンドの本文で送信するクエリへのポインター。 EXTENSION_CONTROL_BLOCK構造体のクエリ文字列へのポインター。

特価;記入フォームの作成者はブラウザーの不整合のため、POST メソッドだけを使用することをお勧めし、GET メソッドの 1024年バイトというバッファーの制限ため。ISAPI フォームを書くときに、POST メソッドだけを使用または既定の関数だけがフォームを処理するように ISA をデザイン(&N)。

たとえば、GET を通じてフォームのアクションを送信するいくつかのブラウザー:

TestLet.DLL?コマンド

切り捨てられます Command と送信:

TestLet.DLL?name=value

正しいコマンドの代わりに:

TestLet.DLL?コマンド? 名前 = 値

切り捨てによって Command 、ブラウザーが要求をマップするために必要な ISA の関数に関連付けを削除します。場合を除き、関数 Command 、既定関数でフォームは正しく処理されません。

EXTENSION_CONTROL_BLOCK構造関数lpszQueryStringの解析を行う場合は、 CallFunctionをオーバーライドし、 PARSE_MAPマクロを使用しないでください。インターネット サーバー API (ISAPI) パース マップパース マップ マクロの使用方法の詳細についてを参照してください。

CHttpServer 概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CHttpServerContextインターネット サーバー API (ISAPI) パース マップ(&N)

Index