Share via


DdeCreateStringHandleW-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 DdeCreateStringHandleW(
  [in] DWORD   idInst,
  [in] LPCWSTR psz,
  [in] int     iCodePage
);

Parameter

[in] idInst

Art: DWORD

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

[in] psz

Typ: LPTSTR

Die NULL-endende 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 (die 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 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 die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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

   
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 (Windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll

Siehe auch

Konzept

DdeAccessData

DdeCmpStringHandles

DdeFreeStringHandle

DdeInitialize

DdeKeepStringHandle

DdeQueryString

Dynamic Data Exchange Management Library

Referenz