reactos/dll/win32/mpr/mpr_ros.diff
Amine Khaldi 0ee830d7a4 * Create a branch for USB experiments.
svn path=/branches/usb-experiments/; revision=72629
2016-09-09 15:11:19 +00:00

112 lines
3 KiB
Diff

Index: mpr.spec
===================================================================
--- mpr.spec (revision 49877)
+++ mpr.spec (working copy)
@@ -1,23 +1,23 @@
# ordinal exports
- 1 stub @
- 2 stub @
- 3 stub @
- 4 stub @
- 5 stub @
- 6 stub @
- 7 stub @
- 8 stub @
- 9 stub @
-12 stub @
-13 stub @
-14 stub @
-15 stub @
-16 stub @
-17 stub @
-18 stub @
-19 stub @
-20 stub @
-21 stub @
+ 1 stub MPR_1
+ 2 stub MPR_2
+ 3 stub MPR_3
+ 4 stub MPR_4
+ 5 stub MPR_5
+ 6 stub MPR_6
+ 7 stub MPR_7
+ 8 stub MPR_8
+ 9 stub MPR_9
+12 stub MPR_12
+13 stub MPR_13
+14 stub MPR_14
+15 stub MPR_15
+16 stub MPR_16
+17 stub MPR_17
+18 stub MPR_18
+19 stub MPR_19
+20 stub MPR_20
+21 stub MPR_21
22 stdcall @(long) MPR_Alloc
23 stdcall @(ptr long) MPR_ReAlloc
24 stdcall @(ptr) MPR_Free
Index: wnet.c
===================================================================
--- wnet.c (revision 71983)
+++ wnet.c (working copy)
@@ -48,6 +48,9 @@
PF_NPGetResourceInformation getResourceInformation;
PF_NPAddConnection addConnection;
PF_NPAddConnection3 addConnection3;
+#ifdef __REACTOS__
+ PF_NPGetConnection getConnection;
+#endif
} WNetProvider, *PWNetProvider;
typedef struct _WNetProviderTable
@@ -196,6 +199,9 @@
}
provider->addConnection = MPR_GETPROC(NPAddConnection);
provider->addConnection3 = MPR_GETPROC(NPAddConnection3);
+#ifdef __REACTOS__
+ provider->getConnection = MPR_GETPROC(NPGetConnection);
+#endif
TRACE("NPAddConnection %p\n", provider->addConnection);
TRACE("NPAddConnection3 %p\n", provider->addConnection3);
providerTable->numProviders++;
@@ -1949,6 +1955,7 @@
/* find the network connection for a given drive; helper for WNetGetConnection */
static DWORD get_drive_connection( WCHAR letter, LPWSTR remote, LPDWORD size )
{
+#ifndef __REACTOS__
char buffer[1024];
struct mountmgr_unix_drive *data = (struct mountmgr_unix_drive *)buffer;
HANDLE mgr;
@@ -1991,6 +1998,32 @@
}
CloseHandle( mgr );
return ret;
+#else
+ DWORD ret = WN_NO_NETWORK;
+ DWORD index;
+ WCHAR local[3] = {letter, ':', 0};
+
+ if (providerTable != NULL)
+ {
+ for (index = 0; index < providerTable->numProviders; index++)
+ {
+ if(providerTable->table[index].getCaps(WNNC_CONNECTION) &
+ WNNC_CON_GETCONNECTIONS)
+ {
+ if (providerTable->table[index].getConnection)
+ ret = providerTable->table[index].getConnection(
+ local, remote, size);
+ else
+ ret = WN_NO_NETWORK;
+ if (ret == WN_SUCCESS || ret == WN_MORE_DATA)
+ break;
+ }
+ }
+ }
+ if (ret)
+ SetLastError(ret);
+ return ret;
+#endif
}
/**************************************************************************