Funzione DdeInitializeW (ddeml.h)
Registra un'applicazione con DDEML (Dynamic Data Exchange Management Library). 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 dell'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 ADEML a collegamento dinamico (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 DdeCallback funzione di callback.
[in] afCmd
Tipo: DWORD
Set di flag 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 (non monitorata). |
|
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 registrato i relativi nomi di servizio o ha disattivato il filtro tramite una chiamata successiva alla DdeNameService o DdeInitialize funzione. 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 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 del 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 transazioni XTYP_ADVSTART e XTYP_ADVSTOP. 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 transazioni XTYP_CONNECT e XTYP_WILDCONNECT. |
|
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 XTYP_CONNECT_CONFIRM. |
|
Impedisce alla funzione di callback di ricevere notifiche di XTYP_DISCONNECT. |
|
Impedisce alla funzione di callback di ricevere notifiche 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 conteggio 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 pubblica un messaggio DDE. |
|
Notifica alla funzione di callback ogni volta che il sistema o un'applicazione invia un messaggio DDE. |
ulRes
Tipo: DWORD
Riservato; deve essere impostato su zero.
Valore restituito
Tipo: UINT
Se la funzione ha esito positivo, il valore restituito è DMLERR_NO_ERROR.
Se la funzione ha esito negativo, il valore restituito è uno dei valori seguenti:
Osservazioni
Un'applicazione che usa più istanze di DDEML non deve passare oggetti DDEML tra istanze.
Un'applicazione di monitoraggio DDE non deve tentare di eseguire operazioni DDE (stabilire conversazioni, eseguire 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 denominata determina il tipo delle procedure finestra utilizzate per controllare le conversazioni DDE (ANSI o Unicode) e il valore predefinito per il
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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
ddeml.h (include Windows.h) |
libreria |
User32.lib |
dll | User32.dll |
Vedere anche
panoramica della libreria di gestione di Dynamic Data Exchange