mirror of
https://github.com/reactos/reactos.git
synced 2024-08-24 20:28:57 +00:00
69 lines
1.6 KiB
C
69 lines
1.6 KiB
C
#pragma once
|
|
|
|
#define DECLARE_RETURN(type) type _ret_
|
|
#define RETURN(value) { _ret_ = value; goto _cleanup_; }
|
|
#define CLEANUP /*unreachable*/ ASSERT(FALSE); _cleanup_
|
|
#define END_CLEANUP return _ret_;
|
|
|
|
#define UserEnterCo UserEnterExclusive
|
|
#define UserLeaveCo UserLeave
|
|
|
|
typedef VOID (*TL_FN_FREE)(PVOID);
|
|
|
|
/* Thread Lock structure */
|
|
typedef struct _TL
|
|
{
|
|
struct _TL* next;
|
|
PVOID pobj;
|
|
TL_FN_FREE pfnFree;
|
|
} TL, *PTL;
|
|
|
|
extern PSERVERINFO gpsi;
|
|
extern PTHREADINFO gptiCurrent;
|
|
extern PPROCESSINFO gppiList;
|
|
extern PPROCESSINFO ppiScrnSaver;
|
|
extern PPROCESSINFO gppiInputProvider;
|
|
extern BOOL g_AlwaysDisplayVersion;
|
|
extern ATOM gaGuiConsoleWndClass;
|
|
extern ATOM AtomDDETrack;
|
|
extern ATOM AtomQOS;
|
|
extern ATOM AtomImeLevel;
|
|
extern ERESOURCE UserLock;
|
|
|
|
CODE_SEG("INIT") NTSTATUS NTAPI InitUserImpl(VOID);
|
|
VOID FASTCALL CleanupUserImpl(VOID);
|
|
VOID FASTCALL UserEnterShared(VOID);
|
|
VOID FASTCALL UserEnterExclusive(VOID);
|
|
VOID FASTCALL UserLeave(VOID);
|
|
BOOL FASTCALL UserIsEntered(VOID);
|
|
BOOL FASTCALL UserIsEnteredExclusive(VOID);
|
|
DWORD FASTCALL UserGetLanguageToggle(VOID);
|
|
|
|
_Success_(return != FALSE)
|
|
BOOL
|
|
NTAPI
|
|
RegReadUserSetting(
|
|
_In_z_ PCWSTR pwszKeyName,
|
|
_In_z_ PCWSTR pwszValueName,
|
|
_In_ ULONG ulType,
|
|
_Out_writes_bytes_(cjDataSize) _When_(ulType == REG_SZ, _Post_z_) PVOID pvData,
|
|
_In_ ULONG cjDataSize);
|
|
|
|
_Success_(return != FALSE)
|
|
BOOL
|
|
NTAPI
|
|
RegWriteUserSetting(
|
|
_In_z_ PCWSTR pwszKeyName,
|
|
_In_z_ PCWSTR pwszValueName,
|
|
_In_ ULONG ulType,
|
|
_In_reads_bytes_(cjDataSize) const VOID *pvData,
|
|
_In_ ULONG cjDataSize);
|
|
|
|
PGRAPHICS_DEVICE
|
|
NTAPI
|
|
InitDisplayDriver(
|
|
IN PWSTR pwszDeviceName,
|
|
IN PWSTR pwszRegKey);
|
|
|
|
/* EOF */
|