Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// --------------------------------------------------------------------------
// Module Name: GinaIPC.h
//
// Copyright (c) 1999-2000, Microsoft Corporation
//
// Private structures that allow the CLogonIPC class hosted in an external
// process to communicate with GINA which provides the logon service within
// the Winlogon process.
//
// History: 1999-08-20 vtan created
// 2000-01-31 vtan moved from Neptune to Whistler
// 2000-05-05 vtan added GINA -> UI communications
// 2000-06-16 vtan moved to ds\published\inc
// --------------------------------------------------------------------------
#ifndef _GinaIPC_
#define _GinaIPC_
#include <lmcons.h>
// These are enumerations of valid requested functionality.
static const UINT WM_LOGONSERVICEREQUEST = WM_USER + 8517; static const UINT WM_UISERVICEREQUEST = WM_USER + 7647;
// These are messages for UI -> GINA communications.
static const int LOGON_QUERY_LOGGED_ON = 1; static const int LOGON_LOGON_USER = 2; static const int LOGON_LOGOFF_USER = 3; static const int LOGON_TEST_BLANK_PASSWORD = 4; static const int LOGON_TEST_INTERACTIVE_LOGON_ALLOWED = 5; static const int LOGON_TEST_EJECT_ALLOWED = 6; static const int LOGON_TEST_SHUTDOWN_ALLOWED = 7; static const int LOGON_TURN_OFF_COMPUTER = 10; static const int LOGON_EJECT_COMPUTER = 11; static const int LOGON_SIGNAL_UIHOST_FAILURE = 20; static const int LOGON_ALLOW_EXTERNAL_CREDENTIALS = 30; static const int LOGON_REQUEST_EXTERNAL_CREDENTIALS = 31;
// These are messages for GINA -> UI communications.
static const int UI_STATE_NONE = 0; static const int UI_TERMINATE = 1; static const int UI_STATE_STATUS = 2; static const int UI_STATE_LOGON = 3; static const int UI_STATE_LOGGEDON = 4; static const int UI_STATE_HIDE = 5; static const int UI_STATE_END = 6; static const int UI_DISPLAY_STATUS = 10; static const int UI_NOTIFY_WAIT = 20; static const int UI_SELECT_USER = 21; static const int UI_SET_ANIMATIONS = 22; static const int UI_INTERACTIVE_LOGON = 30;
// These are start methods of the UI host
static const int HOST_START_NORMAL = 0; static const int HOST_START_SHUTDOWN = 1; static const int HOST_START_WAIT = 2;
// These are end methods of the UI host
static const int HOST_END_HIDE = 0; static const int HOST_END_TERMINATE = 1; static const int HOST_END_FAILURE = 2;
// This is generic to all request types.
typedef struct { BOOL fResult; } LOGONIPC;
// This represents user identification.
typedef struct { LOGONIPC logonIPC; WCHAR wszUsername[UNLEN + sizeof('\0')], wszDomain[DNLEN + sizeof('\0')]; } LOGONIPC_USERID;
// This represents user credentials (identification + password).
// The password is run encoded when stored in memory.
typedef struct { LOGONIPC_USERID userID; WCHAR wszPassword[PWLEN + sizeof('\0')]; int iPasswordLength; unsigned char ucPasswordSeed; } LOGONIPC_CREDENTIALS;
// This structure is used to return users from msgina to shgina.
typedef struct { LPWSTR pszName; LPWSTR pszDomain; LPWSTR pszFullName; DWORD dwFlags; } GINA_USER_INFORMATION;
// This is the status window class shared between msgina and shgina.
#define STATUS_WINDOW_CLASS_NAME (TEXT("StatusWindowClass"))
#endif /* _GinaIPC_ */
|