Funzione DdeCreateStringHandleA (ddeml.h)
Crea un handle che identifica la stringa specificata. Un'applicazione client o server di Dynamic Data Exchange (DDE) può passare l'handle stringa come parametro ad altre funzioni DDEML (Dynamic Data Exchange Management Library).
Sintassi
HSZ DdeCreateStringHandleA(
[in] DWORD idInst,
[in] LPCSTR psz,
[in] int iCodePage
);
Parametri
[in] idInst
Tipo: DWORD
Identificatore dell'istanza dell'applicazione ottenuto da una chiamata precedente alla funzione DdeInitialize .
[in] psz
Tipo: LPTSTR
Stringa con terminazione null per cui deve essere creato un handle. Questa stringa può essere fino a 255 caratteri. Il motivo di questo limite è che le funzioni di gestione delle stringhe DDEML vengono implementate usando atom.
[in] iCodePage
Tipo: int
Tabella codici da usare per eseguire il rendering della stringa. Questo valore deve essere CP_WINANSI (tabella codici predefinita) o CP_WINUNICODE , a seconda che la versione ANSI o Unicode di DdeInitialize sia stata chiamata dall'applicazione client.
Valore restituito
Tipo: HSZ
Se la funzione ha esito positivo, il valore restituito è un handle stringa.
Se la funzione ha esito negativo, il valore restituito è 0L.
La funzione DdeGetLastError può essere usata per ottenere il codice di errore, che può essere uno dei valori seguenti:
Commenti
Il valore di un handle stringa non è correlato al caso della stringa identificata.
Quando un'applicazione crea un handle stringa o riceve una nella funzione di callback e quindi usa la funzione DdeKeepStringHandle per mantenerla, l'applicazione deve liberare tale handle stringa quando non è più necessario.
Non è possibile eseguire il mapping di un handle stringa specifico dell'istanza dall'handle stringa alla stringa e tornare all'handle stringa. Questo è illustrato nell'esempio seguente, in cui la funzione DdeQueryString crea una stringa da un handle stringa e DdeCreateStringHandle crea un handle stringa da tale stringa, ma i due handle non sono uguali:
DWORD idInst;
DWORD cb;
HSZ hszInst, hszNew;
PSZ pszInst;
DdeQueryString(idInst, hszInst, pszInst, cb, CP_WINANSI);
hszNew = DdeCreateStringHandle(idInst, pszInst, CP_WINANSI);
// hszNew != hszInst !
Nota
L'intestazione ddeml.h definisce DdeCreateStringHandle come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
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 (includere Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |
Vedi anche
Informazioni concettuali
Libreria di gestione di Dynamic Data Exchange
Riferimento