ON_PARSE_COMMAND ( FnName, mapClass, มีอาร์กิวเมนต์ )
พารามิเตอร์
FnName
ชื่อของฟังก์ชันสมาชิก นอกจากนี้ชื่อของคำสั่ง?
mapClass
ชื่อคลาสฟังก์ชันการแมป?
มีอาร์กิวเมนต์
อาร์กิวเมนต์ที่แมปของพารามิเตอร์FnName ดูหมายเหตุสำหรับรายการของสัญลักษณ์?
หมายเหตุ
แมโคON_PARSE_COMMANDใช้ในแผนที่ในการแยกวิเคราะห์ในการกำหนดคำสั่งไปยังวัตถุCHttpServerจากไคลเอนต์?
ฟังก์ชันของสมาชิกจะถูกระบุด้วยFnNameต้องนำตัวชี้ไปCHttpServerContextเป็นพารามิเตอร์ตัวแรก FnNameเป็นชนิดLPSTRและจะถูกระบุ ด้วยสัญลักษณ์ITS_LPSTRในแผนที่ในการแยกวิเคราะห์ กล่าวคือFnNameจุดเป็นสายอักขระที่ประกอบด้วยฟังก์ชันสมาชิกในคลาสmapClass?
พารามิเตอร์มีอาร์กิวเมนต์สามารถนำหนึ่งในค่าต่อไปนี้:
| สัญลักษณ์ | ชนิดหรือข้อคิดเห็น |
| ITS_EMPTY | มีอาร์กิวเมนต์ต้องไม่ว่างเปล่า ใช้ITS_EMPTYได้ถ้าคุณไม่มีอาร์กิวเมนต์? |
| ITS_PSTR | ตัวชี้ในสายอักขระ? |
| ITS_RAW | แน่นอน ดิบข้อมูลส่งไปยังส่วนขยาย ISAPI ไม่ได้ใช้ITS_RAWกับชนิดพารามิเตอร์อื่น ๆ เพื่อดำเนินการดังกล่าวจะทำให้เกิดการASSERT ดูข้อสังเกตตัวอย่างเช่น? |
| ITS_I2 | ขนาดสั้น |
| ITS_I4 | เป็นเวลานาน |
| ITS_R4 | ตัวทุ่น |
| ITS_R8 | double |
ตัวอย่าง
/ / Followingnbsp ตัวอย่างการแยก Illustrates
/ / a สาย และ แบบสั้นที่ส่งไปยังเซิร์ฟเวอร์:
BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_PSTR
ITS_I2)
ON_PARSE_COMMAND_PARAMS ("จำนวนเต็มสตริ = 42 ")
ON_PARSE_COMMAND (Myfunc2, CDerivedClass, ITS_PSTR
ITS_I2 ITS_PSTR)
ON_PARSE_COMMAND_PARAMS ("สตริงที่เต็ม
string2 = 'ค่าเริ่มต้น' ")
END_PARSE_MAP(CDerivedClass)(&N)
หมายเหตุnbsp ใช้ใบเสนอราคาเดียวถ้าคุณรวมช่องว่างลงในค่าเริ่มต้นสำหรับตัวเลือกITS_PSTRs(&N)?
โมฆะ Myfunc (CHttpServerContext * pCtxt, LPTSTR pszName, int nNumber);
โมฆะ Myfunc2 (CHttpServerContext * pCtxt, LPTSTR pszName, int nNumber, LPTSTR pszTitle);
/ / Followingnbsp ตัวอย่างการแยก Illustrates / / ข้อมูลดิบที่ส่งไปยังเซิร์ฟเวอร์:
BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_RAW)
END_PARSE_MAP(CDerivedClass)(&N)
กับแบบตัวอย่างฟังก์ชันที่ดัง:
cDerivedClass::Myfunc (CHttpServerContext * pCtxt โมฆะ * pVoid, DWORD dwBytes) ถือเป็นโมฆะ
ในตัวอย่างสองข้างบน การ pVoid ชี้ชี้ไปยังข้อมูลที่ส่งไปยัง extension.nbsp การ dwBytes พารามิเตอร์มีจำนวนไบต์ที่ pVoid ถ้า dwBytes เป็นศูนย์ pVoid อาจไม่ชี้อะไร(&N)?
หมายเหตุnbsp ตัวจัดการการสำหรับคำสั่งในการแยกวิเคราะห์แผนที่ต้องใช้เวลาเป็นตัวชี้การCHttpServerContextเป็นพารามิเตอร์แรก และพารามิเตอร์ต้องมีประกาศในลำดับเดียวกับที่พวกเขากำลังกำหนดไว้ในON_PARSE_COMMAND(&N)?
ดูเพิ่มเติมnbspBEGIN_PARSE_MAP, END_PARSE_MAP, ON_PARSE_COMMAND_PARAMS, DEFAULT_PARSE_COMMAND, CHttpServer(&N)