Share via


NlsDllCodePageTranslation-Funktion (gb18030.h)

Wird verwendet, um Codepageinformationen abzurufen oder eine Konvertierung durchzuführen, abhängig von den Flageinstellungen.

Hinweis Verwenden Sie diese Funktion nicht. Es kann sich in verschiedenen Versionen von Windows unterschiedlich verhalten. Verwenden Sie die Funktionen MultiByteToWideChar und WideCharToMultiByte , um GB18030 Bytes in Unicode-Zeichen oder Unicode-Zeichen in GB18030 Bytes zu konvertieren.
 

Syntax

DWORD NlsDllCodePageTranslation(
  [in]      DWORD    CodePage,
  [in]      DWORD    dwFlags,
  [in, out] LPSTR    lpMultiByteStr,
  [in]      int      cchMultiByte,
  [in, out] LPWSTR   lpWideCharStr,
  [in]      int      cchWideChar,
  [in]      LPCPINFO lpCPInfo
);

Parameter

[in] CodePage

Der Wert der Codepage. Der Codepagewert sollte 54936 sein. Andernfalls gibt die Funktion einen Fehlercode zurück.

[in] dwFlags

Flags, die die Übersetzung angeben. Mögliche Werte werden in der folgenden Tabelle definiert.

Wert Bedeutung
NLS_CP_CPINFO
Rufen Sie Codepageinformationen im Puffer ab, auf den lpCPInfo verweist. Die Parameter lpMultiByteStr, cchMultiByte, lpWideCharStr und cchWideChar Werden nicht verwendet.
NLS_CP_MBTOWC
Konvertieren sie GB18030-Bytes in Unicode-Zeichen. Auf die GB18030-Quellzeichen sollte lpMultiByteStr verweisen, und cchMultiByte sollte die Byteanzahl des Puffers enthalten. Das Unicode-Ergebnis wird im Puffer gespeichert, auf den lpWideCharStr verweist, und cchWideChar sollte die Zeichenanzahl des Unicode-Puffers enthalten. Wenn lpWideCharStr oder cchWideChar den Wert 0 aufweist, wird die erwartete Zeichenanzahl des Unicode-Ergebnisses zurückgegeben, und es wird keine Konvertierung durchgeführt. Der parameter lpCPInfo wird in diesem Fall nicht verwendet.
NLS_CP_WCTOMB
Konvertieren sie Unicode-Zeichen in GB18030 Bytes. Auf die Unicode-Quellzeichenfolge sollte von lpWideCharStr verwiesen werden, und cchWideChar sollte die Zeichenanzahl des Puffers enthalten. Das GB18030-Ergebnis wird im Puffer gespeichert, auf den lpMultiByteStr verweist, und cchMultiByte sollte die Byteanzahl des GB18030-Puffers enthalten. Wenn lpMultiByteStr oder cchMultiByte 0 ist, wird die Byteanzahl des GB18030-Ergebnisses zurückgegeben, und es wird keine Konvertierung durchgeführt. Der parameter lpCPInfo wird in diesem Fall nicht verwendet.

[in, out] lpMultiByteStr

Zeiger auf einen Puffer, der Multibyte-GB18030-Zeichen enthält. Dies kann je nach Wert von dwFlags ein Quellpuffer oder Zielpuffer sein.

[in] cchMultiByte

Byteanzahl des Multibytepuffers.

[in, out] lpWideCharStr

Zeiger auf einen Puffer, der Unicode-Zeichen enthält. Dies kann je nach Wert von dwFlags ein Quellpuffer oder Zielpuffer sein.

[in] cchWideChar

Zeichenanzahl des Unicode-Puffers.

[in] lpCPInfo

Zeiger auf eine CPINFO-Struktur .

Rückgabewert

Gibt bei erfolgreicher Ausführung 1 zurück. Wenn die Funktion nicht erfolgreich ist, wird 0 zurückgegeben. Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastError aufrufen, wodurch einer der folgenden Fehlercodes zurückgegeben werden kann:

  • ERROR_INVALID_PARAMETER. Jeder der Parameterwerte war ungültig.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gb18030.h
DLL C_g18030.dll

Weitere Informationen

MultiByteToWideChar

WideCharToMultiByte