Funzione DdeInitializeW (ddeml.h)
Registra un'applicazione con Dynamic Data Exchange Management Library (DDEML). Un'applicazione deve chiamare questa funzione prima di chiamare qualsiasi altra funzione DDEML (Dynamic Data Exchange Management Library).
Sintassi
UINT DdeInitializeW(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
Parametri
[in, out] pidInst
Tipo: LPDWORD
Identificatore dell'istanza dell'applicazione. All'inizializzazione, questo parametro deve puntare a 0. Se la funzione ha esito positivo, questo parametro punta all'identificatore di istanza per l'applicazione. Questo valore deve essere passato come parametro idInst in tutte le altre funzioni DDEML che lo richiedono. Se un'applicazione usa più istanze della libreria di collegamento dinamico DDEML (DLL), l'applicazione deve fornire una funzione di callback diversa per ogni istanza.
Se pidInst punta a un valore diverso da zero, la reinizializzazione del DDEML è implicita. In questo caso , pidInst deve puntare a un identificatore di istanza dell'applicazione valido.
[in] pfnCallback
Tipo: PFNCALLBACK
Puntatore alla funzione di callback DDE definita dall'applicazione. Questa funzione elabora le transazioni DDE inviate dal sistema. Per altre informazioni, vedere la funzione di callback DdeCallback .
[in] afCmd
Tipo: DWORD
Set di flag di APPCMD_, CBF_ e MF_ . I flag APPCMD_ forniscono istruzioni speciali per DdeInitialize. I flag CBF_ specificano filtri che impediscono a tipi specifici di transazioni di raggiungere la funzione di callback. I flag MF_ specificano i tipi di attività DDE monitorati da un'applicazione di monitoraggio DDE. L'uso di questi flag migliora le prestazioni di un'applicazione DDE eliminando le chiamate non necessarie alla funzione di callback.
Questo parametro può essere uno o più dei valori seguenti.
Valore | Significato |
---|---|
|
Consente all'applicazione di monitorare l'attività DDE nel sistema. Questo flag è destinato all'uso da parte delle applicazioni di monitoraggio DDE. L'applicazione specifica i tipi di attività DDE da monitorare combinando uno o più flag di monitoraggio con il flag APPCLASS_MONITOR . Per informazioni dettagliate, vedere la sezione Osservazioni seguente. |
|
Registra l'applicazione come applicazione DDEML standard (nonmonitoring). |
|
Impedisce all'applicazione di diventare un server in una conversazione DDE. L'applicazione può essere solo un client. Questo flag riduce il consumo di risorse da parte del DDEML. Include la funzionalità del flag CBF_FAIL_ALLSVRXACTIONS . |
|
Impedisce al DDEML di inviare XTYP_CONNECT e XTYP_WILDCONNECT transazioni all'applicazione fino a quando l'applicazione non ha creato i relativi handle di stringa e ha registrato i relativi nomi di servizio o ha disattivato il filtro tramite una chiamata successiva alla funzione DdeNameService o DdeInitialize . Questo flag è sempre attivo quando un'applicazione chiama DdeInitialize per la prima volta, indipendentemente dal fatto che l'applicazione specifichi il flag. Nelle chiamate successive a DdeInitialize, non specificando questo flag vengono disattivati i filtri dei nomi di servizio dell'applicazione, ma specificando che attiva i filtri dei nomi del servizio dell'applicazione. |
|
Impedisce alla funzione di callback di ricevere transazioni server. Il sistema restituisce DDE_FNOTPROCESSED a ogni client che invia una transazione a questa applicazione. Questo flag equivale a combinare tutti i flag CBF_FAIL_. |
|
Impedisce alla funzione di callback di ricevere XTYP_ADVSTART e XTYP_ADVSTOP transazioni. Il sistema restituisce DDE_FNOTPROCESSED a ogni client che invia una transazione XTYP_ADVSTART o XTYP_ADVSTOP al server. |
|
Impedisce alla funzione di callback di ricevere XTYP_CONNECT e XTYP_WILDCONNECT transazioni. |
|
Impedisce alla funzione di callback di ricevere XTYP_EXECUTE transazioni. Il sistema restituisce DDE_FNOTPROCESSED a un client che invia una transazione XTYP_EXECUTE al server. |
|
Impedisce alla funzione di callback di ricevere XTYP_POKE transazioni. Il sistema restituisce DDE_FNOTPROCESSED a un client che invia una transazione XTYP_POKE al server. |
|
Impedisce alla funzione di callback di ricevere XTYP_REQUEST transazioni. Il sistema restituisce DDE_FNOTPROCESSED a un client che invia una transazione XTYP_REQUEST al server. |
|
Impedisce alla funzione di callback di ricevere XTYP_CONNECT transazioni dalla propria istanza dell'applicazione. Questo flag impedisce a un'applicazione di stabilire una conversazione DDE con la propria istanza. Un'applicazione deve usare questo flag se deve comunicare con altre istanze di se stesso, ma non con se stesso. |
|
Impedisce alla funzione di callback di ricevere notifiche. Questo flag equivale a combinare tutti i flag CBF_SKIP_. |
|
Impedisce alla funzione di callback di ricevere notifiche di XTYP_CONNECT_CONFIRM . |
|
Impedisce alla funzione di callback di ricevere notifiche di XTYP_DISCONNECT . |
|
Impedisce alla funzione di callback di ricevere notifiche di XTYP_REGISTER . |
|
Impedisce alla funzione di callback di ricevere notifiche di XTYP_UNREGISTER . |
|
Notifica alla funzione di callback ogni volta che una transazione viene inviata a qualsiasi funzione di callback DDE nel sistema. |
|
Notifica alla funzione di callback ogni volta che viene stabilita o terminata una conversazione. |
|
Notifica alla funzione di callback ogni volta che si verifica un errore DDE. |
|
Notifica alla funzione di callback ogni volta che un'applicazione DDE crea, libera o incrementa il numero di utilizzo di un handle stringa o ogni volta che un handle di stringa viene liberato in seguito a una chiamata alla funzione DdeUninitialize . |
|
Notifica alla funzione di callback ogni volta che viene avviato o terminato un ciclo di avviso. |
|
Notifica alla funzione di callback ogni volta che il sistema o un'applicazione invia un messaggio DDE. |
|
Notifica alla funzione di callback ogni volta che il sistema o un'applicazione invia un messaggio DDE. |
ulRes
Tipo: DWORD
Riservati; deve essere impostato su zero.
Valore restituito
Tipo: UINT
Se la funzione ha esito positivo, il valore restituito viene DMLERR_NO_ERROR.
Se la funzione ha esito negativo, il valore restituito è uno dei valori seguenti:
Commenti
Un'applicazione che usa più istanze del DDEML non deve passare oggetti DDEML tra istanze.
Un'applicazione di monitoraggio DDE non deve tentare di eseguire operazioni DDE (stabilire conversazioni, emettere transazioni e così via) all'interno del contesto della stessa istanza dell'applicazione.
Una transazione sincrona ha esito negativo con un errore DMLERR_REENTRANCY se un'istanza della stessa attività ha già in corso una transazione sincrona.
Il flag CBF_FAIL_ALLSVRXACTIONS fa sì che DDEML filtra tutte le transazioni del server e possa essere modificato da una chiamata successiva a DdeInitialize. Il flag APPCMD_CLIENTONLY impedisce al DDEML di creare risorse chiave per il server e non può essere modificato da una chiamata successiva a DdeInitialize.
È disponibile una versione ANSI e una versione Unicode di DdeInitialize. La versione chiamata determina il tipo delle routine finestra utilizzate per controllare le conversazioni DDE (ANSI o Unicode) e il valore predefinito per il membro iCodePage della struttura CONVCONTEXT (CP_WINANSI o CP_WINUNICODE).
Nota
L'intestazione ddeml.h definisce DdeInitialize come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ddeml.h (include Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |
Vedi anche
Panoramica della libreria di gestione di Dynamic Data Exchange