Subversion Repositories Aucun

Rev

Rev 40 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#ifndef __GINAHOOK_H__
#define __GINAHOOK_H__

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
 EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.

 Copyright (C) 1996 - 2000.  Microsoft Corporation.  All rights reserved.

 Module:   Ginahook.h

 Abstract: See ReadMe.txt for more detail information about this sample.

 Revision: August 6, 1999.

------------------------------------------------------------------------------*/


//
// Function prototypes for the GINA interface.
//

typedef BOOL(WINAPI * PFWLXNEGOTIATE)(DWORD, DWORD *);
typedef BOOL(WINAPI * PFWLXINITIALIZE)(LPWSTR, HANDLE, PVOID, PVOID, PVOID *);
typedef VOID(WINAPI * PFWLXDISPLAYSASNOTICE)(PVOID);
typedef int(WINAPI * PFWLXLOGGEDOUTSAS)(PVOID, DWORD, PLUID, PSID, PDWORD,
                                        PHANDLE, PWLX_MPR_NOTIFY_INFO,
                                        PVOID *);
typedef BOOL(WINAPI * PFWLXACTIVATEUSERSHELL)(PVOID, PWSTR, PWSTR, PVOID);
typedef int(WINAPI * PFWLXLOGGEDONSAS)(PVOID, DWORD, PVOID);
typedef VOID(WINAPI * PFWLXDISPLAYLOCKEDNOTICE)(PVOID);
typedef int(WINAPI * PFWLXWKSTALOCKEDSAS)(PVOID, DWORD);
typedef BOOL(WINAPI * PFWLXISLOCKOK)(PVOID);
typedef BOOL(WINAPI * PFWLXISLOGOFFOK)(PVOID);
typedef VOID(WINAPI * PFWLXLOGOFF)(PVOID);
typedef VOID(WINAPI * PFWLXSHUTDOWN)(PVOID, DWORD);

//
// New for version 1.1
//

typedef BOOL(WINAPI * PFWLXSCREENSAVERNOTIFY)(PVOID, BOOL *);
typedef BOOL(WINAPI * PFWLXSTARTAPPLICATION)(PVOID, PWSTR, PVOID, PWSTR);

//
// New for version 1.3
//

typedef BOOL(WINAPI * PFWLXNETWORKPROVIDERLOAD)(PVOID, PWLX_MPR_NOTIFY_INFO);
typedef BOOL(WINAPI * PFWLXDISPLAYSTATUSMESSAGE)(PVOID, HDESK, DWORD, PWSTR, PWSTR);
typedef BOOL(WINAPI * PFWLXGETSTATUSMESSAGE)(PVOID, DWORD *, PWSTR, DWORD);
typedef BOOL(WINAPI * PFWLXREMOVESTATUSMESSAGE)(PVOID);

//
// New for version 1.4
//

typedef BOOL(WINAPI * PWLXGETCONSOLESWITCHCREDENTIALS)(PVOID, PVOID);
typedef VOID(WINAPI * PWLXRECONNECTNOTIFY)(PVOID);
typedef VOID(WINAPI * PWLXDISCONNECTNOTIFY)(PVOID);

typedef struct
{
    HANDLE mCurrentUser;
    HANDLE Winlogon;
    HANDLE mLSA;
    PVOID mHookedContext;
} MyGinaContext;


#endif