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
Verwaltungsbibliothek für dynamische Daten
Referenz