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

DdeAccessData

DdeCmpStringHandles

DdeFreeStringHandle

DdeInitialize

DdeKeepStringHandle

DdeQueryString

Libreria di gestione di Dynamic Data Exchange

Riferimento