Share via


DdeCreateStringHandleA-Funktion (ddeml.h)

Erstellt ein Handle, das die angegebene Zeichenfolge identifiziert. Ein DDE-Client oder eine Serveranwendung (Dynamic Data Exchange) kann das Zeichenfolgenhandle als Parameter an andere DDEML-Funktionen (Dynamic Data Exchange Management Library) übergeben.

Syntax

HSZ DdeCreateStringHandleA(
  [in] DWORD  idInst,
  [in] LPCSTR psz,
  [in] int    iCodePage
);

Parameter

[in] idInst

Art: DWORD

Die Anwendung instance Bezeichner, der durch einen vorherigen Aufruf der DdeInitialize-Funktion abgerufen wurde.

[in] psz

Typ: LPTSTR

Die NULL-Zeichenfolge, für die ein Handle erstellt werden soll. Diese Zeichenfolge kann bis zu 255 Zeichen lang sein. Der Grund für diesen Grenzwert ist, dass DDEML-Zeichenfolgenverwaltungsfunktionen mithilfe von Atomen implementiert werden.

[in] iCodePage

Typ: int

Die Codepage, die zum Rendern der Zeichenfolge verwendet werden soll. Dieser Wert sollte entweder CP_WINANSI (standardcodepage) oder CP_WINUNICODE sein, je nachdem, ob die ANSI- oder Unicode-Version von DdeInitialize von der Clientanwendung aufgerufen wurde.

Rückgabewert

Typ: HSZ

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Zeichenfolgenhandle.

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0L.

Die DdeGetLastError-Funktion kann verwendet werden, um den Fehlercode abzurufen, der einer der folgenden Werte sein kann:

Hinweise

Der Wert eines Zeichenfolgenhandles hängt nicht mit der Groß-/Kleinschreibung der identifizierten Zeichenfolge zusammen.

Wenn eine Anwendung entweder ein Zeichenfolgenhandle erstellt oder eines in der Rückruffunktion empfängt und dann die DdeKeepStringHandle-Funktion verwendet, um es beizubehalten, muss die Anwendung dieses Zeichenfolgenhandle freigeben, wenn es nicht mehr benötigt wird.

Ein instance spezifisches Zeichenfolgenhandle kann nicht vom Zeichenfolgenhandle zur Zeichenfolge und zurück zum Zeichenfolgenhandle zugeordnet werden. Dies wird im folgenden Beispiel gezeigt, in dem die DdeQueryString-Funktion eine Zeichenfolge aus einem Zeichenfolgenhandle und DdeCreateStringHandle ein Zeichenfolgenhandle aus dieser Zeichenfolge erstellt, aber die beiden Handles sind nicht identisch:

DWORD idInst; 
DWORD cb; 
HSZ hszInst, hszNew; 
PSZ pszInst; 
 
DdeQueryString(idInst, hszInst, pszInst, cb, CP_WINANSI); 
hszNew = DdeCreateStringHandle(idInst, pszInst, CP_WINANSI); 
// hszNew != hszInst ! 

Hinweis

Der ddeml.h-Header definiert DdeCreateStringHandle als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ddeml.h (Einschließen von Windows.h)
Bibliothek User32.lib
DLL User32.dll

Siehe auch

Konzept

DdeAccessData

DdeCmpStringHandles

DdeFreeStringHandle

DdeInitialize

DdeKeepStringHandle

DdeQueryString

Verwaltungsbibliothek für dynamische Daten

Referenz