|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
DdeInitialize
The DdeInitialize function registers an application with the Dynamic Data Exchange Management Library (DDEML). An application must call this function before calling any other DDEML function.
UINT DdeInitialize(
LPDWORD pidInst, // pointer to instance identifier PFNCALLBACK pfnCallback, // pointer to callback function DWORD afCmd, // set of command and filter flags DWORD ulRes // reserved );
Parameters
pidInst
Points to the application instance identifier. At initialization, this parameter should point to 0. If the function succeeds, this parameter points to the instance identifier for the application. This value should be passed as the idInst parameter in all other DDEML functions that require it. If an application uses multiple instances of the DDEML dynamic-link library (DLL), the application should provide a different callback function for each instance. If pidInst points to a nonzero value, reinitialization of the DDEML is implied. In this case, pidInst must point to a valid application-instance identifier.
pfnCallback
Points to the application-defined dynamic data exchange (DDE) callback function. This function processes DDE transactions sent by the system. For more information, see the DdeCallback callback function.
afCmd
Specifies a set of APPCMD_, CBF_, and MF_ flags. The APPCMD_ flags provide special instructions to DdeInitialize. The CBF_ flags specify filters that prevent specific types of transactions from reaching the callback function. The MF_ flags specify the types of DDE activity that a DDE monitoring application monitors. Using these flags enhances the performance of a DDE application by eliminating unnecessary calls to the callback function. This parameter can be a combination of the following filter flags:
Flag Meaning APPCLASS_MONITOR Makes it possible for the application to monitor DDE activity in the system. This flag is for use by DDE monitoring applications. The application specifies the types of DDE activity to monitor by combining one or more monitor flags with the APPCLASS_MONITOR flag. For details, see the following Remarks section. APPCLASS_STANDARD Registers the application as a standard (nonmonitoring) DDEML application. APPCMD_CLIENTONLY Prevents the application from becoming a server in a DDE conversation. The application can only be a client. This flag reduces consumption of resources by the DDEML. It includes the functionality of the CBF_FAIL_ALLSVRXACTIONS flag. APPCMD_FILTERINITS Prevents the DDEML from sending XTYP_CONNECT and XTYP_WILDCONNECT transactions to the application until the application has created its string handles and registered its service names or has turned off filtering by a subsequent call to the DdeNameService or DdeInitialize function. This flag is always in effect when an application calls DdeInitialize for the first time, regardless of whether the application specifies the flag. On subsequent calls to DdeInitialize, not specifying this flag turns off the application's service-name filters, but specifying it turns on the application's service name filters. CBF_FAIL_ALLSVRXACTIONS Prevents the callback function from receiving server transactions. The system returns DDE_FNOTPROCESSED to each client that sends a transaction to this application. This flag is equivalent to combining all CBF_FAIL_ flags. CBF_FAIL_ADVISES Prevents the callback function from receiving XTYP_ADVSTART and XTYP_ADVSTOP transactions. The system returns DDE_FNOTPROCESSED to each client that sends an XTYP_ADVSTART or XTYP_ADVSTOP transaction to the server. CBF_FAIL_CONNECTIONS Prevents the callback function from receiving XTYP_CONNECT and XTYP_WILDCONNECT transactions. CBF_FAIL_EXECUTES Prevents the callback function from receiving XTYP_EXECUTE transactions. The system returns DDE_FNOTPROCESSED to a client that sends an XTYP_EXECUTE transaction to the server. CBF_FAIL_POKES Prevents the callback function from receiving XTYP_POKE transactions. The system returns DDE_FNOTPROCESSED to a client that sends an XTYP_POKE transaction to the server. CBF_FAIL_REQUESTS Prevents the callback function from receiving XTYP_REQUEST transactions. The system returns DDE_FNOTPROCESSED to a client that sends an XTYP_REQUEST transaction to the server. CBF_FAIL_SELFCONNECTIONS Prevents the callback function from receiving XTYP_CONNECT transactions from the application's own instance. This flag prevents an application from establishing a DDE conversation with its own instance. An application should use this flag if it needs to communicate with other instances of itself but not with itself. CBF_SKIP_ALLNOTIFICATIONS Prevents the callback function from receiving any notifications. This flag is equivalent to combining all CBF_SKIP_ flags. CBF_SKIP_CONNECT_CONFIRMS Prevents the callback function from receiving XTYP_CONNECT_CONFIRM notifications. CBF_SKIP_DISCONNECTS Prevents the callback function from receiving XTYP_DISCONNECT notifications. CBF_SKIP_REGISTRATIONS Prevents the callback function from receiving XTYP_REGISTER notifications. CBF_SKIP_UNREGISTRATIONS Prevents the callback function from receiving XTYP_UNREGISTER notifications. MF_CALLBACKS Notifies the callback function whenever a transaction is sent to any DDE callback function in the system. MF_CONV Notifies the callback function whenever a conversation is established or terminated. MF_ERRORS Notifies the callback function whenever a DDE error occurs. MF_HSZ_INFO Notifies the callback function whenever a DDE application creates, frees, or increments the usage count of a string handle or whenever a string handle is freed as a result of a call to the DdeUninitialize function. MF_LINKS Notifies the callback function whenever an advise loop is started or ended. MF_POSTMSGS Notifies the callback function whenever the system or an application posts a DDE message. MF_SENDMSGS Notifies the callback function whenever the system or an application sends a DDE message.
ulRes
Reserved; must be set to zero.
Return Values
If the function succeeds, the return value is DMLERR_NO_ERROR. If the function fails, the return value is one of the following values: DMLERR_DLL_USAGE DMLERR_INVALIDPARAMETER DMLERR_SYS_ERROR
Remarks
An application that uses multiple instances of the DDEML must not pass DDEML objects between instances. A DDE monitoring application should not attempt to perform DDE operations (establish conversations, issue transactions, and so on) within the context of the same application instance. A synchronous transaction fails with a DMLERR_REENTRANCY error if any instance of the same task has a synchronous transaction already in progress. The CBF_FAIL_ALLSVRACTIONS flag causes the DDEML to filter all server transactions and can be changed by a subsequent call to DdeInitialize. The APPCMD_CLIENTONLY flag prevents the DDEML from creating key resources for the server and cannot be changed by a subsequent call to DdeInitialize.
There is an ANSI version and a Unicode version of DdeInitialize. The version called determines the type of the window procedures used to control DDE conversations (ANSI or Unicode), and the default value for the iCodePage member of the CONVCONTXT structure (CP_WINANSI or CP_WINUNICODE).
See Also
DdeClientTransaction, DdeConnect, DdeCreateDataHandle, DdeEnableCallback, DdeNameService, DdePostAdvise, DdeUninitialize XTYP_ADVSTART, XTYP_ADVSTOP, XTYP_CONNECT, XTYP_CONNECT_CONFIRM, XTYP_DISCONNECT, XTYP_EXECUTE, XTYP_POKE, XTYP_REGISTER, XTYP_REQUEST, XTYP_WILDCONNECT
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
DdeInitialize
Функция DdeInitialize регистрирует приложение с Биржевым Управлением Динамической Библиотеки Данных (DDEML). Приложение должно назвать эту функцию перед вызовом любой другой функции DDEML.
UINT DdeInitialize(
LPDWORD pidInst, // УКАЗАТЕЛЬ в идентификатор примера PFNCALLBACK pfnCallback, // указатель в функцию возврата DWORD afCmd, // установленное команды и флаги фильтра DWORD ulRes // резервировались );
Параметры
pidInst
Точки на прикладной идентификатор примера. В инициализации, этот параметр должен указывать на 0. Если функция добивается успеха, этот параметр указывает на идентификатор примера для приложения. Эта величина должна быть пройдена как параметр idInst во всем другом DDEML функционирует, что требует это. Если приложение использует многочисленные примеры динамической связи библиотеки DDEML (DLL), приложение должно обеспечить другую функцию возврата для каждого примера. Если точки pidInst на ненулевую величину, reinitialization DDEML подразумевался. В этом случае, pidInst должен указать на прикладной пример правильного идентификатора.
pfnCallback
Точки на определенный прикладной динамический обмен данных возврата (DDE) функция. Эта функция обрабатывает сделки DDE посланные системой. Более подробно, смотри функцию возврата DdeCallback.
afCmd
Определяет установку APPCMD_, CBF_, и флагов MF_. Флаги APPCMD_ обеспечивают специальные инструкции на DdeInitialize. Флаги CBF_ определяют фильтры, которые мешают типы сделок чтобы достигать функции возврата. Флаги MF_ определяют типы деятельности DDE, что DDE, проверяющее прикладные мониторы. Использование этих флагов повышает исполнение приложения DDE устраняя необязательные вызовы в функцию возврата. Этот параметр может быть комбинацией флагов фильтра следующего:
Значение Флага APPCLASS_MONITOR Делает возможным для приложения, чтобы проверять деятельность DDE в системе. Этот флаг предназначается для DDE, проверяющий приложения. Приложение определяет типы деятельности DDE, чтобы проверять объединяя одно или более проверяют флаги с флагом APPCLASS_MONITOR. Относительно деталей, смотри секцию Замечаний следующего. APPCLASS_STANDARD Регистрирует приложение как стандарт (nonmonitoring) приложение DDEML. APPCMD_CLIENTONLY Мешает приложение чтобы становиться сервером в разговоре DDE. Приложение может только быть клиентом. Этот флаг уменьшает потребление ресурсов DDEML. Это включает функциональное назначение флага CBF_FAIL_ALLSVRXACTIONS. APPCMD_FILTERINITS Мешает DDEML чтобы посылать XTYP_CONNECT и сделки XTYP_WILDCONNECT в приложение пока приложение не создало свои ручки строки и регистрировало свои имена услуги или имеет выключенную фильтрацию последующим вызовом в DdeNameService или функцию DdeInitialize. Этот флаг - всегда в силе когда приложение называет DdeInitialize впервые, независимо от того, что приложение определяет флаг. На последующих вызовах на DdeInitialize, не определяя, что этот флаг выключает прикладную услугу-имя фильтров, но определяя это включает фильтры имени прикладной услуги. CBF_FAIL_ALLSVRXACTIONS Мешает функцию возврата чтобы получать сделки сервера. Система возвращает DDE_FNOTPROCESSED каждому клиенту, который посылает сделку в это приложение. Этот флаг является эквивалентом объединению всех флагов CBF_FAIL_. CBF_FAIL_ADVISES Мешает функцию возврата чтобы получать XTYP_ADVSTART и сделки XTYP_ADVSTOP. Система возвращает DDE_FNOTPROCESSED каждому клиенту, который посылает XTYP_ADVSTART или сделку XTYP_ADVSTOP в сервер. CBF_FAIL_CONNECTIONS Мешает функцию возврата чтобы получать XTYP_CONNECT и сделки XTYP_WILDCONNECT. CBF_FAIL_EXECUTES Мешает функцию возврата чтобы получать сделки XTYP_EXECUTE. Система возвращает DDE_FNOTPROCESSED клиенту, который посылает сделку XTYP_EXECUTE в сервер. CBF_FAIL_POKES Мешает функцию возврата чтобы получать сделки XTYP_POKE. Система возвращает DDE_FNOTPROCESSED клиенту, который посылает сделку XTYP_POKE в сервер. CBF_FAIL_REQUESTS Мешает функцию возврата чтобы получать сделки XTYP_REQUEST. Система возвращает DDE_FNOTPROCESSED клиенту, который посылает сделку XTYP_REQUEST в сервер. CBF_FAIL_SELFCONNECTIONS Мешает функцию возврата чтобы получать сделки XTYP_CONNECT из прикладного собственного примера. Этот флаг мешает приложение чтобы устанавливать разговор DDE со своим собственным примером. Приложение должно использовать этот флаг если ему нужно связываться с другими примерами себя но не с собой. CBF_SKIP_ALLNOTIFICATIONS Мешает функцию возврата чтобы получать любые уведомления. Этот флаг является эквивалентом объединению всех флагов CBF_SKIP_. CBF_SKIP_CONNECT_CONFIRMS Мешает функцию возврата чтобы получать уведомления XTYP_CONNECT_CONFIRM. CBF_SKIP_DISCONNECTS Мешает функцию возврата чтобы получать уведомления XTYP_DISCONNECT. CBF_SKIP_REGISTRATIONS Мешает функцию возврата чтобы получать уведомления XTYP_REGISTER. CBF_SKIP_UNREGISTRATIONS Мешает функцию возврата чтобы получать уведомления XTYP_UNREGISTER. MF_CALLBACKS Уведомляет функцию возврата всякий раз, когда сделка послана в любую функцию возврата DDE в системе. MF_CONV Уведомляет функцию возврата всякий раз, когда разговор установлен или завершен. MF_ERRORS Уведомляет функцию возврата всякий раз, когда ошибка DDE происходит. MF_HSZ_INFO Уведомляет функцию возврата всякий раз, когда приложение DDE создает, освобождает, или увеличивает счет использования ручки строки или всякий раз, когда ручка строки освобождена в результате вызова в функцию DdeUninitialize. MF_LINKS Уведомляет функцию возврата всякий раз, когда советовать, чтобы цикл запущен или закончен. MF_POSTMSGS Уведомляет функцию возврата всякий раз, когда система или приложение посылает сообщение DDE. MF_SENDMSGS Уведомляет функцию возврата всякий раз, когда система или приложение посылает сообщение DDE.
ulRes
Зарезервированное; должно быть установлено в нуль.
Обратные Величины
Если функция добивается успеха, обратная величина - DMLERR_NO_ERROR. Если функция терпит неудачу, обратная величина - одно из следующего величин: DMLERR_DLL_USAGE DMLERR_INVALIDPARAMETER DMLERR_SYS_ERROR
Замечания
Приложение, которое использует многочисленные примеры DDEML не должно передавать объекты DDEML между примерами. DDE, Проверяющее приложение не должно пытаться выполнять операции DDE (установите беседу, выпускайте сделки, и так далее) в пределах контекста того же самого прикладного примера. Синхронная сделка терпит неудачу с ошибкой DMLERR_REENTRANCY если любой пример той же самой задачи имеет синхронную сделку уже в процессе развития. Флаг CBF_FAIL_ALLSVRACTIONS заставляет DDEML, чтобы фильтровать все сделки сервера и может быть изменено последующим вызовом на DdeInitialize. Флаг APPCMD_CLIENTONLY мешает DDEML чтобы создавать ключевые ресурсы для сервера и не мочь быть изменено последующим вызовом на DdeInitialize.
Есть версия ANSI и версия Уникода DdeInitialize. Вызванная версия определяет тип процедур окна использованного, чтобы управлять беседой DDE (ANSI или Уникодом), и значение по умолчанию для элемента iCodePage структуры CONVCONTXT (CP_WINANSI или CP_WINUNICODE).
Смотри Также
DdeClientTransaction, DdeConnect, DdeCreateDataHandle, DdeEnableCallback, DdeNameService, DdePostAdvise, DdeUninitialize XTYP_ADVSTART, XTYP_ADVSTOP, XTYP_CONNECT, XTYP_CONNECT_CONFIRM, XTYP_DISCONNECT, XTYP_EXECUTE, XTYP_POKE, XTYP_REGISTER, XTYP_REQUEST, XTYP_WILDCONNECT
|
|
|
|
| |