Update of /cvsroot/pywin32/pywin32/win32/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21416
Modified Files:
win32apimodule.cpp
Log Message:
Add RegOverridePredefKey
Index: win32apimodule.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/win32apimodule.cpp,v
retrieving revision 1.82
retrieving revision 1.83
diff -C2 -d -r1.82 -r1.83
*** win32apimodule.cpp 7 Feb 2008 03:27:36 -0000 1.82
--- win32apimodule.cpp 7 Feb 2008 05:42:06 -0000 1.83
***************
*** 83,86 ****
--- 83,88 ----
typedef LONG (WINAPI *RegOpenCurrentUserfunc)(REGSAM,PHKEY);
static RegOpenCurrentUserfunc pfnRegOpenCurrentUser = NULL;
+ typedef LONG (WINAPI *RegOverridePredefKeyfunc)(HKEY,HKEY);
+ static RegOverridePredefKeyfunc pfnRegOverridePredefKey = NULL;
/* error helper */
***************
*** 3718,3721 ****
--- 3720,3749 ----
}
+ // @pymethod |win32api|RegOverridePredefKey|Redirects one of the predefined keys to different key
+ // @pyseeapi RegOverridePredefKey
+ // @comm Requires Windows 2000 or later.
+ static PyObject *PyRegOverridePredefKey(PyObject *self, PyObject *args, PyObject *kwargs)
+ {
+ CHECK_PFN(RegOverridePredefKey);
+ HKEY predef_key, new_key;
+ PyObject *obpredef_key, *obnew_key;
+ long rc;
+ static char *keywords[]={"Key","NewKey", NULL};
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO:RegOverridePredefKey", keywords,
+ &obpredef_key, // @pyparm <o PyHKEY>|Key||One of the predefined registry keys (win32con.HKEY_*)
+ &obnew_key)) // @pyparm <o PyHKEY>|NewKey||Registry key to which it will be redirected. Pass None to restore original key.
+ return NULL;
+ if (!PyWinObject_AsHKEY(obpredef_key, &predef_key))
+ return NULL;
+ if (!PyWinObject_AsHKEY(obnew_key, &new_key))
+ return NULL;
+ rc=(*pfnRegOverridePredefKey)(predef_key, new_key);
+ if (rc!=ERROR_SUCCESS)
+ return PyWin_SetAPIError("RegOverridePredefKey", rc);
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
// @pymethod (int, int, long)|win32api|RegQueryInfoKey|Returns the number of
// subkeys, the number of values a key has,
***************
*** 6041,6044 ****
--- 6069,6073 ----
{"RegOpenKeyEx", PyRegOpenKey, 1}, // @pymeth RegOpenKeyEx|Opens the specified key.
{"RegOpenKeyTransacted",(PyCFunction)PyRegOpenKeyTransacted, METH_KEYWORDS|METH_VARARGS}, // @pymeth RegOpenKeyTransacted|Opens a registry key as part of a transaction.
+ {"RegOverridePredefKey",(PyCFunction)PyRegOverridePredefKey, METH_KEYWORDS|METH_VARARGS}, // @pymeth RegOverridePredefKey|Redirects one of the predefined keys to different key.
{"RegQueryValue", PyRegQueryValue, 1}, // @pymeth RegQueryValue|Retrieves the value associated with the unnamed value for a specified key in the registry.
{"RegQueryValueEx", PyRegQueryValueEx, 1}, // @pymeth RegQueryValueEx|Retrieves the type and data for a specified value name associated with an open registry key.
***************
*** 6217,6220 ****
--- 6246,6250 ----
pfnRegDeleteTree=(RegDeleteTreefunc)GetProcAddress(hmodule, "RegDeleteTreeW");
pfnRegOpenCurrentUser=(RegOpenCurrentUserfunc)GetProcAddress(hmodule, "RegOpenCurrentUser");
+ pfnRegOverridePredefKey=(RegOverridePredefKeyfunc)GetProcAddress(hmodule, "RegOverridePredefKey");
}
|