hand-applied patch with wrapped lines
Douglas Lankshear [Thu, 11 Jun 1998 11:06:33 +0000 (04:06 -0700)]
Subject: [PATCH 5.004_66] Win32::Reg... bloat in Win32
Message-ID: <000101bd9563$aae0c4c0$a32fa8c0@tau.Active>

p4raw-id: //depot/perl@1124

win32/win32.c

index b22ec8a..a20fc61 100644 (file)
@@ -2300,714 +2300,6 @@ XS(w32_Sleep)
     XSRETURN_YES;
 }
 
-#define TMPBUFSZ 1024
-#define MAX_LENGTH 2048
-#define SUCCESSRETURNED(x)     (x == ERROR_SUCCESS)
-#define REGRETURN(x) XSRETURN_IV(SUCCESSRETURNED(x))
-#define SvHKEY(index) (HKEY)((unsigned long)SvIV(index))
-#define SETIV(index,value) sv_setiv(ST(index), value)
-#define SETNV(index,value) sv_setnv(ST(index), value)
-#define SETPV(index,string) sv_setpv(ST(index), string)
-#define SETPVN(index, buffer, length) sv_setpvn(ST(index), (char*)buffer, length)
-#define SETHKEY(index, hkey)   SETIV(index,(long)hkey)
-
-static time_t ft2timet(FILETIME *ft)
-{
-    SYSTEMTIME st;
-    struct tm tm;
-
-    FileTimeToSystemTime(ft, &st);
-    tm.tm_sec = st.wSecond;
-    tm.tm_min = st.wMinute;
-    tm.tm_hour = st.wHour;
-    tm.tm_mday = st.wDay;
-    tm.tm_mon = st.wMonth - 1;
-    tm.tm_year = st.wYear - 1900;
-    tm.tm_wday = st.wDayOfWeek;
-    tm.tm_yday = -1;
-    tm.tm_isdst = -1;
-    return mktime (&tm);
-}
-
-static
-XS(w32_RegCloseKey)
-{
-    dXSARGS;
-
-    if (items != 1) 
-    {
-       croak("usage: Win32::RegCloseKey($hkey);\n");
-    }
-
-    REGRETURN(RegCloseKey(SvHKEY(ST(0))));
-}
-
-static
-XS(w32_RegConnectRegistry)
-{
-    dXSARGS;
-    HKEY handle;
-
-    if (items != 3) 
-    {
-       croak("usage: Win32::RegConnectRegistry($machine, $hkey, $handle);\n");
-    }
-
-    if (SUCCESSRETURNED(RegConnectRegistry((char *)SvPV(ST(0), na), SvHKEY(ST(1)), &handle))) 
-    {
-       SETHKEY(2,handle);
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-static
-XS(w32_RegCreateKey)
-{
-    dXSARGS;
-    HKEY handle;
-    DWORD disposition;
-    long retval;
-
-    if (items != 3) 
-    {
-       croak("usage: Win32::RegCreateKey($hkey, $subkey, $handle);\n");
-    }
-
-    retval =  RegCreateKeyEx(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS,
-                                       NULL, &handle, &disposition);
-
-    if (SUCCESSRETURNED(retval)) 
-    {
-       SETHKEY(2,handle);
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-static
-XS(w32_RegCreateKeyEx)
-{
-    dXSARGS;
-
-    unsigned int length;
-    long retval;
-    HKEY hkey, handle;
-    char *subkey;
-    char *keyclass;
-    DWORD options, disposition;
-    REGSAM sam;
-    SECURITY_ATTRIBUTES sa, *psa;
-
-    if (items != 9) 
-    {
-       croak("usage: Win32::RegCreateKeyEx($hkey, $subkey, $reserved, $class, $options, $sam, "
-                       "$security, $handle, $disposition);\n");
-    }
-
-    hkey = SvHKEY(ST(0));
-    subkey = (char *)SvPV(ST(1), na);
-    keyclass = (char *)SvPV(ST(3), na);
-    options = (DWORD) ((unsigned long)SvIV(ST(4)));
-    sam = (REGSAM) ((unsigned long)SvIV(ST(5)));
-    psa = (SECURITY_ATTRIBUTES*)SvPV(ST(6), length);
-    if (length != sizeof(SECURITY_ATTRIBUTES))
-    {
-       psa = &sa;
-       memset(&sa, 0, sizeof(SECURITY_ATTRIBUTES));
-       sa.nLength = sizeof(SECURITY_ATTRIBUTES);
-    }
-
-    retval =  RegCreateKeyEx(hkey, subkey, 0, keyclass, options, sam,
-                                       psa, &handle, &disposition);
-
-    if (SUCCESSRETURNED(retval)) 
-    {
-       if (psa == &sa)
-           SETPVN(6, &sa, sizeof(sa));
-
-       SETHKEY(7,handle);
-       SETIV(8,disposition);
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-static
-XS(w32_RegDeleteKey)
-{
-    dXSARGS;
-
-    if (items != 2) 
-    {
-       croak("usage: Win32::RegDeleteKey($hkey, $subkey);\n");
-    }
-
-    REGRETURN(RegDeleteKey(SvHKEY(ST(0)), (char *)SvPV(ST(1), na)));
-}
-
-static
-XS(w32_RegDeleteValue)
-{
-    dXSARGS;
-
-    if (items != 2) 
-    {
-       croak("usage: Win32::RegDeleteValue($hkey, $valname);\n");
-    }
-
-    REGRETURN(RegDeleteValue(SvHKEY(ST(0)), (char *)SvPV(ST(1), na)));
-}
-
-static
-XS(w32_RegEnumKey)
-{
-    dXSARGS;
-
-    char keybuffer[TMPBUFSZ];
-
-    if (items != 3) 
-    {
-       croak("usage: Win32::RegEnumKey($hkey, $idx, $subkeyname);\n");
-    }
-
-    if (SUCCESSRETURNED(RegEnumKey(SvHKEY(ST(0)), SvIV(ST(1)), keybuffer, sizeof(keybuffer)))) 
-    {
-       SETPV(2, keybuffer);
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-static
-XS(w32_RegEnumKeyEx)
-{
-    dXSARGS;
-    int length;
-
-    DWORD keysz, classsz;
-    char keybuffer[TMPBUFSZ];
-    char classbuffer[TMPBUFSZ];
-    long retval;
-    FILETIME filetime;
-
-    if (items != 6)                    
-    {
-       croak("usage: Win32::RegEnumKeyEx($hkey, $idx, $subkeyname, $reserved, $class, $time);\n");
-    }
-
-    keysz = sizeof(keybuffer);
-    classsz = sizeof(classbuffer);
-    retval = RegEnumKeyEx(SvHKEY(ST(0)), SvIV(ST(1)), keybuffer, &keysz, 0,
-                                               classbuffer, &classsz, &filetime);
-    if (SUCCESSRETURNED(retval)) 
-    {
-       SETPV(2, keybuffer);
-       SETPV(4, classbuffer);
-       SETIV(5, ft2timet(&filetime));
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-static
-XS(w32_RegEnumValue)
-{
-    dXSARGS;
-    HKEY hkey;
-    DWORD type, namesz, valsz;
-    long retval;
-    static HKEY last_hkey;
-    char  myvalbuf[MAX_LENGTH];
-    char  mynambuf[MAX_LENGTH];
-
-    if (items != 6) 
-    {
-       croak("usage: Win32::RegEnumValue($hkey, $i, $name, $reserved, $type, $value);\n");
-    }
-
-    hkey = SvHKEY(ST(0));
-
-    // If this is a new key, find out how big the maximum name and value sizes are and
-    // allocate space for them. Free any old storage and set the old key value to the
-    // current key.
-
-    if (hkey != (HKEY)last_hkey) 
-    {
-       char keyclass[TMPBUFSZ];
-       DWORD classsz, subkeys, maxsubkey, maxclass, values, salen, maxnamesz, maxvalsz;
-       FILETIME ft;
-       classsz = sizeof(keyclass);
-       retval = RegQueryInfoKey(hkey, keyclass, &classsz, 0, &subkeys, &maxsubkey, &maxclass,
-                                               &values, &maxnamesz, &maxvalsz, &salen, &ft);
-
-       if (!SUCCESSRETURNED(retval)) 
-       {
-           XSRETURN_NO;
-       }
-       memset(myvalbuf, 0, MAX_LENGTH);
-       memset(mynambuf, 0, MAX_LENGTH);
-       last_hkey = hkey;
-    }
-
-    namesz = MAX_LENGTH;
-    valsz = MAX_LENGTH;
-    retval = RegEnumValue(hkey, SvIV(ST(1)), mynambuf, &namesz, 0, &type, (LPBYTE) myvalbuf, &valsz);
-    if (!SUCCESSRETURNED(retval)) 
-    {
-       XSRETURN_NO;
-    }
-    else 
-    {
-       SETPV(2, mynambuf);
-       SETIV(4, type);
-
-       // return includes the null terminator so delete it if REG_SZ, REG_MULTI_SZ or REG_EXPAND_SZ
-       switch(type)
-       {
-           case REG_SZ:
-           case REG_MULTI_SZ:
-           case REG_EXPAND_SZ:
-               if (valsz)
-                   --valsz;
-           case REG_BINARY:
-               SETPVN(5, myvalbuf, valsz);
-               break;
-
-           case REG_DWORD_BIG_ENDIAN:
-               {
-                   BYTE tmp = myvalbuf[0];
-                   myvalbuf[0] = myvalbuf[3];
-                   myvalbuf[3] = tmp;
-                   tmp = myvalbuf[1];
-                   myvalbuf[1] = myvalbuf[2];
-                   myvalbuf[2] = tmp;
-               }
-           case REG_DWORD_LITTLE_ENDIAN:       // same as REG_DWORD
-               SETNV(5, (double)*((DWORD*)myvalbuf));
-               break;
-
-           default:
-               break;
-       }
-
-       XSRETURN_YES;
-    }
-}
-
-static
-XS(w32_RegFlushKey)
-{
-    dXSARGS;
-
-    if (items != 1) 
-    {
-       croak("usage: Win32::RegFlushKey($hkey);\n");
-    }
-
-    REGRETURN(RegFlushKey(SvHKEY(ST(0))));
-}
-
-static
-XS(w32_RegGetKeySecurity)
-{
-    dXSARGS;
-    SECURITY_DESCRIPTOR sd;
-    DWORD sdsz;
-
-    if (items != 3) 
-    {
-       croak("usage: Win32::RegGetKeySecurity($hkey, $security_info, $security_descriptor);\n");
-    }
-
-    if (SUCCESSRETURNED(RegGetKeySecurity(SvHKEY(ST(0)), SvIV(ST(1)), &sd, &sdsz))) 
-    {
-       SETPVN(2, &sd, sdsz);
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-static
-XS(w32_RegLoadKey)
-{
-    dXSARGS;
-
-    if (items != 3) 
-    {
-       croak("usage: Win32::RegLoadKey($hkey, $subkey, $filename);\n");
-    }
-
-    REGRETURN(RegLoadKey(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), (char *)SvPV(ST(2), na)));
-}
-
-static
-XS(w32_RegNotifyChangeKeyValue)
-{
-    croak("Win32::RegNotifyChangeKeyValue not yet implemented!\n");
-}
-
-static
-XS(w32_RegOpenKey)
-{
-    dXSARGS;
-    HKEY handle;
-
-    if (items != 3) 
-    {
-       croak("usage: Win32::RegOpenKey($hkey, $subkey, $handle);\n");
-    }
-
-    if (SUCCESSRETURNED(RegOpenKey(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), &handle))) 
-    {
-       SETHKEY(2,handle);
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-static
-XS(w32_RegOpenKeyEx)
-{
-    dXSARGS;
-    HKEY handle;
-
-    if (items != 5) 
-    {
-       croak("usage: Win32::RegOpenKeyEx($hkey, $subkey, $reserved, $sam, $handle);\n");
-    }
-
-    if (SUCCESSRETURNED(RegOpenKeyEx(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), 
-                               0, (REGSAM) ((unsigned long)SvIV(ST(3))), &handle))) 
-    {
-       SETHKEY(4,handle);
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-#pragma optimize("", off)
-static
-XS(w32_RegQueryInfoKey)
-{
-    dXSARGS;
-    int length;
-
-    char keyclass[TMPBUFSZ];
-    DWORD subkeys, maxsubkey, maxclass, values, maxvalname, maxvaldata;
-    DWORD seclen, classsz;
-    FILETIME ft;
-    long retval;
-
-    if (items != 10) 
-    {
-       croak("usage: Win32::RegQueryInfoKey($hkey, $class, $numsubkeys, $maxsubkey,"
-               "$maxclass, $values, $maxvalname, $maxvaldata, $secdesclen,"
-                       "$lastwritetime);\n");
-    }
-
-    classsz = sizeof(keyclass);
-    retval = RegQueryInfoKey(SvHKEY(ST(0)), keyclass, &classsz, 0, &subkeys, &maxsubkey,
-                               &maxclass, &values, &maxvalname, &maxvaldata,
-                                       &seclen, &ft);
-    if (SUCCESSRETURNED(retval)) 
-    {
-       SETPV(1, keyclass);
-       SETIV(2, subkeys);
-       SETIV(3, maxsubkey);
-       SETIV(4, maxclass);
-       SETIV(5, values);
-       SETIV(6, maxvalname);
-       SETIV(7, maxvaldata);
-       SETIV(8, seclen);
-       SETIV(9, ft2timet(&ft));
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-#pragma optimize("", on)
-
-static
-XS(w32_RegQueryValue)
-{
-    dXSARGS;
-
-    unsigned char databuffer[TMPBUFSZ*2];
-    long datasz = sizeof(databuffer);
-
-    if (items != 3) 
-    {
-       croak("usage: Win32::RegQueryValue($hkey, $valuename, $data);\n");
-    }
-
-    if (SUCCESSRETURNED(RegQueryValue(SvHKEY(ST(0)), SvPV(ST(1), na), (char*)databuffer, &datasz))) 
-    {
-       // return includes the null terminator so delete it
-       SETPVN(2, databuffer, --datasz);
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-static
-XS(w32_RegQueryValueEx)
-{
-    dXSARGS;
-
-    unsigned char databuffer[TMPBUFSZ*2];
-    DWORD datasz = sizeof(databuffer);
-    DWORD type;
-    LONG result;
-    LPBYTE ptr = databuffer;
-
-    if (items != 5) 
-    {
-       croak("usage: Win32::RegQueryValueEx($hkey, $valuename, $reserved, $type, $data);\n");
-    }
-
-    result = RegQueryValueEx(SvHKEY(ST(0)), SvPV(ST(1), na), 0, &type, ptr, &datasz);
-    if (result == ERROR_MORE_DATA)
-    {
-       New(0, ptr, datasz+1, BYTE);
-       result = RegQueryValueEx(SvHKEY(ST(0)), SvPV(ST(1), na), 0, &type, ptr, &datasz);
-    }
-    if (SUCCESSRETURNED(result)) 
-    {
-       SETIV(3, type);
-
-       // return includes the null terminator so delete it if REG_SZ, REG_MULTI_SZ or REG_EXPAND_SZ
-       switch(type)
-       {
-           case REG_SZ:
-           case REG_MULTI_SZ:
-           case REG_EXPAND_SZ:
-               --datasz;
-           case REG_BINARY:
-               SETPVN(4, ptr, datasz);
-               break;
-
-           case REG_DWORD_BIG_ENDIAN:
-               {
-                   BYTE tmp = ptr[0];
-                   ptr[0] = ptr[3];
-                   ptr[3] = tmp;
-                   tmp = ptr[1];
-                   ptr[1] = ptr[2];
-                   ptr[2] = tmp;
-               }
-           case REG_DWORD_LITTLE_ENDIAN:       // same as REG_DWORD
-               SETNV(4, (double)*((DWORD*)ptr));
-               break;
-
-           default:
-               break;
-       }
-
-       if (ptr != databuffer)
-           safefree(ptr);
-
-       XSRETURN_YES;
-    }
-    if (ptr != databuffer)
-       safefree(ptr);
-
-    XSRETURN_NO;
-}
-
-static
-XS(w32_RegReplaceKey)
-{
-    dXSARGS;
-
-    if (items != 4) 
-    {
-       croak("usage: Win32::RegReplaceKey($hkey, $subkey, $newfile, $oldfile);\n");
-    }
-
-    REGRETURN(RegReplaceKey(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), (char *)SvPV(ST(2), na), (char *)SvPV(ST(3), na)));
-}
-
-static
-XS(w32_RegRestoreKey)
-{
-    dXSARGS;
-
-    if (items < 2 || items > 3) 
-    {
-       croak("usage: Win32::RegRestoreKey($hkey, $filename [, $flags]);\n");
-    }
-
-    REGRETURN(RegRestoreKey(SvHKEY(ST(0)), (char*)SvPV(ST(1), na), (DWORD)((items == 3) ? SvIV(ST(2)) : 0)));
-}
-
-static
-XS(w32_RegSaveKey)
-{
-    dXSARGS;
-
-    if (items != 2) 
-    {
-       croak("usage: Win32::RegSaveKey($hkey, $filename);\n");
-    }
-
-    REGRETURN(RegSaveKey(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), NULL));
-}
-
-static
-XS(w32_RegSetKeySecurity)
-{
-    dXSARGS;
-
-    if (items != 3) 
-    {
-       croak("usage: Win32::RegSetKeySecurity($hkey, $security_info, $security_descriptor);\n");
-    }
-
-    REGRETURN(RegSetKeySecurity(SvHKEY(ST(0)), SvIV(ST(1)), (SECURITY_DESCRIPTOR*)SvPV(ST(2), na)));
-}
-
-static
-XS(w32_RegSetValue)
-{
-    dXSARGS;
-
-    unsigned int size;
-    char *buffer;
-       DWORD type;
-
-    if (items != 4) 
-    {
-       croak("usage: Win32::RegSetValue($hkey, $subKey, $type, $data);\n");
-    }
-
-    type = SvIV(ST(2));
-    if (type != REG_SZ && type != REG_EXPAND_SZ)
-    {
-       croak("Win32::RegSetValue: Type was not REG_SZ or REG_EXPAND_SZ, cannot set %s\n", (char *)SvPV(ST(1), na));
-    }
-
-    buffer = (char *)SvPV(ST(3), size);
-    REGRETURN(RegSetValue(SvHKEY(ST(0)), SvPV(ST(1), na), REG_SZ, buffer, size));
-}
-
-static
-XS(w32_RegSetValueEx)
-{
-    dXSARGS;
-
-    DWORD type;
-    DWORD val;
-    unsigned int size;
-    char *buffer;
-
-    if (items != 5) 
-    {
-       croak("usage: Win32::RegSetValueEx($hkey, $valname, $reserved, $type, $data);\n");
-    }
-
-    type = (DWORD)SvIV(ST(3));
-    switch(type) 
-    {
-       case REG_SZ:
-       case REG_BINARY:
-       case REG_MULTI_SZ:
-       case REG_EXPAND_SZ:
-           buffer = (char *)SvPV(ST(4), size);
-           if (type != REG_BINARY)
-               size++; // include null terminator in size
-
-           REGRETURN(RegSetValueEx(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), 0, type, (PBYTE) buffer, size));
-           break;
-
-       case REG_DWORD_BIG_ENDIAN:
-       case REG_DWORD_LITTLE_ENDIAN: // Same as REG_DWORD
-           val = (DWORD)SvIV(ST(4));
-           REGRETURN(RegSetValueEx(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), 0, type, (PBYTE) &val, sizeof(DWORD)));
-           break;
-
-       default:
-           croak("Win32::RegSetValueEx: Type not specified, cannot set %s\n", (char *)SvPV(ST(1), na));
-    }
-}
-
-static
-XS(w32_RegUnloadKey)
-{
-    dXSARGS;
-
-    if (items != 2) 
-    {
-       croak("usage: Win32::RegUnLoadKey($hkey, $subkey);\n");
-    }
-
-    REGRETURN(RegUnLoadKey(SvHKEY(ST(0)), (char *)SvPV(ST(1), na)));
-}
-
-static
-XS(w32_RegisterServer)
-{
-    dXSARGS;
-    BOOL bSuccess = FALSE;
-    HINSTANCE hInstance;
-    unsigned int length;
-    FARPROC sFunc;
-
-    if (items != 1) 
-    {
-       croak("usage: Win32::RegisterServer($LibraryName)\n");
-    }
-
-    hInstance = LoadLibrary((char *)SvPV(ST(0), length));
-    if (hInstance != NULL)
-    {
-       sFunc = GetProcAddress(hInstance, "DllRegisterServer");
-       if (sFunc != NULL)
-       {
-           bSuccess = (sFunc() == 0);
-       }
-       FreeLibrary(hInstance);
-    }
-
-    if (bSuccess)
-    {
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-static
-XS(w32_UnregisterServer)
-{
-    dXSARGS;
-    BOOL bSuccess = FALSE;
-    HINSTANCE hInstance;
-    unsigned int length;
-    FARPROC sFunc;
-
-    if (items != 1) 
-    {
-       croak("usage: Win32::UnregisterServer($LibraryName)\n");
-    }
-
-    hInstance = LoadLibrary((char *)SvPV(ST(0), length));
-    if (hInstance != NULL)
-    {
-       sFunc = GetProcAddress(hInstance, "DllUnregisterServer");
-       if (sFunc != NULL)
-       {
-           bSuccess = (sFunc() == 0);
-       }
-       FreeLibrary(hInstance);
-    }
-
-    if (bSuccess)
-    {
-       XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-
 void
 Perl_init_os_extras()
 {
@@ -3039,40 +2331,6 @@ Perl_init_os_extras()
     newXS("Win32::GetShortPathName", w32_GetShortPathName, file);
     newXS("Win32::Sleep", w32_Sleep, file);
 
-    /* the following extensions are used interally and may be changed at any time */
-    /* therefore no documentation is provided */
-    newXS("Win32::RegCloseKey", w32_RegCloseKey, file);
-    newXS("Win32::RegConnectRegistry", w32_RegConnectRegistry, file);
-    newXS("Win32::RegCreateKey", w32_RegCreateKey, file);
-    newXS("Win32::RegCreateKeyEx", w32_RegCreateKeyEx, file);
-    newXS("Win32::RegDeleteKey", w32_RegDeleteKey, file);
-    newXS("Win32::RegDeleteValue", w32_RegDeleteValue, file);
-
-    newXS("Win32::RegEnumKey", w32_RegEnumKey, file);
-    newXS("Win32::RegEnumKeyEx", w32_RegEnumKeyEx, file);
-    newXS("Win32::RegEnumValue", w32_RegEnumValue, file);
-
-    newXS("Win32::RegFlushKey", w32_RegFlushKey, file);
-    newXS("Win32::RegGetKeySecurity", w32_RegGetKeySecurity, file);
-
-    newXS("Win32::RegLoadKey", w32_RegLoadKey, file);
-    newXS("Win32::RegOpenKey", w32_RegOpenKey, file);
-    newXS("Win32::RegOpenKeyEx", w32_RegOpenKeyEx, file);
-    newXS("Win32::RegQueryInfoKey", w32_RegQueryInfoKey, file);
-    newXS("Win32::RegQueryValue", w32_RegQueryValue, file);
-    newXS("Win32::RegQueryValueEx", w32_RegQueryValueEx, file);
-
-    newXS("Win32::RegReplaceKey", w32_RegReplaceKey, file);
-    newXS("Win32::RegRestoreKey", w32_RegRestoreKey, file);
-    newXS("Win32::RegSaveKey", w32_RegSaveKey, file);
-    newXS("Win32::RegSetKeySecurity", w32_RegSetKeySecurity, file);
-    newXS("Win32::RegSetValue", w32_RegSetValue, file);
-    newXS("Win32::RegSetValueEx", w32_RegSetValueEx, file);
-    newXS("Win32::RegUnloadKey", w32_RegUnloadKey, file);
-
-    newXS("Win32::RegisterServer", w32_RegisterServer, file);
-    newXS("Win32::UnregisterServer", w32_UnregisterServer, file);
-
     /* XXX Bloat Alert! The following Activeware preloads really
      * ought to be part of Win32::Sys::*, so they're not included
      * here.