https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a9d92a99c6f73f574239f…
commit a9d92a99c6f73f574239fda6257c6b6165324ba3
Author: Giannis Adamopoulos <gadamopoulos(a)reactos.org>
AuthorDate: Sun Nov 18 12:06:04 2018 +0200
Commit: Giannis Adamopoulos <gadamopoulos(a)reactos.org>
CommitDate: Sun Nov 18 14:01:54 2018 +0200
[NETSHELL] Add some notes about how it can be tested in windows
---
dll/shellext/netshell/README | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/dll/shellext/netshell/README b/dll/shellext/netshell/README
index 0d3bc246b5..1d96e3a99d 100644
--- a/dll/shellext/netshell/README
+++ b/dll/shellext/netshell/README
@@ -49,6 +49,22 @@ The enumeration of network components (protocols, client, transport) is
done by
function. When a user accepts changes, it calls INetCfg::Apply or when it aborts the
changes INetCfg::Cancel.
=== Known Issues ===
-* The notification icons are only added once IShellFolder of netshell is created for the
first time
* Status changes of an adapter are not automatically updated because the information is
cached
* There seems to be an icon problem which makes icon blink in the status dialog
+
+=== Testing in windows ===
+
+Unfortunately in windows the CLSID_ConnectionManager class is implemented in the netman
+service and netshell contains the rpc proxy stubs for it. This means that until we are
able to
+reimplement these stubs alongside all its unimplemented interfaces and objects, we
can't replace
+the system netshell with ours (INetConnectionManager and IEnumNetConnection are only the
tip
+of the iceberg).
+However it is perfectly fine if one copies our netshell in a different folder and change
the
+registry settings to make it handle CLSID_ConnectionFolder, CLSID_LanConnectionUi and
CLSID_ConnectionTray.
+When doing so there are actually two options about how to test. One is leaving #define
USE_CUSTOM_CONMGR 1
+as is and the other is setting is to 0. What this does is that when 0, the connections
will be enumerated
+in the shell folder and the tray using the system's INetConnectionManager (which
resides in the system's
+netman service and is accessible through the system's netshell.dll). This allows us
to implement and
+test our three components against the correct implementation of INetConnectionManager.
+The other option is setting USE_CUSTOM_CONMGR to 0 which will make the shell folder and
the tray
+enumerate connections with our connection manager effectively testing it in windows as
well.