windows-nt/Source/XPSP1/NT/public/internal/com/inc/sensapip.h
2020-09-26 16:20:57 +08:00

153 lines
3.1 KiB
C

/*++
Copyright (c) Microsoft Corporation. All rights reserved.
Module Name:
sensapip.h
Abstract:
This header file is used by components external to System Event
Notification Service (SENS). These components will call SENS to
notify it of events related to themselves.
Author:
Gopal Parupudi <GopalP>
[Notes:]
optional-notes
Revision History:
GopalP 11/4/1997 Start.
--*/
#ifndef __SENSAPIP_H__
#define __SENSAPIP_H__
#if _MSC_VER > 1000
#pragma once
#endif
//
// Includes
//
#if !defined(__midl)
#include <netcon.h>
#else
import "netcon.idl";
#endif // __midl
#ifdef __cplusplus
extern "C" {
#endif
//
// Constants
//
#define SENS_NOTIFY_RAS_STARTED 0x00000001
#define SENS_NOTIFY_RAS_STOPPED 0x00000002
#define SENS_NOTIFY_RAS_CONNECT 0x00000004
#define SENS_NOTIFY_RAS_DISCONNECT 0x00000008
#define SENS_NOTIFY_RAS_DISCONNECT_PENDING 0x00000010
#define SENS_NOTIFY_LAN_CONNECT 0x00000020
#define SENS_NOTIFY_LAN_DISCONNECT 0x00000040
#define SENS_NOTIFY_WINLOGON_LOGON 0x00001000
#define SENS_NOTIFY_WINLOGON_LOGOFF 0x00002000
#define SENS_NOTIFY_WINLOGON_STARTUP 0x00004000
#define SENS_NOTIFY_WINLOGON_STARTSHELL 0x00008000
#define SENS_NOTIFY_WINLOGON_SHUTDOWN 0x00010000
#define SENS_NOTIFY_WINLOGON_LOCK 0x00020000
#define SENS_NOTIFY_WINLOGON_UNLOCK 0x00040000
#define SENS_NOTIFY_WINLOGON_STARTSCREENSAVER 0x00080000
#define SENS_NOTIFY_WINLOGON_STOPSCREENSAVER 0x00100000
#define SENS_NOTIFY_WINLOGON_POSTSHELL 0x00200000
#define SENS_NOTIFY_WINLOGON_SESSION_DISCONNECT 0x00400000
#define SENS_NOTIFY_WINLOGON_SESSION_RECONNECT 0x00800000
//
// Typedefs
//
typedef DWORD SENS_HRASCONN;
typedef struct _WINLOGON_INFO
{
ULONG Size;
ULONG Flags;
LPWSTR UserName;
LPWSTR Domain;
LPWSTR WindowStation;
DWORD hToken; // Originally HANDLE
DWORD hDesktop; // Originally HDESK
DWORD dwSessionId;
} WINLOGON_INFO, *PWINLOGON_INFO;
typedef struct _SENS_NOTIFY_WINLOGON
{
DWORD eType;
WINLOGON_INFO Info;
} SENS_NOTIFY_WINLOGON, *PSENS_NOTIFY_WINLOGON;
typedef struct _SENS_NOTIFY_RAS
{
DWORD eType;
SENS_HRASCONN hConnection;
} SENS_NOTIFY_RAS, *PSENS_NOTIFY_RAS;
typedef struct _SENS_NOTIFY_NETCON
{
DWORD eType;
INetConnection *pINetConnection;
} SENS_NOTIFY_NETCON, *PSENS_NOTIFY_NETCON;
typedef struct _SENS_NOTIFY_NETCON_P // _P stands for Private
{
DWORD eType;
#ifdef MIDL_PASS
[string]
#endif // MIDL_PASS
LPWSTR Name;
NETCON_STATUS Status;
NETCON_MEDIATYPE Type;
} SENS_NOTIFY_NETCON_P, *PSENS_NOTIFY_NETCON_P;
//
// Function prototypes
//
#if !defined(__midl)
DWORD APIENTRY
SensNotifyWinlogonEvent(
PSENS_NOTIFY_WINLOGON pEvent
);
DWORD APIENTRY
SensNotifyRasEvent(
PSENS_NOTIFY_RAS pEvent
);
DWORD APIENTRY
SensNotifyNetconEvent(
PSENS_NOTIFY_NETCON pEvent
);
#endif // !defined(__midl)
#ifdef __cplusplus
}
#endif
#endif // __SENSAPIP_H__