ON_PARSE_COMMAND

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)

Index