GetCalendarInfoW-Funktion (winnls.h)

Ruft Informationen zu einem Kalender für ein durch den Bezeichner angegebenes Gebietsschema ab.

Hinweis Aus Gründen der Interoperabilität sollte die Anwendung die GetCalendarInfoEx-Funktion gegenüber GetCalendarInfo bevorzugen, da Microsoft zur Verwendung von Gebietsschemanamen anstelle von Gebietsschemabezeichnern für neue Gebietsschemas migriert. Jede Anwendung, die nur unter Windows Vista und höher ausgeführt wird, sollte GetCalendarInfoEx verwenden.
 

Syntax

int GetCalendarInfoW(
  [in]            LCID    Locale,
  [in]            CALID   Calendar,
  [in]            CALTYPE CalType,
  [out, optional] LPWSTR  lpCalData,
  [in]            int     cchData,
  [out, optional] LPDWORD lpValue
);

Parameter

[in] Locale

Gebietsschemabezeichner , der das Gebietsschema angibt, für das Kalenderinformationen abgerufen werden sollen. Sie können das MAKELCID-Makro verwenden, um einen Gebietsschemabezeichner zu erstellen oder einen der folgenden vordefinierten Werte zu verwenden.

[in] Calendar

Kalenderbezeichner.

[in] CalType

Typ der abzurufenden Informationen. Weitere Informationen finden Sie unter Kalendertypinformationen.

HinweisGetCalendarInfo gibt nur eine Zeichenfolge zurück, wenn dieser Parameter CAL_IYEAROFFSETRANGE oder CAL_SERASTRING angibt. In beiden Fällen wird der aktuelle Zeitraum zurückgegeben.
 
CAL_USE_CP_ACP ist nur für die ANSI-Version dieser Funktion relevant.

Für CAL_NOUSEROVERRIDE ignoriert die Funktion alle von SetCalendarInfo festgelegten Werte und verwendet die Datenbankeinstellungen für das aktuelle Standardgebietsschema des Systems. Dieser Typ ist nur in der Kombination CAL_NOUSEROVERRIDE | CAL_ITWODIGITYEARMAX. CAL_ITWODIGITYEARMAX ist der einzige Wert, der von SetCalendarInfo festgelegt werden kann.

[out, optional] lpCalData

Zeiger auf einen Puffer, in dem diese Funktion die angeforderten Daten als Zeichenfolge abruft. Wenn CAL_RETURN_NUMBER in CalType angegeben ist, muss dieser Parameter NULL abrufen.

[in] cchData

Größe des lpCalData-Puffers in Zeichen. Die Anwendung kann diesen Parameter auf 0 festlegen, um die erforderliche Größe für den Kalenderdatenpuffer zurückzugeben. In diesem Fall wird der lpCalData-Parameter nicht verwendet. Wenn CAL_RETURN_NUMBER für CalType angegeben ist, muss der Wert von cchData 0 sein.

[out, optional] lpValue

Zeiger auf eine Variable, die die angeforderten Daten als Zahl empfängt. Wenn CAL_RETURN_NUMBER in CalType angegeben ist, darf lpValue nicht NULL sein. Wenn CAL_RETURN_NUMBER in CalType nicht angegeben ist, muss lpValueNULL sein.

Rückgabewert

Gibt die Anzahl der im lpCalData-Puffer abgerufenen Zeichen zurück, wobei cchData bei Erfolgreicher Ausführung auf einen Wert ungleich null festgelegt ist. Wenn die Funktion erfolgreich ist, wird cchData auf 0 festgelegt, und CAL_RETURN_NUMBER nicht angegeben ist, entspricht der Rückgabewert der Größe des Puffers, der zum Aufnehmen der Kalenderinformationen erforderlich ist. Wenn die Funktion erfolgreich ist, cchData 0 festgelegt ist und CAL_RETURN_NUMBER angegeben wird, entspricht der Rückgabewert der Größe des in lpValue abgerufenen Werts, d. h. 2 für die Unicode-Version der Funktion oder 4 für die ANSI-Version.

Diese Funktion gibt 0 zurück, wenn sie nicht erfolgreich ist. Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastError aufrufen, wodurch einer der folgenden Fehlercodes zurückgegeben werden kann:

  • ERROR_INSUFFICIENT_BUFFER. Eine angegebene Puffergröße war nicht groß genug, oder sie wurde fälschlicherweise auf NULL festgelegt.
  • ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
  • ERROR_INVALID_PARAMETER. Jeder der Parameterwerte war ungültig.

Hinweise

Hinweis Diese API wird aktualisiert, um die Änderung der japanischen Ära vom Mai 2019 zu unterstützen. Wenn Ihre Anwendung den japanischen Kalender unterstützt, sollten Sie überprüfen, ob die neue Ära ordnungsgemäß behandelt wird. Weitere Informationen finden Sie unter Vorbereiten Ihrer Anwendung für die Änderung der japanischen Ära .
 
Wenn die ANSI-Version dieser Funktion mit einem reinen Unicode-Gebietsschemabezeichner verwendet wird, kann die Funktion erfolgreich ausgeführt werden, da das Betriebssystem die Systemcodepage verwendet. Jedoch werden Zeichen, die auf der Systemcodepage nicht definiert sind, in der Zeichenfolge als Fragezeichen (?) angezeigt.

Hinweis

Der winnls.h-Header definiert GetCalendarInfo 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 winnls.h (windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Kalendertypinformationen

GetCalendarInfoEx

Unterstützung für landessprachliche Sprachen

Unterstützungsfunktionen für nationalsprachliche Sprachen

SetCalendarInfo