Hresult ใน OnExecOleCmd ( const GUID * pGroup, DWORD nCmdID, DWORD nCmdExecOut, VARIANTARG * pvaIn, VARIANTARG * pvaOut );
ส่งกลับค่า
ส่งกลับค่าS_OKถ้าสำเร็จ รหัสข้อผิดพลาดต่อไปนี้หนึ่งอย่างอื่นใด:
| ค่า | คำอธิบาย |
| E_UNEXPECTED | เกิดข้อผิดพลาดที่ไม่คาดคิด |
| E_FAIL | เกิดข้อผิดพลาด |
| E_NOTIMPL | MFC ที่บ่งชี้ว่า ตัวเองควรพยายามที่จะแปล และส่งคำสั่ง |
| OLECMDERR_E_UNKNOWNGROUP | pGroupเป็นไม่ใช่ -NULLแต่ไม่ระบุกลุ่มคำสั่งที่รู้จัก |
| OLECMDERR_E_NOTSUPPORTED | nCmdIDไม่รับรู้เป็นคำสั่งที่ถูกต้องในกลุ่มpGroup |
| OLECMDERR_DISABLED | คำสั่งที่ระบุโดยnCmdIDถูกปิดใช้งาน และไม่สามารถดำเนินการ |
| OLECMDERR_NOHELP | โทรถามวิธีใช้ในคำสั่งที่ระบุโดยnCmdIDแต่ไม่มีวิธีที่จะพร้อมใช้งาน |
| OLECMDERR_CANCELED | ผู้ใช้ยกเลิกการดำเนินการ |
พารามิเตอร์
pGroup
ตัวชี้การ GUID ที่ระบุชุดของคำสั่ง สามารถเป็นNULLเพื่อบ่งชี้กลุ่มคำสั่งเริ่มต้น?
nCmdID
คำสั่งการดำเนินการ ต้องอยู่ในกลุ่มที่ระบุโดยpGroup?
nCmdExecOut
วิธีวัตถุควรรันคำสั่ง น้อยหนึ่งค่าต่อไปนี้จากการแจงนับOLECMDEXECOPT:
OLECMDEXECOPT_DODEFAULT
OLECMDEXECOPT_PROMPTUSER
OLECMDEXECOPT_DONTPROMPTUSER
OLECMDEXECOPT_SHOWHELP
pvaIn
ชี้การVARIANTARGที่ประกอบด้วยการป้อนค่าอาร์กิวเมนต์สำหรับคำสั่ง สามารถเป็นNULL?
pvaOut
ชี้ไปที่VARIANTARGเพื่อรับผลลัพธ์ส่งกลับค่าจากคำสั่ง สามารถเป็นNULL?
หมายเหตุ
กรอบการเรียกฟังก์ชันนี้จะดำเนินการคำสั่งที่ระบุ หรือแสดงวิธีใช้สำหรับคำสั่ง?
COleCmdUIสามารถใช้เมื่อต้องการเปิดการใช้งาน ปรับปรุง และตั้งค่าคุณสมบัติอื่น ๆ ของคำสั่งของอินเทอร์เฟซสำหรับผู้ใช้ DocObject หลังจากคำสั่งจะกำหนดค่าเริ่มต้น คุณสามารถดำเนินการกับOnExecOleCmd?
กรอบเรียกฟังก์ชันก่อนทำการแปล และส่งคำสั่งเอกสาร OLE คุณไม่จำเป็นต้องแทนที่ฟังก์ชันนี้เพื่อจัดการคำสั่งเอกสาร OLE มาตรฐาน แต่คุณต้องใส่แทนที่ฟังก์ชันนี้ถ้าคุณต้องการจัดการคำสั่งแบบกำหนดเองของคุณเอง หรือจัดการกับคำสั่งที่ยอมรับพารามิเตอร์ หรือส่งกลับผลลัพธ์?
ส่วนใหญ่ของคำสั่งใช้อาร์กิวเมนต์ หรือคืนค่า สำหรับส่วนใหญ่ของคำสั่ง ผู้เรียกสามารถส่งผ่านค่า NULLs สำหรับpvaInและpvaOut สำหรับคำสั่งที่คาดว่าค่าที่ป้อน ผู้เรียกสามารถประกาศ และการเตรียมใช้งานตัวแปรVARIANTARGและส่งตัวชี้ไปยังตัวแปรในpvaIn คำสั่งที่ต้องการค่าเดียว อาร์กิวเมนต์สามารถจัดเก็บไว้ในVARIANTARGโดยตรง และส่งผ่านไปยังฟังก์ชัน อาร์กิวเมนต์หลายที่ต้องบรรจุภายในVARIANTARGที่ใช้วิธีการใดวิธีการหนึ่งในชนิดที่ได้รับการสนับสนุน (เช่นIDispatchและSAFEARRAY )?
ในทำนองเดียวกัน ถ้าคำสั่งส่งกลับอาร์กิวเมนต์ ผู้เรียกที่คาดว่าจะประกาศการVARIANTARGเตรียมใช้งานการVT_EMPTYและส่งอยู่ในpvaOut ถ้าคำสั่งส่งกลับค่าเดียว วัตถุสามารถเก็บค่านั้นโดยตรงในpvaOut ค่าการแสดงผลหลายที่ต้องบรรจุในบางวิธีที่เหมาะสมสำหรับการVARIANTARG?
Base-คลาสใช้งานฟังก์ชันนี้จะเดินโครงสร้างของOLE_COMMAND_MAPเกี่ยวข้องกับคำสั่งเป้าหมาย และความพยายามที่ส่งคำสั่งในการจัดการที่เหมาะสม Base-คลาสใช้งานทำงาน ด้วยคำสั่งที่ไม่ยอมรับอาร์กิวเมนต์ หรือส่งคืนค่าเท่านั้น ถ้าคุณต้องการจัดการกับคำสั่งที่ยอมรับอาร์กิวเมนต์ หรือส่งกลับค่า คุณต้องแทนที่ฟังก์ชันนี้ และทำงานกับพารามิเตอร์pvaInและpvaOutด้วยตัวคุณเอง?
ภาพรวม COleServerDoc |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)
ดูเพิ่มเติมnbspCOleCmdUI(&N)