Freigeben über


DdeCreateStringHandleA-Funktion (ddeml.h)

Erstellt ein Handle, das die angegebene Zeichenfolge identifiziert. Ein DDE-Client (Dynamic Data Exchange) oder eine Serveranwendung 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

Typ: DWORD-

Der Anwendungsinstanzbezeichner, der durch einen vorherigen Aufruf der DdeInitialize-Funktion abgerufen wurde.

[in] psz

Typ: LPTSTR-

Die mit Null beendete 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 Codeseite, 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, lautet der Rückgabewert 0L.

Die funktion DdeGetLastError kann verwendet werden, um den Fehlercode abzurufen, der einen der folgenden Werte sein kann:

Bemerkungen

Der Wert eines Zeichenfolgenhandles bezieht sich nicht auf den Fall der identifizierten Zeichenfolge.

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

Ein instanzspezifisches Zeichenfolgenhandle kann nicht von Zeichenfolgenhandle zu Zeichenfolge und zurück zum Zeichenfolgenhandle zugeordnet werden. Dies wird im folgenden Beispiel gezeigt, in dem die funktion DdeQueryString eine Zeichenfolge aus einem Zeichenfolgenhandle erstellt und DdeCreateStringHandle ein Zeichenfolgenhandle aus dieser Zeichenfolge erstellt, die beiden Handles sind jedoch 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 ! 

Anmerkung

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 Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- ddeml.h (enthalten Windows.h)
Library User32.lib
DLL- User32.dll

Siehe auch

Konzeptionelle

DdeAccessData-

DdeCmpStringHandles

DdeFreeStringHandle-

DdeInitialize-

DdeKeepStringHandle-

DdeQueryString-

Dynamische Exchange-Verwaltungsbibliothek

Referenz-