4 * This is the MPR.DLL stuff from Win32, as well as the USER
5 * stuff by the same names in Win 3.x.
11 #include <sys/types.h>
24 /********************************************************************
25 * WNetAddConnection16 [USER.517] Directs a local device to net
27 * Redirects a local device (either a disk drive or printer port)
28 * to a shared device on a remote server.
30 UINT16 WINAPI
WNetAddConnection16(LPCSTR lpNetPath
, LPCSTR lpPassWord
,
33 return WNetAddConnectionA(lpNetPath
, lpPassWord
, lpLocalName
);
36 /*********************************************************************
37 * WNetAddConnection32 [MPR.50]
40 UINT WINAPI
WNetAddConnectionA(LPCSTR NetPath
, LPCSTR PassWord
,
43 FIXME(wnet
, "('%s', %p, '%s'): stub\n",
44 NetPath
, PassWord
, LocalName
);
50 UINT WINAPI
WNetAddConnectionW(LPCWSTR NetPath
,
54 FIXME(wnet
, " stub!\n");
55 SetLastError(WN_NO_NETWORK
);
59 /* ****************************************************************
60 * WNetAddConnection2_32A [MPR.46]
64 WNetAddConnection2A(LPNETRESOURCEA netresource
, /* [in] */
65 LPCSTR password
, /* [in] */
66 LPCSTR username
, /* [in] */
67 DWORD flags
/* [in] */ )
69 FIXME(wnet
, "(%p,%s,%s,0x%08lx), stub!\n", netresource
,
70 password
, username
, (unsigned long) flags
);
71 SetLastError(WN_NO_NETWORK
);
75 /* ****************************************************************
76 * WNetAddConnection2W [MPR.47]
80 WNetAddConnection2W(LPNETRESOURCEW netresource
, /* [in] */
81 LPCWSTR password
, /* [in] */
82 LPCWSTR username
, /* [in] */
83 DWORD flags
/* [in] */ )
85 FIXME(wnet
, ", stub!\n");
86 SetLastError(WN_NO_NETWORK
);
90 /* ****************************************************************
91 * WNetAddConnection3_32A [MPR.48]
94 UINT WINAPI
WNetAddConnection3A(HWND owner
,
95 LPNETRESOURCEA netresource
,
100 TRACE(wnet
, "owner = 0x%x\n", owner
);
101 return WNetAddConnection2A(netresource
,
102 password
, username
, flags
);
105 /* ****************************************************************
106 * WNetAddConnection3W [MPR.49]
109 UINT WINAPI
WNetAddConnection3W(HWND owner
,
110 LPNETRESOURCEW netresource
,
115 TRACE(wnet
,"owner = 0x%x\n", owner
);
116 return WNetAddConnection2W(netresource
, username
, password
,
120 /*******************************************************************
121 * WNetConnectionDialog1_32A [MPR.59]
123 UINT WINAPI
WNetConnectionDialog1A (LPCONNECTDLGSTRUCTA lpConnDlgStruct
)
124 { FIXME(wnet
,"%p stub\n", lpConnDlgStruct
);
125 SetLastError(WN_NO_NETWORK
);
126 return ERROR_NO_NETWORK
;
128 /*******************************************************************
129 * WNetConnectionDialog1_32W [MPR.60]
131 UINT WINAPI
WNetConnectionDialog1W (LPCONNECTDLGSTRUCTW lpConnDlgStruct
)
132 { FIXME(wnet
,"%p stub\n", lpConnDlgStruct
);
133 SetLastError(WN_NO_NETWORK
);
134 return ERROR_NO_NETWORK
;
137 /*******************************************************************
138 * WNetConnectionDialog_32 [MPR.61]
140 UINT WINAPI
WNetConnectionDialog(HWND owner
, DWORD flags
)
141 { FIXME(wnet
,"owner = 0x%x, flags=0x%lx stub\n", owner
,flags
);
142 SetLastError(WN_NO_NETWORK
);
143 return ERROR_NO_NETWORK
;
147 /*******************************************************************
148 * WNetEnumCachedPasswords32 [MPR.61]
150 UINT WINAPI
WNetEnumCachedPasswords(LPSTR sometext
, DWORD count1
,
151 DWORD res_nr
, DWORD
*enumPasswordProc
)
153 return ERROR_NO_NETWORK
;
156 /********************************************************************
157 * WNetCancelConnection [USER.518] undirects a local device
159 UINT16 WINAPI
WNetCancelConnection16(LPCSTR lpName
, BOOL16 bForce
)
161 FIXME(wnet
, "('%s', %04X): stub\n", lpName
, bForce
);
162 return WN_NO_NETWORK
;
166 /**************************************************************************
167 * WNetErrorText16 [USER.499]
169 int WINAPI
WNetErrorText16(WORD nError
,LPSTR lpszText
,WORD cbText
)
171 FIXME(wnet
, "(%x,%p,%x): stub\n",nError
,lpszText
,cbText
);
175 /**************************************************************************
176 * WNetOpenJob16 [USER.501]
178 int WINAPI
WNetOpenJob16(LPSTR szQueue
,LPSTR szJobTitle
,WORD nCopies
,LPWORD pfh
)
180 FIXME(wnet
, "('%s','%s',%x,%p): stub\n",
181 szQueue
,szJobTitle
,nCopies
,pfh
);
185 /**************************************************************************
186 * WNetCloseJob [USER.502]
188 int WINAPI
WNetCloseJob16(WORD fh
,LPWORD pidJob
,LPSTR szQueue
)
190 FIXME(wnet
, "(%x,%p,'%s'): stub\n",fh
,pidJob
,szQueue
);
194 /**************************************************************************
195 * WNetAbortJob [USER.503]
197 int WINAPI
WNetAbortJob16(LPSTR szQueue
,WORD wJobId
)
199 FIXME(wnet
, "('%s',%x): stub\n",szQueue
,wJobId
);
203 /**************************************************************************
204 * WNetHoldJob [USER.504]
206 int WINAPI
WNetHoldJob16(LPSTR szQueue
,WORD wJobId
)
208 FIXME(wnet
, "('%s',%x): stub\n",szQueue
,wJobId
);
212 /**************************************************************************
213 * WNetReleaseJob [USER.505]
215 int WINAPI
WNetReleaseJob16(LPSTR szQueue
,WORD wJobId
)
217 FIXME(wnet
, "('%s',%x): stub\n",szQueue
,wJobId
);
221 /**************************************************************************
222 * WNetCancelJob [USER.506]
224 int WINAPI
WNetCancelJob16(LPSTR szQueue
,WORD wJobId
)
226 FIXME(wnet
, "('%s',%x): stub\n",szQueue
,wJobId
);
230 /**************************************************************************
231 * WNetSetJobCopies [USER.507]
233 int WINAPI
WNetSetJobCopies16(LPSTR szQueue
,WORD wJobId
,WORD nCopies
)
235 FIXME(wnet
, "('%s',%x,%x): stub\n",szQueue
,wJobId
,nCopies
);
239 /**************************************************************************
240 * WNetWatchQueue [USER.508]
242 int WINAPI
WNetWatchQueue16(HWND16 hWnd
,LPSTR szLocal
,LPSTR szUser
,WORD nQueue
)
244 FIXME(wnet
, "(%04x,'%s','%s',%x): stub\n",hWnd
,szLocal
,szUser
,nQueue
);
248 /**************************************************************************
249 * WNetUnwatchQueue [USER.509]
251 int WINAPI
WNetUnwatchQueue16(LPSTR szQueue
)
253 FIXME(wnet
, "('%s'): stub\n", szQueue
);
257 /**************************************************************************
258 * WNetLockQueueData [USER.510]
260 int WINAPI
WNetLockQueueData16(LPSTR szQueue
,LPSTR szUser
,void *lplpQueueStruct
)
262 FIXME(wnet
, "('%s','%s',%p): stub\n",szQueue
,szUser
,lplpQueueStruct
);
266 /**************************************************************************
267 * WNetUnlockQueueData [USER.511]
269 int WINAPI
WNetUnlockQueueData16(LPSTR szQueue
)
271 FIXME(wnet
, "('%s'): stub\n",szQueue
);
276 /********************************************************************
277 * WNetGetConnection16 [USER.512] reverse-resolves a local device
280 * - WN_BAD_LOCALNAME lpLocalName makes no sense
281 * - WN_NOT_CONNECTED drive is a local drive
282 * - WN_MORE_DATA buffer isn't big enough
283 * - WN_SUCCESS success (net path in buffer)
285 int WINAPI
WNetGetConnection16(LPCSTR lpLocalName
,
286 LPSTR lpRemoteName
, UINT16
*cbRemoteName
)
290 TRACE(wnet
,"local %s\n",lpLocalName
);
291 if (lpLocalName
[1] == ':')
293 int drive
= toupper(lpLocalName
[0]) - 'A';
294 switch(DRIVE_GetType(drive
))
297 return WN_BAD_LOCALNAME
;
299 path
= DRIVE_GetLabel(drive
);
300 if (strlen(path
) + 1 > *cbRemoteName
)
302 *cbRemoteName
= strlen(path
) + 1;
305 strcpy( lpRemoteName
, path
);
306 *cbRemoteName
= strlen(lpRemoteName
) + 1;
311 TRACE(wnet
,"file is local\n");
312 return WN_NOT_CONNECTED
;
314 return WN_BAD_LOCALNAME
;
317 return WN_BAD_LOCALNAME
;
320 /**************************************************************************
321 * WNetGetConnectionA [MPR.70]
324 WNetGetConnectionA(LPCSTR localname
,LPSTR remotename
,LPDWORD buflen
)
327 DWORD ret
= WNetGetConnection16(localname
,remotename
,&x
);
332 /**************************************************************************
333 * WNetGetConnectionW [MPR.72]
336 WNetGetConnectionW(LPCWSTR localnameW
,LPWSTR remotenameW
,LPDWORD buflen
)
340 LPSTR lnA
= HEAP_strdupWtoA(GetProcessHeap(),0,localnameW
);
341 DWORD ret
= WNetGetConnection16(lnA
,buf
,&x
);
343 lstrcpyAtoW(remotenameW
,buf
);
344 *buflen
=lstrlenW(remotenameW
);
345 HeapFree(GetProcessHeap(),0,lnA
);
349 /**************************************************************************
350 * WNetGetCaps [USER.513]
352 int WINAPI
WNetGetCaps16(WORD capability
)
354 switch (capability
) {
355 case WNNC_SPEC_VERSION
:
357 return 0x30a; /* WfW 3.11(and apparently other 3.1x) */
360 /* hi byte = network type,
361 lo byte = network vendor (Netware = 0x03) [15 types] */
362 return WNNC_NET_MultiNet
| WNNC_SUBNET_WinWorkgroups
;
364 case WNNC_DRIVER_VERSION
:
365 /* driver version of vendor */
366 return 0x100; /* WfW 3.11 */
369 /* 1 = WNetGetUser is supported */
372 case WNNC_CONNECTION
:
373 /* returns mask of the supported connection functions */
374 return WNNC_CON_AddConnection
|WNNC_CON_CancelConnection
375 |WNNC_CON_GetConnections
/*|WNNC_CON_AutoConnect*/
376 |WNNC_CON_BrowseDialog
|WNNC_CON_RestoreConnection
;
379 /* returns mask of the supported printing functions */
380 return WNNC_PRT_OpenJob
|WNNC_PRT_CloseJob
|WNNC_PRT_HoldJob
381 |WNNC_PRT_ReleaseJob
|WNNC_PRT_CancelJob
382 |WNNC_PRT_SetJobCopies
|WNNC_PRT_WatchQueue
383 |WNNC_PRT_UnwatchQueue
|WNNC_PRT_LockQueueData
384 |WNNC_PRT_UnlockQueueData
|WNNC_PRT_AbortJob
388 /* returns mask of the supported dialog functions */
389 return WNNC_DLG_DeviceMode
|WNNC_DLG_BrowseDialog
390 |WNNC_DLG_ConnectDialog
|WNNC_DLG_DisconnectDialog
391 |WNNC_DLG_ViewQueueDialog
|WNNC_DLG_PropertyDialog
392 |WNNC_DLG_ConnectionDialog
393 /*|WNNC_DLG_PrinterConnectDialog
394 |WNNC_DLG_SharesDialog|WNNC_DLG_ShareAsDialog*/;
397 /* returns mask of the supported administration functions */
398 /* not sure if long file names is a good idea */
399 return WNNC_ADM_GetDirectoryType
400 /*|WNNC_ADM_DirectoryNotify*//*not yet supported*/
401 |WNNC_ADM_LongNames
/*|WNNC_ADM_SetDefaultDrive*/;
404 /* returns mask of the supported error functions */
405 return WNNC_ERR_GetError
|WNNC_ERR_GetErrorText
;
407 case WNNC_PRINTMGREXT
:
408 /* returns the Print Manager version in major and
409 minor format if Print Manager functions are available */
410 return 0x30e; /* printman version of WfW 3.11 */
413 /* Win 3.11 returns HMODULE of network driver here
414 FIXME: what should we return ?
415 logonoff.exe needs it, msmail crashes with wrong value */
423 /**************************************************************************
424 * WNetDeviceMode [USER.514]
426 int WINAPI
WNetDeviceMode16(HWND16 hWndOwner
)
428 FIXME(wnet
, "(%04x): stub\n",hWndOwner
);
429 return WN_NO_NETWORK
;
432 /**************************************************************************
433 * WNetBrowseDialog [USER.515]
435 int WINAPI
WNetBrowseDialog16(HWND16 hParent
,WORD nType
,LPSTR szPath
)
437 FIXME(wnet
, "(%04x,%x,'%s'): stub\n",hParent
,nType
,szPath
);
438 return WN_NO_NETWORK
;
441 /**************************************************************************
442 * WNetGetUser [USER.516]
444 UINT16 WINAPI
WNetGetUser16(LPSTR lpLocalName
, LPSTR lpUserName
, DWORD
*lpSize
)
446 FIXME(wnet
, "(%p, %p, %p): stub\n", lpLocalName
, lpUserName
, lpSize
);
447 return WN_NO_NETWORK
;
450 /**************************************************************************
451 * WNetGetUser [MPR.86]
452 * FIXME: we should not return ourselves, but the owner of the drive lpLocalName
454 DWORD WINAPI
WNetGetUserA(LPCSTR lpLocalName
, LPSTR lpUserName
, DWORD
*lpSize
)
456 struct passwd
*pwd
= getpwuid(getuid());
458 FIXME(wnet
, "(%s, %p, %p), mostly stub\n", lpLocalName
, lpUserName
, lpSize
);
460 if (strlen(pwd
->pw_name
)+1>*lpSize
) {
461 *lpSize
= strlen(pwd
->pw_name
)+1;
462 SetLastError(ERROR_MORE_DATA
);
463 return ERROR_MORE_DATA
;
465 strcpy(lpUserName
,pwd
->pw_name
);
467 *lpSize
= strlen(pwd
->pw_name
)+1;
470 /* FIXME: wrong return value */
471 SetLastError(ERROR_NO_NETWORK
);
472 return ERROR_NO_NETWORK
;
475 /**************************************************************************
476 * WNetGetError [USER.519]
478 int WINAPI
WNetGetError16(LPWORD nError
)
480 FIXME(wnet
, "(%p): stub\n",nError
);
481 return WN_NO_NETWORK
;
484 /**************************************************************************
485 * WNetGetErrorText [USER.520]
487 int WINAPI
WNetGetErrorText16(WORD nError
, LPSTR lpBuffer
, LPWORD nBufferSize
)
489 FIXME(wnet
, "(%x,%p,%p): stub\n",nError
,lpBuffer
,nBufferSize
);
493 /**************************************************************************
494 * WNetRestoreConnection [USER.523]
496 int WINAPI
WNetRestoreConnection16(HWND16 hwndOwner
,LPSTR lpszDevice
)
498 FIXME(wnet
, "(%04x,'%s'): stub\n",hwndOwner
,lpszDevice
);
499 return WN_NO_NETWORK
;
502 /**************************************************************************
503 * WNetWriteJob [USER.524]
505 int WINAPI
WNetWriteJob16(HANDLE16 hJob
,void *lpData
,LPWORD lpcbData
)
507 FIXME(wnet
, "(%04x,%p,%p): stub\n",hJob
,lpData
,lpcbData
);
508 return WN_NO_NETWORK
;
511 /********************************************************************
512 * WNetConnectDialog [USER.525]
514 UINT16 WINAPI
WNetConnectDialog(HWND16 hWndParent
, WORD iType
)
516 FIXME(wnet
, "(%04x, %4X): stub\n", hWndParent
, iType
);
520 /**************************************************************************
521 * WNetDisconnectDialog [USER.526]
523 int WINAPI
WNetDisconnectDialog16(HWND16 hwndOwner
, WORD iType
)
525 FIXME(wnet
, "(%04x,%x): stub\n",hwndOwner
,iType
);
526 return WN_NO_NETWORK
;
529 /**************************************************************************
530 * WnetConnectionDialog [USER.527]
532 UINT16 WINAPI
WNetConnectionDialog16(HWND16 hWndParent
, WORD iType
)
534 FIXME(wnet
, "(%04x, %4X): stub\n", hWndParent
, iType
);
540 /**************************************************************************
541 * WNetViewQueueDialog [USER.528]
543 int WINAPI
WNetViewQueueDialog16(HWND16 hwndOwner
,LPSTR lpszQueue
)
545 FIXME(wnet
, "(%04x,'%s'): stub\n",hwndOwner
,lpszQueue
);
546 return WN_NO_NETWORK
;
549 /**************************************************************************
550 * WNetPropertyDialog [USER.529]
552 int WINAPI
WNetPropertyDialog16(HWND16 hwndParent
,WORD iButton
,
553 WORD nPropSel
,LPSTR lpszName
,WORD nType
)
555 FIXME(wnet
, "(%04x,%x,%x,'%s',%x): stub\n",
556 hwndParent
,iButton
,nPropSel
,lpszName
,nType
);
557 return WN_NO_NETWORK
;
560 /*********************************************************************
561 * WNetGetDirectoryType [USER.530] Decides whether resource is local
564 * on success, puts one of the following in *lpType:
565 * - WNDT_NETWORK on a network
568 int WINAPI
WNetGetDirectoryType16(LPSTR lpName
, LPINT16 lpType
)
570 UINT type
= GetDriveTypeA(lpName
);
572 if (type
== DRIVE_DOESNOTEXIST
)
573 type
= GetDriveTypeA(NULL
);
574 *lpType
= (type
==DRIVE_REMOTE
)?WNDT_NETWORK
:WNDT_NORMAL
;
575 TRACE(wnet
,"%s is %s\n",lpName
,(*lpType
==WNDT_NETWORK
)?
576 "WNDT_NETWORK":"WNDT_NORMAL");
580 /*****************************************************************
581 * WNetGetDirectoryTypeA [MPR.109]
584 UINT WINAPI
WNetGetDirectoryTypeA(LPSTR lpName
,void *lpType
)
586 return WNetGetDirectoryType16(lpName
, lpType
);
589 /**************************************************************************
590 * WNetDirectoryNotify [USER.531]
592 int WINAPI
WNetDirectoryNotify16(HWND16 hwndOwner
,LPSTR lpDir
,WORD wOper
)
594 FIXME(wnet
, "(%04x,%s,%s): stub\n",hwndOwner
,
595 lpDir
,(wOper
==WNDN_MKDIR
)?
596 "WNDN_MKDIR":(wOper
==WNDN_MVDIR
)?"WNDN_MVDIR":
597 (wOper
==WNDN_RMDIR
)?"WNDN_RMDIR":"unknown");
598 return WN_NOT_SUPPORTED
;
601 /**************************************************************************
602 * WNetGetPropertyText [USER.532]
604 int WINAPI
WNetGetPropertyText16(WORD iButton
, WORD nPropSel
, LPSTR lpszName
,
605 LPSTR lpszButtonName
, WORD cbButtonName
, WORD nType
)
607 FIXME(wnet
, "(%04x,%04x,'%s','%s',%04x): stub\n",
608 iButton
,nPropSel
,lpszName
,lpszButtonName
, nType
);
609 return WN_NO_NETWORK
;
613 /**************************************************************************
614 * WNetCloseEnum [USER.???]
616 UINT16 WINAPI
WNetCloseEnum(HANDLE16 hEnum
)
618 FIXME(wnet
, "(%04x): stub\n", hEnum
);
619 return WN_NO_NETWORK
;
622 /**************************************************************************
623 * WNetEnumResource [USER.???]
625 UINT16 WINAPI
WNetEnumResource(HANDLE16 hEnum
, DWORD cRequ
,
626 DWORD
*lpCount
, LPVOID lpBuf
)
628 FIXME(wnet
, "(%04x, %08lX, %p, %p): stub\n",
629 hEnum
, cRequ
, lpCount
, lpBuf
);
630 return WN_NO_NETWORK
;
633 /**************************************************************************
634 * WNetOpenEnum [USER.???]
636 UINT16 WINAPI
WNetOpenEnum16(DWORD dwScope
, DWORD dwType
,
637 LPNETRESOURCE16 lpNet
, HANDLE16
*lphEnum
)
639 FIXME(wnet
, "(%08lX, %08lX, %p, %p): stub\n",
640 dwScope
, dwType
, lpNet
, lphEnum
);
641 return WN_NO_NETWORK
;
644 /**************************************************************************
645 * WNetOpenEnumA [MPR.92]
647 UINT WINAPI
WNetOpenEnumA(DWORD dwScope
, DWORD dwType
, DWORD dwUsage
,
648 LPNETRESOURCEA lpNet
, HANDLE
*lphEnum
)
650 FIXME(wnet
, "(%08lX, %08lX, %08lX, %p, %p): stub\n",
651 dwScope
, dwType
, dwUsage
, lpNet
, lphEnum
);
652 SetLastError(WN_NO_NETWORK
);
653 return WN_NO_NETWORK
;
656 /**************************************************************************
657 * WNetOpenEnumW [MPR.93]
659 UINT WINAPI
WNetOpenEnumW(DWORD dwScope
, DWORD dwType
, DWORD dwUsage
,
660 LPNETRESOURCEA lpNet
, HANDLE
*lphEnum
)
662 FIXME(wnet
, "(%08lX, %08lX, %08lX, %p, %p): stub\n",
663 dwScope
, dwType
, dwUsage
, lpNet
, lphEnum
);
664 SetLastError(WN_NO_NETWORK
);
665 return WN_NO_NETWORK
;
668 /* ****************************************************************
669 * WNetGetResourceInformationA [MPR.80]
673 WNetGetResourceInformationA(
674 LPNETRESOURCEA netres
,LPVOID buf
,LPDWORD buflen
,LPSTR systemstr
676 FIXME(wnet
,"(%p,%p,%p,%p): stub!\n",netres
,buf
,buflen
,systemstr
);
677 SetLastError(WN_NO_NETWORK
);
678 return WN_NO_NETWORK
;
681 /**************************************************************************
682 * WNetCachePassword [MPR.52] Saves password in cache
685 * Success: WN_SUCCESS
686 * Failure: WNACCESS_DENIED, WN_BAD_PASSWORD, WN_BADVALUE, WN_NET_ERROR,
687 * WN_NOT_SUPPORTED, WN_OUT_OF_MEMORY
689 DWORD WINAPI
WNetCachePassword(
690 LPSTR pbResource
, /* [in] Name of workgroup, computer, or resource */
691 WORD cbResource
, /* [in] Size of name */
692 LPSTR pbPassword
, /* [in] Buffer containing password */
693 WORD cbPassword
, /* [in] Size of password */
694 BYTE nType
) /* [in] Type of password to cache */
696 FIXME(mpr
,"(%s,%d,%s,%d,%d): stub\n", pbResource
,cbResource
,
697 pbPassword
,cbPassword
,nType
);
703 /*****************************************************************
704 * WNetGetCachedPassword [MPR.69] Retrieves password from cache
707 * Success: WN_SUCCESS
708 * Failure: WNACCESS_DENIED, WN_BAD_PASSWORD, WN_BAD_VALUE,
709 * WN_NET_ERROR, WN_NOT_SUPPORTED, WN_OUT_OF_MEMORY
711 DWORD WINAPI
WNetGetCachedPassword(
712 LPSTR pbResource
, /* [in] Name of workgroup, computer, or resource */
713 WORD cbResource
, /* [in] Size of name */
714 LPSTR pbPassword
, /* [out] Buffer to receive password */
715 LPWORD pcbPassword
, /* [out] Receives size of password */
716 BYTE nType
) /* [in] Type of password to retrieve */
718 FIXME(mpr
,"(%s,%d,%p,%d,%d): stub\n",
719 pbResource
,cbResource
,pbPassword
,*pcbPassword
,nType
);
720 return WN_ACCESS_DENIED
;
723 /*****************************************************************
724 * MultinetGetConnectionPerformanceA [MPR.25]
728 * Failure: ERROR_NOT_SUPPORTED, ERROR_NOT_CONNECTED,
729 * ERROR_NO_NET_OR_BAD_PATH, ERROR_BAD_DEVICE,
730 * ERROR_BAD_NET_NAME, ERROR_INVALID_PARAMETER,
731 * ERROR_NO_NETWORK, ERROR_EXTENDED_ERROR
733 DWORD WINAPI
MultinetGetConnectionPerformanceA(
734 LPNETRESOURCEA lpNetResource
,
735 LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct
737 FIXME(mpr
,"(%p,%p): stub\n",lpNetResource
,lpNetConnectInfoStruct
);
738 return WN_NO_NETWORK
;
742 /*****************************************************************
746 DWORD WINAPI
_MPR_22(DWORD x
)
748 FIXME(mpr
,"(%lx): stub\n",x
);
752 /*****************************************************************
753 * MultinetGetErrorTextA [MPR.28]
756 UINT WINAPI
MultinetGetErrorTextA (DWORD x
, DWORD y
, DWORD z
)
757 { FIXME(mpr
,"(%lx,%lx,%lx): stub\n",x
,y
,z
);
761 /*****************************************************************
762 * MultinetGetErrorTextW [MPR.29]
764 UINT WINAPI
MultinetGetErrorTextW (DWORD x
, DWORD y
, DWORD z
)
765 { FIXME(mpr
,"(%lx,%lx,%lx): stub\n",x
,y
,z
);
769 /*****************************************************************
770 * NPSGetProviderHandle [MPR.33]
772 DWORD WINAPI
NPSGetProviderHandleA(DWORD x
) {
773 FIXME(mpr
,"(0x%08lx),stub!\n",x
);
777 /*****************************************************************
778 * WNetCancelConnection232A [MPR.53]
780 DWORD WINAPI
WNetCancelConnection2A(
785 FIXME(wnet
,": stub\n");
789 /*****************************************************************
790 * WNetCancelConnection232W [MPR.54]
792 DWORD WINAPI
WNetCancelConnection2W(
797 FIXME(wnet
,": stub\n");
801 /*****************************************************************
802 * WNetCancelConnection32A [MPR.55]
804 DWORD WINAPI
WNetCancelConnectionA(
809 FIXME(wnet
,": stub\n");
813 /*****************************************************************
814 * WNetCancelConnection32W [MPR.56]
816 DWORD WINAPI
WNetCancelConnectionW(
821 FIXME(wnet
,": stub\n");
825 /*****************************************************************
826 * WNetGetUser32W [MPR.87]
828 DWORD WINAPI
WNetGetUserW(
833 FIXME(wnet
,": stub\n");
834 SetLastError(WN_NO_NETWORK
);
835 return WN_NO_NETWORK
;