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

Last change on this file since 4 was 4, checked in by ktk, 26 years ago

Import

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