Hello,

>
> We don't use this hungarian notation anywhere ... it certainly looks
> ugly.
>

Sorry, I modify pgevent.c again and suppress all hungarian variables naming.

I add a diff -c for src/bin/Makefile, necessary to compile pgevent for
windows platform.


regards

Laurent Ballester
/*-------------------------------------------------------------------------
 *
 * pgevent.c
 *              Defines the entry point for pgevent dll.
 *      The DLL defines event source for backend
 *
 *
 * IDENTIFICATION
 *        $PostgreSQL$
 *
 *-------------------------------------------------------------------------
 */


#include "windows.h"
#include "olectl.h"
#include "string.h"

/* Global variables */
HANDLE g_module = NULL;                                 /* hModule of DLL */

/* Prototypes */
STDAPI DllRegisterServer(void) ;
STDAPI DllUnregisterServer(void);
BOOL WINAPI DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved );

/*
 * DllRegisterServer --- Instructs DLL to create its registry entries 
 */

STDAPI DllRegisterServer(void) 
{
    HKEY key; 
    DWORD data; 
    char buffer[_MAX_PATH]; 

    /* Set the name of DLL full path name. */
        if (!GetModuleFileName((HMODULE)g_module, buffer, sizeof(buffer)))
        {
                MessageBox(NULL, "Could not retrieve DLL filename", "PostgreSQL 
error", MB_OK|MB_ICONSTOP); 
                return SELFREG_E_TYPELIB; 
        }

    /* Add PostgreSQL source name as a subkey under the Application 
           key in the EventLog registry key. */
    if ( RegCreateKey(HKEY_LOCAL_MACHINE, 
"SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\PostgreSQL", &key) ) 
        {
        MessageBox(NULL, "Could not create the registry key.", "PostgreSQL error", 
MB_OK|MB_ICONSTOP); 
                return SELFREG_E_TYPELIB; 
        }

     /* Add the name to the EventMessageFile subkey. */
        if (RegSetValueEx(key,                          
                        "EventMessageFile",                     
                        0,                                                      
                        REG_EXPAND_SZ,            
                        (LPBYTE) buffer,        
            strlen(buffer) + 1))
        {
        MessageBox(NULL, "Could not set the event message file.", "PostgreSQL error", 
MB_OK|MB_ICONSTOP); 
                return SELFREG_E_TYPELIB; 
        }
 
    /* Set the supported event types in the TypesSupported subkey. */
    data = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE; 
 
    if (RegSetValueEx(key,      
            "TypesSupported",  
            0,                 
            REG_DWORD,         
            (LPBYTE) &data,  
            sizeof(DWORD)))    
        {
        MessageBox(NULL, "Could not set the supported types.", "PostgreSQL error", 
MB_OK|MB_ICONSTOP); 
                return SELFREG_E_TYPELIB; 
        }
 
    RegCloseKey(key); 
        return S_OK;
}

/*
 * DllUnregisterServer --- Instructs DLL to remove only those entries created through 
DllRegisterServer
 */

STDAPI DllUnregisterServer(void)
{
        /* Remove PostgreSQL source name as a subkey under the Application 
           key in the EventLog registry key. */
 
        if ( RegDeleteKey(HKEY_LOCAL_MACHINE, 
"SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\PostgreSQL") )
        {
                MessageBox(NULL, "Could not delete the registry key.", "PostgreSQL 
error", MB_OK|MB_ICONSTOP); 
                return SELFREG_E_TYPELIB; 
        }
        return S_OK;
}

/*
 * DllMain --- is an optional entry point into a DLL.
 */

BOOL WINAPI DllMain( HANDLE hModule, 
                     DWORD  ul_reason_for_call, 
                     LPVOID lpReserved
                                        )
{
        if ( ul_reason_for_call == DLL_PROCESS_ATTACH ) 
        {
                g_module = hModule;
        }
    return TRUE;
}

Attachment: diff_Makefile
Description: Binary data

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to