ReactOS  0.4.14-dev-49-gfb4591c
load_notifications.c File Reference
#include <windows.h>
Include dependency graph for load_notifications.c:

Go to the source code of this file.

Macros

#define WIN32_NO_STATUS
 
#define _INC_WINDOWS
 
#define COM_NO_WINDOWS_H
 

Functions

static VOID (WINAPI *pTlsCallback)(IN HINSTANCE hDllHandle
 
VOID WINAPI TlsCallback (IN HANDLE hDllHandle, IN DWORD dwReason, IN LPVOID lpvReserved)
 
 _CRTALLOC (".tls")
 
 _CRTALLOC (".rdata$T") const
 
static BOOL (WINAPI *pDllMain)(IN HINSTANCE hDllHandle
 
BOOL WINAPI DllMain (IN HINSTANCE hDllHandle, IN DWORD dwReason, IN LPVOID lpvReserved)
 

Variables

static IN DWORD dwReason
 
static IN DWORD IN LPVOID lpvReserved
 
ULONG _tls_index = 0
 

Macro Definition Documentation

◆ _INC_WINDOWS

#define _INC_WINDOWS

Definition at line 2 of file load_notifications.c.

◆ COM_NO_WINDOWS_H

#define COM_NO_WINDOWS_H

Definition at line 3 of file load_notifications.c.

◆ WIN32_NO_STATUS

#define WIN32_NO_STATUS

Definition at line 1 of file load_notifications.c.

Function Documentation

◆ _CRTALLOC() [1/2]

_CRTALLOC ( ".tls"  )

Definition at line 42 of file load_notifications.c.

45  { &TlsCallback, NULL };
smooth NULL
Definition: ftsmooth.c:416
VOID WINAPI TlsCallback(IN HANDLE hDllHandle, IN DWORD dwReason, IN LPVOID lpvReserved)

◆ _CRTALLOC() [2/2]

_CRTALLOC ( ".rdata$T"  ) const

Definition at line 49 of file load_notifications.c.

49  {
50  (ULONG_PTR) &_tls_start+1, (ULONG_PTR) &_tls_end,
51  (ULONG_PTR) &_tls_index, (ULONG_PTR) (__xl_a),
52  (ULONG) 0, (ULONG) 0
53 };
uint32_t ULONG_PTR
Definition: typedefs.h:63
ULONG _tls_index
unsigned int ULONG
Definition: retypes.h:1
#define ULONG_PTR
Definition: config.h:101

◆ BOOL()

static BOOL ( WINAPI pDllMain)
static

◆ DllMain()

BOOL WINAPI DllMain ( IN HINSTANCE  hDllHandle,
IN DWORD  dwReason,
IN LPVOID  lpvReserved 
)

Definition at line 60 of file load_notifications.c.

63 {
64  if (!pDllMain)
65  pDllMain = (VOID*)GetProcAddress(NULL, "notify_DllMain");
66  if (pDllMain)
67  {
68  return pDllMain(hDllHandle, dwReason, lpvReserved);
69  }
70  OutputDebugStringA("WARNING: load_notifications.dll loaded from a process without notify_DllMain\n");
71  return TRUE;
72 }
#define TRUE
Definition: types.h:120
static IN DWORD IN LPVOID lpvReserved
smooth NULL
Definition: ftsmooth.c:416
static IN DWORD dwReason
#define GetProcAddress(x, y)
Definition: compat.h:410
void WINAPI SHIM_OBJ_NAME() OutputDebugStringA(LPCSTR lpOutputString)
Definition: ignoredbgout.c:18

◆ TlsCallback()

VOID WINAPI TlsCallback ( IN HANDLE  hDllHandle,
IN DWORD  dwReason,
IN LPVOID  lpvReserved 
)

Definition at line 20 of file load_notifications.c.

23 {
24  if (!pTlsCallback)
25  pTlsCallback = (VOID*)GetProcAddress(NULL, "notify_TlsCallback");
26  if (pTlsCallback)
27  {
28  pTlsCallback(hDllHandle, dwReason, lpvReserved);
29  return;
30  }
31  OutputDebugStringA("WARNING: load_notifications.dll loaded from a process without notify_TlsCallback\n");
32 }
static IN DWORD IN LPVOID lpvReserved
smooth NULL
Definition: ftsmooth.c:416
static IN DWORD dwReason
#define GetProcAddress(x, y)
Definition: compat.h:410
void WINAPI SHIM_OBJ_NAME() OutputDebugStringA(LPCSTR lpOutputString)
Definition: ignoredbgout.c:18

Referenced by _CRTALLOC().

◆ VOID()

static VOID ( WINAPI pTlsCallback)
static

Variable Documentation

◆ _tls_index

ULONG _tls_index = 0

Definition at line 47 of file load_notifications.c.

Referenced by _CRTALLOC().

◆ dwReason

IN DWORD dwReason

Definition at line 17 of file load_notifications.c.

Referenced by DllMain(), notify_DllMain(), notify_TlsCallback(), and TlsCallback().

◆ lpvReserved

static IN DWORD IN LPVOID lpvReserved

Definition at line 17 of file load_notifications.c.

Referenced by _CorDllMain(), DllMain(), TlsCallback(), and WIC_DllMain().