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.
|
|
/*
* _NOTIFY.H * * WAB Notification Engine Headers * * Copyright 1996 Microsoft Corporation. All Rights Reserved. */
#define MAX_NOTIFICATION_SPACE 0x10000 // maximum size of shared memory
#define WAB_W_NO_ADVISE (MAKE_MAPI_S(0x1002))
// Notification node structure for Global Notification List
typedef struct _NOTIFICATION_NODE { ULONG ulIdentifier; // unique identifier for this notification
ULONG ulCount; // number of advise processes that have seen it
NOTIFICATION Notification; // notification structure
struct _NOTIFICATION_NODE * lpNext; // Pointer to next node
ULONG cbData; // size of data in bytes
BYTE Data[]; // additional data for this node
} NOTIFICATION_NODE, * LPNOTIFICATION_NODE;
// Notification list structure for Global Notification List
typedef struct _NOTICATION_LIST { ULONG cAdvises; // Number of advise processes
ULONG cEntries; // Number of entries in the list
ULONG ulNextIdentifier; // next notification identifer
LPNOTIFICATION_NODE lpNode; // First node in list or NULL if empty
} NOTIFICATION_LIST, *LPNOTIFICATION_LIST;
// Advise node structure for Local Advise List
typedef struct _ADVISE_NODE { ULONG ulConnection; // connection identifier
ULONG ulEventMask; // mask of event types
LPMAPIADVISESINK lpAdviseSink; // AdviseSink object to be called on notification
struct _ADVISE_NODE * lpNext; // next node in AdviseList
struct _ADVISE_NODE * lpPrev; // next node in AdviseList
ULONG cbEntryID; // size of lpEntryID
BYTE EntryID[]; // EntryID of object to advise on
} ADVISE_NODE, *LPADVISE_NODE;
// Advise list structure for Local Advise List
typedef struct _ADVISE_LIST { ULONG cAdvises; // Number of nodes in the list
LPADVISE_NODE lpNode; } ADVISE_LIST, *LPADVISE_LIST;
HRESULT HrFireNotification(LPNOTIFICATION lpNotification);
|