COleServerDoc::OnExecOleCmd

HRESULT OnExecOleCmd ( константа GUID * pGroup, DWORD nCmdID, DWORD nCmdExecOut, VARIANTARG * pvaIn, VARIANTARG * pvaOut );

Значення, яке повертається

Повертає S_OK у разі успішного; в іншому випадку, один з таких кодів помилки:

Значення Опис
E_UNEXPECTED Сталася неочікувана помилка
E_FAIL Сталася помилка
E_NOTIMPL Вказує MFC себе повинні намагатися Переклад і відправлення команди
OLECMDERR_E_UNKNOWNGROUP pGroup non -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, але потрібно вказати заміщенням цієї функції, щоб обробляти свої власні користувацькі команди або обробляти команди, яка прийняти параметри або повернення результатів.

Більшість з команд не приймати аргументи або повернення значень. Для більшості команд абонента можна передати НУЛЬОВИЙs для pvaIn і pvaOut. Для команд, які очікують вхідних значень абонент може оголосити і ініціалізувати змінної VARIANTARG і передати вказівник на змінну в pvaIn. Для команди, яка потребує одного значення аргумент можна зберігати і безпосередньо в VARIANTARG і функції. Кілька аргументів повинні бути упакована в VARIANTARG , використовуючи один із підтримуваних типів (наприклад, IDispatch і SAFEARRAY ).

Аналогічним чином, якщо команда повертає аргументи абонента очікується оголосити VARIANTARG, ініціалізувати його в VT_EMPTYта передати його адресу в pvaOut. Якщо команда повертає одне значення, об'єкт можна зберігати значення безпосередньо в pvaOut. Декілька вихідних значень повинен бути упакована якимось чином підходить для VARIANTARG.

Базовий клас виконання цієї функції буде ходити OLE_COMMAND_MAP структур, пов'язаних з цільової команди і спробувати відправлення команди для обробника відповідні. Базовий клас реалізації працює лише з команд, які не приймаю аргумент або повернення значень. Якщо потрібно буде обробляти команди, які аргументи приймають або повертають значення, ви повинні пересилити цю функцію і працювати з pvaIn і pvaOut параметрами себе.

Огляд COleServerDocЧлени класу | Ієрархічна діаграма

Дивіться також COleCmdUI

Index