source: trunk/src/mpr/MPR.CPP@ 1036

Last change on this file since 1036 was 584, checked in by phaller, 26 years ago

Add: added ODINWRAP support to MPR

File size: 35.1 KB
Line 
1/* $Id: MPR.CPP,v 1.4 1999-08-19 16:52:23 phaller Exp $ */
2
3/*
4 *
5 * Project Odin Software License can be found in LICENSE.TXT
6 *
7 * MPR apis
8 *
9 * Copyright 1998 Patrick Haller
10 */
11
12/*****************************************************************************
13 * Name : MPR.CPP
14 * Purpose : This module maps all Win32 functions contained in MPR.DLL
15 * to their OS/2-specific counterparts as far as possible.
16 * Basis is 5.05.97 12.00 59152 MPR.DLL (NT4SP3)
17 *****************************************************************************/
18
19#include <os2win.h>
20#include <wnet.h>
21#include <string.h>
22#include <odinwrap.h>
23#include <heapstring.h>
24#include <misc.h>
25#include "mpr.h"
26
27// Undocumented Stuff
28// MPR.DLL of Windows NT
29
30// MultinetGetConnectionPerformanceA
31// MultinetGetConnectionPerformanceW
32// MultinetGetErrorTextA
33// MultinetGetErrorTextW
34// RestoreConnectionA0
35// WNetClearConnections
36// WNetConnectionDialog1A
37// WNetConnectionDialog1W
38// WNetConnectionDialog2
39// WNetDirectoryNotifyA
40// WNetDirectoryNotifyW
41// WNetDisconnectDialog1A
42// WNetDisconnectDialog1W
43// WNetDisconnectDialog2
44// WNetFMXEditPerm FileManager Extensions ?
45// WNetFMXGetPermCaps
46// WNetFMXGetPermHelp
47// WNetFormatNetworkNameA
48// WNetFormatNetworkNameW
49// WNetGetConnection2A
50// WNetGetConnection2W
51// WNetGetConnection3A
52// WNetGetConnection3W
53// WNetGetDirectoryTypeA
54// WNetGetDirectoryTypeW
55// WNetGetHomeDirectoryW NT specific
56// WNetGetNetworkInformationA
57// WNetGetNetworkInformationW
58// WNetGetPropertyTextA
59// WNetGetPropertyTextW
60// WNetGetProviderNameA
61// WNetGetProviderNameW
62// WNetGetSearchDialog
63// WNetLogonNotify
64// WNetPasswordChangeNotify
65// WNetPropertyDialogA
66// WNetPropertyDialogW
67// WNetRestoreConnectionW
68// WNetSetConnectionA
69// WNetSetConnectionW
70// WNetSetLastErrorA PH: implemented
71// WNetSetLastErrorW PH: implemented
72// WNetSupportGlobalEnum
73// WNetUseConnectionA
74// WNetUseConnectionW
75
76
77ODINDEBUGCHANNEL(MPR)
78
79/****************************************************************************
80 * Module Global Variables *
81 ****************************************************************************/
82
83static struct _MPRGlobals
84{
85 DWORD dwLastError; /* most recent extended error code set by a net func */
86} MPRGLOBALS;
87
88
89
90/*****************************************************************************
91 * WNetAddConnection2, makes a connection to a network
92 * resource. The function can redirect a local device to the network
93 * resource.
94 * Parameters: LPNETRESOURCE lpNetResource points to structure that specifies
95 * connection details
96 * LPCSTR lpPassword points to password string
97 * LPCSTR lpUsername points to user name string
98 * DWORD fdwConnection set of bit flags that specify
99 * connection options
100 * Variables :
101 * Result : API-Returncode
102 * Remark :
103 * Status : UNTESTED STUB
104 *
105 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
106 *****************************************************************************/
107
108ODINFUNCTION4(DWORD, OS2WNetAddConnection2A,
109 LPNETRESOURCEA, lpNetResource,
110 LPCSTR, lpPassword,
111 LPCSTR, lpUsername,
112 DWORD, fdwConnection)
113{
114 dprintf(("MPR:WNetAddConnection2A not implemented.\n"));
115 return (ERROR_NO_NETWORK);
116}
117
118
119/*****************************************************************************
120 * WNetAddConnection2 makes a connection to a network
121 * resource. The function can redirect a local device to the network
122 * resource.
123 * Parameters: LPNETRESOURCE lpNetResource points to structure that specifies
124 * connection details
125 * LPCSTR lpPassword points to password string
126 * LPCSTR lpUsername points to user name string
127 * DWORD fdwConnection set of bit flags that specify
128 * connection options
129 * Variables :
130 * Result : API-Returncode
131 * Remark :
132 * Status : UNTESTED STUB
133 *
134 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
135 *****************************************************************************/
136
137ODINFUNCTION4(DWORD, OS2WNetAddConnection2W,
138 LPNETRESOURCEW, lpNetResource,
139 LPCWSTR, lpPassword,
140 LPCWSTR, lpUsername,
141 DWORD, fdwConnection)
142{
143 dprintf(("MPR:WNetAddConnection2W not implemented.\n"));
144 return (ERROR_NO_NETWORK);
145}
146
147
148
149/*****************************************************************************
150 * WNetAddConnection3 makes, aconnection to a network
151 * resource. The function can redirect a local device to the network
152 * resource.
153 * Parameters: HWND hwndOwner handle to an owner window for dialog
154 * LPNETRESOURCE lpNetResource points to structure that specifies
155 * connection details
156 * LPCSTR lpPassword points to password string
157 * LPCSTR lpUsername points to user name string
158 * DWORD fdwConnection set of bit flags that specify
159 * connection options
160 * Variables :
161 * Result : API-Returncode
162 * Remark :
163 * Status : UNTESTED STUB
164 *
165 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
166 *****************************************************************************/
167
168ODINFUNCTION5(DWORD, OS2WNetAddConnection3A,
169 HWND, hwndOwner,
170 LPNETRESOURCEA, lpNetResource,
171 LPCSTR, lpPassword,
172 LPCSTR, lpUsername,
173 DWORD, fdwConnection)
174{
175 dprintf(("MPR:WNetAddConnection3A not implemented.\n"));
176 return (ERROR_NO_NETWORK);
177}
178
179
180/*****************************************************************************
181 * WNetAddConnection3 makes, connection to a network
182 * resource. The function can redirect a local device to the network
183 * resource.
184 * Parameters: HWND hwndOwner handle to an owner window for dialog
185 * LPNETRESOURCE lpNetResource points to structure that specifies
186 * connection details
187 * LPCSTR lpPassword points to password string
188 * LPCSTR lpUsername points to user name string
189 * DWORD fdwConnection set of bit flags that specify
190 * connection options
191 * Variables :
192 * Result : API-Returncode
193 * Remark :
194 * Status : UNTESTED STUB
195 *
196 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
197 *****************************************************************************/
198
199ODINFUNCTION5(DWORD, OS2WNetAddConnection3W,
200 HWND, hwndOwner,
201 LPNETRESOURCEW, lpNetResource,
202 LPCWSTR, lpPassword,
203 LPCWSTR, lpUsername,
204 DWORD, fdwConnection)
205{
206 dprintf(("MPR:WNetAddConnection3W not implemented.\n"));
207 return (ERROR_NO_NETWORK);
208}
209
210
211/*****************************************************************************
212 * WNetAddConnectionA makes a connection to a network
213 * resource. The function can redirect a local device to the network
214 * resource.
215 * Parameters: LPCSTR lpRemoteName address of network device name
216 * LPCSTR lpPassword points to password string
217 * LPCSTR lpUsername points to user name string
218 * Variables :
219 * Result : API-Returncode
220 * Remark :
221 * Status : UNTESTED STUB
222 *
223 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
224 *****************************************************************************/
225
226ODINFUNCTION3(DWORD, OS2WNetAddConnectionA,
227 LPCSTR, lpRemoteName,
228 LPCSTR, lpPassword,
229 LPCSTR, lpUsername)
230{
231 dprintf(("MPR:WNetAddConnectionA not implemented.\n"));
232 return (ERROR_NO_NETWORK);
233}
234
235
236/*****************************************************************************
237 * WNetAddConnection makes a connection to a network
238 * resource. The function can redirect a local device to the network
239 * resource.
240 * Parameters: LPCWSTR lpRemoteName address of network device name
241 * LPCWSTR lpPassword points to password string
242 * LPCWSTR lpUsername points to user name string
243 * Variables :
244 * Result : API-Returncode
245 * Remark :
246 * Status : UNTESTED STUB
247 *
248 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
249 *****************************************************************************/
250
251ODINFUNCTION3(DWORD, OS2WNetAddConnectionW,
252 LPCWSTR, lpRemoteName,
253 LPCWSTR, lpPassword,
254 LPCWSTR, lpUsername)
255{
256 dprintf(("MPR:WNetAddConnectionW not implemented.\n"));
257 return (ERROR_NO_NETWORK);
258}
259
260
261/*****************************************************************************
262 * The WNetCancelConnection2 function breaks an existing network
263 * connection. It can also be used to remove remembered network
264 * connections that are not currently connected. This function
265 * supersedes WNetCancelConnection.
266 * Parameters: LPTSTR lpszName address of resource name to disconnect
267 * DWORD fdwConnection connection type flags
268 * BOOL fForce flag for unconditional disconnect
269 * Variables :
270 * Result : API-Returncode
271 * Remark :
272 * Status : UNTESTED STUB
273 *
274 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
275 *****************************************************************************/
276
277ODINFUNCTION3(DWORD, OS2WNetCancelConnection2A,
278 LPTSTR, lpszName,
279 DWORD, fdwConnection,
280 BOOL, fForce)
281{
282 dprintf(("MPR:WNetCancelConnection2A not implemented.\n"));
283 return (ERROR_NOT_CONNECTED);
284}
285
286
287/*****************************************************************************
288 * The WNetCancelConnection2 function breaks an existing network
289 * connection. It can also be used to remove remembered network
290 * connections that are not currently connected. This function
291 * supersedes WNetCancelConnection.
292 * Parameters: LPTSTR lpszName address of resource name to disconnect
293 * DWORD fdwConnection connection type flags
294 * BOOL fForce flag for unconditional disconnect
295 * Variables :
296 * Result : API-Returncode
297 * Remark :
298 * Status : UNTESTED STUB
299 *
300 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
301 *****************************************************************************/
302
303ODINFUNCTION3(DWORD, OS2WNetCancelConnection2W,
304 LPWSTR, lpszName,
305 DWORD, fdwConnection,
306 BOOL, fForce)
307{
308 dprintf(("MPR:WNetCancelConnection2W not implemented.\n"));
309 return (ERROR_NOT_CONNECTED);
310}
311
312
313/*****************************************************************************
314 * The WNetCancelConnection2 function breaks an existing network
315 * connection.
316 * Parameters: LPTSTR lpszName address of resource name to disconnect
317 * BOOL fForce flag for unconditional disconnect
318 * Variables :
319 * Result : API-Returncode
320 * Remark :
321 * Status : UNTESTED STUB
322 *
323 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
324 *****************************************************************************/
325
326ODINFUNCTION2(DWORD, OS2WNetCancelConnectionA,
327 LPTSTR, lpszName,
328 BOOL, fForce)
329{
330 dprintf(("MPR:WNetCancelConnectionA not implemented.\n"));
331 return (ERROR_NOT_CONNECTED);
332}
333
334
335/*****************************************************************************
336 * The WNetCancelConnection2 function breaks an existing network
337 * connection.
338 * Parameters: LPTSTR lpszName address of resource name to disconnect
339 * BOOL fForce flag for unconditional disconnect
340 * Variables :
341 * Result : API-Returncode
342 * Remark :
343 * Status : UNTESTED STUB
344 *
345 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
346 *****************************************************************************/
347
348ODINFUNCTION2(DWORD, OS2WNetCancelConnectionW,
349 LPWSTR, lpszName,
350 BOOL, fForce)
351{
352 dprintf(("MPR:WNetCancelConnectionW not implemented.\n"));
353 return (ERROR_NOT_CONNECTED);
354}
355
356
357/*****************************************************************************
358 *
359 * Purpose : The WNetCloseEnum function ends a network resource enumeration
360 * started by the WNetOpenEnum function.
361 * Parameters: HANDLE hEnum
362 * Variables :
363 * Result : API-Returncode
364 * Remark :
365 * Status : UNTESTED STUB
366 *
367 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
368 *****************************************************************************/
369
370ODINFUNCTION1(DWORD, OS2WNetCloseEnum,
371 HANDLE, hEnum)
372{
373 dprintf(("MPR:WNetCloseEnum not implemented.\n"));
374 return (ERROR_NO_NETWORK);
375}
376
377
378/*****************************************************************************
379 * The WNetConnectionDialog function starts a general browsing
380 * dialog box for connecting to network resources.
381 * Parameters: HWND hwnd handle of window owning dialog box
382 * DWORD fdwResourceType resource type to allow connections to
383 * Variables :
384 * Result : API-Returncode
385 * Remark :
386 * Status : UNTESTED STUB
387 *
388 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
389 *****************************************************************************/
390
391ODINFUNCTION2(DWORD, OS2WNetConnectionDialog,
392 HWND, hwnd,
393 DWORD, fdwResourceType)
394{
395 dprintf(("MPR:WNetConnectionDialog not implemented.\n"));
396 return (ERROR_NO_NETWORK);
397}
398
399
400/*****************************************************************************
401 * The WNetDisconnectDialog function starts a general browsing
402 * dialog box for disconnecting from network resources.
403 * Parameters: HWND hwnd handle of window owning dialog box
404 * DWORD fdwResourceType resource type to disconnect from
405 * Variables :
406 * Result : API-Returncode
407 * Remark :
408 * Status : UNTESTED STUB
409 *
410 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
411 *****************************************************************************/
412
413ODINFUNCTION2(DWORD, OS2WNetDisconnectDialog,
414 HWND, hwnd,
415 DWORD, fdwResourceType)
416{
417 dprintf(("MPR:WNetDisconnectDialog not implemented.\n"));
418 return (ERROR_NO_NETWORK);
419}
420
421
422/*****************************************************************************
423 * The WNetEnumResource function continues a network-resource
424 * enumeration started by the WNetOpenEnum function.
425 * Parameters: HANDLE hEnum handle of enumeration
426 * LPDWORD lpcEntries address of entries to list
427 * LPVOID lpvBuffer address of buffer for results
428 * LPDWORD lpcbBuffer address of buffer size variable
429 * Variables :
430 * Result : API-Returncode
431 * Remark :
432 * Status : UNTESTED STUB
433 *
434 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
435 *****************************************************************************/
436
437ODINFUNCTION4(DWORD, OS2WNetEnumResourceA,
438 HANDLE, hEnum,
439 LPDWORD, lpcEntries,
440 LPVOID, lpvBuffer,
441 LPDWORD, lpcBuffer)
442{
443 dprintf(("MPR:WNetEnumResourceA not implemented.\n"));
444 return (ERROR_NO_NETWORK);
445}
446
447
448/*****************************************************************************
449 * The WNetEnumResource, functioncontinues a network-resource
450 * enumeration started by the WNetOpenEnum function.
451 * Parameters: HANDLE hEnum handle of enumeration
452 * LPDWORD lpcEntries address of entries to list
453 * LPVOID lpvBuffer address of buffer for results
454 * LPDWORD lpcbBuffer address of buffer size variable
455 * Variables :
456 * Result : API-Returncode
457 * Remark :
458 * Status : UNTESTED STUB
459 *
460 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
461 *****************************************************************************/
462
463ODINFUNCTION4(DWORD, OS2WNetEnumResourceW,
464 HANDLE, hEnum,
465 LPDWORD, lpcEntries,
466 LPVOID, lpvBuffer,
467 LPDWORD, lpcBuffer)
468{
469 dprintf(("MPR:WNetEnumResourceW not implemented.\n"));
470 return (ERROR_NO_NETWORK);
471}
472
473
474/*****************************************************************************
475 * The WNetGetConnection function retrieves the name of the network
476 * resource associated with a local device.
477 * Parameters: LPTSTR lpszLocalName address of local name
478 * LPTSTR lpszRemoteName address of buffer for remote name
479 * LPDWORD lpcchBuffer address of buffer size, in characters
480 * Variables :
481 * Result : API-Returncode
482 * Remark :
483 * Status : UNTESTED STUB
484 *
485 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
486 *****************************************************************************/
487
488ODINFUNCTION3(DWORD, OS2WNetGetConnectionA,
489 LPTSTR, lpszLocalName,
490 LPTSTR, lpszRemoteName,
491 LPDWORD, lpcchBuffer)
492{
493 dprintf(("MPR:WNetGetConnectionA not implemented.\n"));
494 return (ERROR_NO_NETWORK);
495}
496
497
498/*****************************************************************************
499 * The WNetGetConnection function retrieves the name of the network
500 * resource associated with a local device.
501 * Parameters: LPWSTR lpszLocalName address of local name
502 * LPWSTR lpszRemoteName address of buffer for remote name
503 * LPDWORD lpcchBuffer address of buffer size, in characters
504 * Variables :
505 * Result : API-Returncode
506 * Remark :
507 * Status : UNTESTED STUB
508 *
509 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
510 *****************************************************************************/
511
512ODINFUNCTION3(DWORD, OS2WNetGetConnectionW,
513 LPWSTR, lpszLocalName,
514 LPWSTR, lpszRemoteName,
515 LPDWORD, lpcchBuffer)
516{
517 dprintf(("MPR:WNetGetConnectionW not implemented.\n"));
518 return (ERROR_NO_NETWORK);
519}
520
521
522/*****************************************************************************
523 * The WNetGetLastError function retrieves, themost recent extended
524 * error code set by a Windows network function.
525 * Parameters: LPDWORD lpdwErrorCode address of error code
526 * LPTSTR lpszDescription address of string describing error
527 * DWORD cchDescription size of description buffer, in characters
528 * LPTSTR lpszName address of buffer for provider name
529 * DWORD cchName size of provider name buffer
530 * Variables :
531 * Result : API-Returncode
532 * Remark :
533 * Status : UNTESTED STUB
534 *
535 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
536 *****************************************************************************/
537
538ODINFUNCTION5(DWORD, OS2WNetGetLastErrorA,
539 LPDWORD, lpdwErrorCode,
540 LPTSTR, lpszDescription,
541 DWORD, cchDescription,
542 LPTSTR, lpszName,
543 DWORD, cchName)
544{
545 if ( (lpdwErrorCode == NULL) || /* check parameters */
546 (lpszDescription == NULL) ||
547 (cchDescription == 0) ||
548 (lpszName == NULL) ||
549 (cchName == 0) )
550 return (ERROR_INVALID_ADDRESS); /* abort with error */
551
552 *lpdwErrorCode = MPRGLOBALS.dwLastError; /* set that error code */
553 /* @@@PH Get error text from some net-MSG-file */
554 lpszDescription[cchDescription - 1] = 0; /* ensure string termination */
555
556 strncpy (lpszName, /* return provider name */
557 "OS/2 LAN", /* that's our default provider */
558 cchName);
559 lpszName[cchName - 1] = 0; /* ensure string termination */
560
561 return (NO_ERROR);
562}
563
564
565
566/*****************************************************************************
567 * The WNetGetLastError function retrieves, themost recent extended
568 * error code set by a Windows network function.
569 * Parameters: LPDWORD lpdwErrorCode address of error code
570 * LPWSTR lpszDescription address of string describing error
571 * DWORD cchDescription size of description buffer, in characters
572 * LPWSTR lpszName address of buffer for provider name
573 * DWORD cchName size of provider name buffer
574 * Variables :
575 * Result : API-Returncode
576 * Remark :
577 * Status : UNTESTED STUB
578 *
579 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
580 *****************************************************************************/
581
582ODINFUNCTION5(DWORD, OS2WNetGetLastErrorW,
583 LPDWORD, lpdwErrorCode,
584 LPWSTR, lpszDescription,
585 DWORD, cchDescription,
586 LPWSTR, lpszName,
587 DWORD, cchName)
588{
589 if ( (lpdwErrorCode == NULL) || /* check parameters */
590 (lpszDescription == NULL) ||
591 (cchDescription == 0) ||
592 (lpszName == NULL) ||
593 (cchName == 0) )
594 return (ERROR_INVALID_ADDRESS); /* abort with error */
595
596 *lpdwErrorCode = MPRGLOBALS.dwLastError; /* set that error code */
597 /* @@@PH Get error text from some net-MSG-file */
598 lpszDescription[cchDescription - 1] = 0; /* ensure string termination */
599
600 lstrcpynW(lpszName, /* return provider name */
601 (LPCWSTR)L"OS/2 LAN", /* that's our default provider */
602 cchName);
603 lpszName[cchName - 1] = 0; /* ensure string termination */
604
605 return (NO_ERROR);
606}
607
608
609/*****************************************************************************
610 * Purpose : The WNetGetResourceInformation function retrieves enumeration
611 * information for a network resource. You typically use this
612 * function when the user specifies an object. Call this function
613 * in conjunction with WNetGetResourceParent to determine the
614 * placement and nature of the resource in the browse hierarchy.
615 * Unlike WNetGetResourceParent, WNetGetResourceInformation always
616 * tries to determine the network provider that owns the resource
617 * and the type of the resource, although it might not currently
618 * be accessible (or even exist if the type of the resource was
619 * specified by the caller).
620 * Parameters: LPNETRESOURCEA lpNetResource specifies the network resource
621 * LPVOID lpBuffer pointer to a buffer for results
622 * LPDWORD cbBuffer size of the buffer
623 * LPTSTR *lplpSystem pointer to a string in the buffer
624 * Variables :
625 * Result : API-Returncode
626 * Remark :
627 * Status : UNTESTED STUB
628 *
629 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
630 *****************************************************************************/
631
632ODINFUNCTION4(DWORD, OS2WNetGetResourceInformationA,
633 LPNETRESOURCEA, lpNetResource,
634 LPVOID, lpBuffer,
635 LPDWORD, cbBuffer,
636 LPTSTR *, lplpSystem)
637{
638 dprintf(("MPR:WNetGetResourceInformationA not implemented.\n"));
639 return (WN_NO_NETWORK);
640}
641
642
643/*****************************************************************************
644 * Purpose : The WNetGetResourceInformation function retrieves enumeration
645 * information for a network resource. You typically use this
646 * function when the user specifies an object. Call this function
647 * in conjunction with WNetGetResourceParent to determine the
648 * placement and nature of the resource in the browse hierarchy.
649 * Unlike WNetGetResourceParent, WNetGetResourceInformation always
650 * tries to determine the network provider that owns the resource
651 * and the type of the resource, although it might not currently
652 * be accessible (or even exist if the type of the resource was
653 * specified by the caller).
654 * Parameters: LPNETRESOURCEW lpNetResource specifies the network resource
655 * LPVOID lpBuffer pointer to a buffer for results
656 * LPDWORD cbBuffer size of the buffer
657 * LPWSTR *lplpSystem pointer to a string in the buffer
658 * Variables :
659 * Result : API-Returncode
660 * Remark :
661 * Status : UNTESTED STUB
662 *
663 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
664 *****************************************************************************/
665
666ODINFUNCTION4(DWORD, OS2WNetGetResourceInformationW,
667 LPNETRESOURCEW, lpNetResource,
668 LPVOID, lpBuffer,
669 LPDWORD, cbBuffer,
670 LPWSTR *, lplpSystem)
671{
672 dprintf(("MPR:WNetGetResourceInformationW (%08x,%08x,%08x,%08x) not implemented.\n",
673 lpNetResource,
674 lpBuffer,
675 cbBuffer,
676 lplpSystem));
677
678 return (WN_NO_NETWORK);
679}
680
681
682/*****************************************************************************
683 * The WNetGetResourceParent function lets you navigate up from a
684 * resource. It enables browsing to commence based on the name of
685 * a network resource. This function also allows navigating up from
686 * a browsed resource to find connectable resources.
687 * Parameters: LPNETRESOURCEA lpNetResource specifies the network resource
688 * LPVOID lpBuffer pointer to a buffer for results
689 * LPDWORD lpBufferSize size, in bytes, of the buffer
690 * Variables :
691 * Result : API-Returncode
692 * Remark :
693 * Status : UNTESTED STUB
694 *
695 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
696 *****************************************************************************/
697
698ODINFUNCTION3(DWORD, OS2WNetGetResourceParentA,
699 LPNETRESOURCEA, lpNetResource,
700 LPVOID, lpBuffer,
701 LPDWORD, lpBufferSize)
702{
703 dprintf(("MPR:WNetGetResourceParentA not implemented.\n"));
704 return (WN_ACCESS_DENIED);
705}
706
707
708/*****************************************************************************
709 * The WNetGetResourceParent function lets you navigate up from a
710 * resource. It enables browsing to commence based on the name of
711 * a network resource. This function also allows navigating up from
712 * a browsed resource to find connectable resources.
713 * Parameters: LPNETRESOURCEW lpNetResource specifies the network resource
714 * LPVOID lpBuffer pointer to a buffer for results
715 * LPDWORD lpBufferSize size, in bytes, of the buffer
716 * Variables :
717 * Result : API-Returncode
718 * Remark :
719 * Status : UNTESTED STUB
720 *
721 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
722 *****************************************************************************/
723
724ODINFUNCTION3(DWORD, OS2WNetGetResourceParentW,
725 LPNETRESOURCEW, lpNetResource,
726 LPVOID, lpBuffer,
727 LPDWORD, lpBufferSize)
728{
729 dprintf(("MPR:WNetGetResourceParentW not implemented.\n"));
730 return (WN_ACCESS_DENIED);
731}
732
733
734/*****************************************************************************
735 * The WNetGetUniversalName, functiontakes a drive-based path for
736 * a network resource and obtains a data structure that contains a
737 * more universal form of the name.
738 * Parameters: LPCSTR lpLocalPath address of drive-based path for a network resource
739 * DWORD dwInfoLevel specifies form of universal name to be obtained
740 * LPVOID lpBuffer address of buffer that receives universal name data structure
741 * LPDWORD lpBufferSize address of variable that specifies size of buffer
742 * Variables :
743 * Result : API-Returncode
744 * Remark :
745 * Status : UNTESTED STUB
746 *
747 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
748 *****************************************************************************/
749
750ODINFUNCTION4(DWORD, OS2WNetGetUniversalNameA,
751 LPCSTR, lpLocalPath,
752 DWORD, dwInfoLevel,
753 LPVOID, lpBuffer,
754 LPDWORD, lpBufferSize)
755{
756 dprintf(("MPR:WNetGetUniversalNameA not implemented.\n"));
757 return (ERROR_NO_NETWORK);
758}
759
760
761/*****************************************************************************
762 * The WNetGetUniversalName, functiontakes a drive-based path for
763 * a network resource and obtains a data structure that contains a
764 * more universal form of the name.
765 * Parameters: LPCWSTR lpLocalPath address of drive-based path for a network resource
766 * DWORD dwInfoLevel specifies form of universal name to be obtained
767 * LPVOID lpBuffer address of buffer that receives universal name data structure
768 * LPDWORD lpBufferSize address of variable that specifies size of buffer
769 * Variables :
770 * Result : API-Returncode
771 * Remark :
772 * Status : UNTESTED STUB
773 *
774 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
775 *****************************************************************************/
776
777ODINFUNCTION4(DWORD, OS2WNetGetUniversalNameW,
778 LPCWSTR, lpLocalPath,
779 DWORD, dwInfoLevel,
780 LPVOID, lpBuffer,
781 LPDWORD, lpBufferSize)
782{
783 dprintf(("MPR:WNetGetUniversalNameW not implemented.\n"));
784 return (ERROR_NO_NETWORK);
785}
786
787
788/*****************************************************************************
789 * The WNetGetUser function retrieves the current default user name
790 * or the user name used to establish a network connection.
791 * Parameters: LPTSTR lpszLocalName address of local name to get user name for
792 * LPTSTR lpszUserName address of buffer for user name
793 * LPDWORD lpcchBuffer address of buffer size variable
794 * Variables :
795 * Result : API-Returncode
796 * Remark :
797 * Status : UNTESTED STUB
798 *
799 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
800 *****************************************************************************/
801
802ODINFUNCTION3(DWORD, OS2WNetGetUserA,
803 LPTSTR, lpszLocalName,
804 LPTSTR, lpszUserName,
805 LPDWORD, lpcchBuffer)
806{
807 dprintf(("MPR:WNetGetUserA not implemented.\n"));
808 return (ERROR_NO_NETWORK);
809}
810
811
812/*****************************************************************************
813 * The WNetGetUser function retrieves the current default user name
814 * or the user name used to establish a network connection.
815 * Parameters: LPWSTR lpszLocalName address of local name to get user name for
816 * LPWSTR lpszUserName address of buffer for user name
817 * LPDWORD lpcchBuffer address of buffer size variable
818 * Variables :
819 * Result : API-Returncode
820 * Remark :
821 * Status : UNTESTED STUB
822 *
823 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
824 *****************************************************************************/
825
826ODINFUNCTION3(DWORD, OS2WNetGetUserW,
827 LPWSTR, lpszLocalName,
828 LPWSTR, lpszUserName,
829 LPDWORD, lpcchBuffer)
830{
831 dprintf(("MPR:WNetGetUserW not implemented.\n"));
832 return (ERROR_NO_NETWORK);
833}
834
835
836/*****************************************************************************
837 * The WNetOpenEnum function starts, anenumeration of network
838 * resources or existing connections.
839 * Parameters: DWORD fdwScope scope of enumeration
840 * DWORD fdwType resource types to list
841 * DWORD fdwUsage resource usage to list
842 * LPNETRESOURCEA lpNetResource address of resource structure
843 * LPHANDLE lphEnum address of enumeration handle buffer
844 * Variables :
845 * Result : API-Returncode
846 * Remark :
847 * Status : UNTESTED STUB
848 *
849 * Author : Patrick Haller [Fri, 1998/02/27 14:41]
850 *****************************************************************************/
851
852ODINFUNCTION5(DWORD, OS2WNetOpenEnumA,
853 DWORD, fdwScope,
854 DWORD, fdwType,
855 DWORD, fdwUsage,
856 LPNETRESOURCEA, lpNetResource,
857 LPHANDLE, lphEnum)
858{
859 dprintf(("MPR:WNetOpenEnumA not implemented.\n"));
860 return (ERROR_NO_NETWORK);
861}
862
863
864/*****************************************************************************
865 * The WNetOpenEnum function starts, anenumeration of network
866 * resources or existing connections.
867 * Parameters: DWORD fdwScope scope of enumeration
868 * DWORD fdwType resource types to list
869 * DWORD fdwUsage resource usage to list
870 * LPNETRESOURCEW lpNetResource address of resource structure
871 * LPHANDLE lphEnum address of enumeration handle buffer
872 * Variables :
873 * Result : API-Returncode
874 * Remark :
875 * Status : UNTESTED STUB
876 *
877 * Author : Patrick Haller [Fri, 1998/02/27 14:41]
878 *****************************************************************************/
879
880ODINFUNCTION5(DWORD, OS2WNetOpenEnumW,
881 DWORD, fdwScope,
882 DWORD, fdwType,
883 DWORD, fdwUsage,
884 LPNETRESOURCEW, lpNetResource,
885 LPHANDLE, lphEnum)
886{
887 dprintf(("MPR:WNetOpenEnumW not implemented.\n"));
888 return (ERROR_NO_NETWORK);
889}
890
891
892/*****************************************************************************
893 * The WNetSetLastError function is used to set the error code status
894 * of this module.
895 * Parameters: DWORD dwErrorCode error code
896 * LPTSTR lpszDescription address of string describing error
897 * LPTSTR lpszName address of buffer for provider name
898 * Variables :
899 * Result : API-Returncode
900 * Remark : not documented
901 * Status : UNTESTED
902 *
903 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
904 *****************************************************************************/
905
906ODINFUNCTION3(DWORD, OS2WNetSetLastErrorA,
907 DWORD, dwErrorCode,
908 LPTSTR, lpszDescription,
909 LPTSTR, lpszName)
910{
911 dprintf(("MPR:WNetSetLastErrorA not implemented correctly.\n"));
912 MPRGLOBALS.dwLastError = dwErrorCode;
913 return (NO_ERROR);
914}
915
916
917
918/*****************************************************************************
919 * The WNetSetLastError function is used to set the error code status
920 * of this module.
921 * Parameters: DWORD dwErrorCode error code
922 * LPWSTR lpszDescription address of string describing error
923 * LPWSTR lpszName address of buffer for provider name
924 * Variables :
925 * Result : API-Returncode
926 * Remark : not documented
927 * Status : UNTESTED
928 *
929 * Author : Patrick Haller [Fri, 1998/02/27 11:55]
930 *****************************************************************************/
931
932ODINFUNCTION3(DWORD, OS2WNetSetLastErrorW,
933 DWORD, dwErrorCode,
934 LPWSTR, lpszDescription,
935 LPWSTR, lpszName)
936{
937 dprintf(("MPR:WNetSetLastErrorW not implemented correctly.\n"));
938 MPRGLOBALS.dwLastError = dwErrorCode;
939 return (NO_ERROR);
940}
941
942
Note: See TracBrowser for help on using the repository browser.