Import mpr from Wine

svn path=/trunk/; revision=7970
This commit is contained in:
Gé van Geldorp 2004-02-01 19:48:44 +00:00
parent 4d326b81dc
commit 098630e3d6
16 changed files with 1072 additions and 150 deletions

View file

@ -0,0 +1,151 @@
/*
* MPR - Network provider services
*
* Copyright (C) 1999 Ulrich Weigand
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef _NETSPI_H_
#define _NETSPI_H_
#include <windef.h>
#include <winnetwk.h>
/*
* Note: The Unicode variants of all these routines/structures
* apparently don't exist, at least not in Win95 ...
*/
#define HPROVIDER LPVOID
typedef HPROVIDER *PHPROVIDER;
typedef struct
{
DWORD cbStructure;
HWND hwndOwner;
LPCSTR lpResource;
LPSTR lpUsername;
DWORD cbUsername;
LPSTR lpPassword;
DWORD cbPassword;
LPSTR lpOrgUnit;
DWORD cbOrgUnit;
LPCSTR lpOUTitle;
LPCSTR lpExplainText;
LPCSTR lpDefaultUserName;
DWORD dwFlags;
} AUTHDLGSTRUCTA, *LPAUTHDLGSTRUCTA;
DECL_WINELIB_TYPE_AW(AUTHDLGSTRUCT)
DECL_WINELIB_TYPE_AW(LPAUTHDLGSTRUCT)
#define AUTHDLG_ENABLECACHE 0x00000001
#define AUTHDLG_CHECKCACHE 0x00000002
#define AUTHDLG_CACHEINVALID 0x00000004
#define AUTHDLG_USE_DEFAULT_NAME 0x00000008
#define AUTHDLG_CHECKDEFAULT_NAME 0x00000010
#define AUTHDLG_LOGON 0x00000020
#define AUTHDLG_ENABLECACHE 0x00000001
#define AUTHDLG_CHECKCACHE 0x00000002
#define AUTHDLG_CACHEINVALID 0x00000004
#define AUTHDLG_USE_DEFAULT_NAME 0x00000008
#define AUTHDLG_CHECKDEFAULT_NAME 0x00000010
#define AUTHDLG_LOGON 0x00000020
DWORD WINAPI NPSAuthenticationDialogA(LPAUTHDLGSTRUCTA);
#define NPSAuthenticationDialog WINELIB_NAME_AW(NPSAuthenticationDialog)
DWORD WINAPI NPSGetProviderHandleA(PHPROVIDER);
#define NPSGetProviderHandle WINELIB_NAME_AW(NPSGetProviderHandle)
DWORD WINAPI NPSGetProviderNameA(HPROVIDER,LPCSTR *);
#define NPSGetProviderName WINELIB_NAME_AW(NPSGetProviderName)
DWORD WINAPI NPSGetSectionNameA(HPROVIDER,LPCSTR *lpszSectionName);
#define NPSGetSectionName WINELIB_NAME_AW(NPSGetSectionName)
DWORD WINAPI NPSSetExtendedErrorA(DWORD,LPSTR);
#define NPSSetExtendedError WINELIB_NAME_AW(NPSSetExtendedError)
VOID WINAPI NPSSetCustomTextA(LPSTR);
#define NPSSetCustomText WINELIB_NAME_AW(NPSSetCustomText)
DWORD WINAPI NPSCopyStringA(LPCSTR,LPVOID,LPDWORD);
#define NPSCopyString WINELIB_NAME_AW(NPSCopyString)
DWORD WINAPI NPSDeviceGetNumberA(LPSTR,LPDWORD,LPDWORD);
#define NPSDeviceGetNumber WINELIB_NAME_AW(NPSDeviceGetNumber)
DWORD WINAPI NPSDeviceGetStringA(DWORD,DWORD,LPSTR,LPDWORD);
#define NPSDeviceGetString WINELIB_NAME_AW(NPSDeviceGetString)
enum NOTIFYTYPE { NotifyAddConnection,
NotifyCancelConnection,
NotifyGetConnectionPerformance };
#define NOTIFY_PRE 0x00
#define NOTIFY_POST 0x01
typedef struct
{
DWORD cbStructure;
DWORD dwNotifyStatus;
DWORD dwOperationStatus;
LPVOID lpNPContext;
} NOTIFYINFO, *LPNOTIFYINFO;
typedef struct
{
DWORD cbStructure;
HWND hwndOwner;
NETRESOURCEA NetResource;
DWORD dwAddFlags;
LPSTR lpAccessName;
LPDWORD lpBufferSize;
DWORD dwResult;
DWORD dwAddContext;
} NOTIFYADDA, *LPNOTIFYADDA;
#define CONNECT_CTXT_RESTORE 0x00000001
#define CONNECT_CTXT_GLOBAL 0x00000002
#define CONNECT_CTXT_PROVIDER 0x00000004
#define CONNECT_CTXT_SINGLE 0x00000008
typedef struct
{
DWORD cbStructure;
LPSTR lpName;
LPSTR lpProvider;
DWORD dwFlags;
BOOL fForce;
} NOTIFYCANCELA, *LPNOTIFYCANCELA;
typedef struct
{
DWORD cbStructure;
LPSTR lpRemoteName;
LPSTR lpProviderName;
LPNETCONNECTINFOSTRUCT lpNetConnectInfo;
} NOTIFYPERFORMANCEA, *LPNOTIFYPERFORMANCEA;
typedef DWORD (CALLBACK *NOTIFYCALLBACK)(LPNOTIFYINFO,LPVOID);
DWORD WINAPI NPSNotifyRegisterA(enum NOTIFYTYPE,NOTIFYCALLBACK);
#define NPSNotifyRegister WINELIB_NAME_AW(NPSNotifyRegister)
LPVOID WINAPI NPSNotifyGetContextA(NOTIFYCALLBACK);
#define NPSNotifyGetContext WINELIB_NAME_AW(NPSNotifyGetContext)
#endif /* _NETSPI_H_ */

View file

@ -0,0 +1,46 @@
/*
* Basic types definitions
*
* Copyright 1996 Alexandre Julliard
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include_next "windef.h"
#ifndef __WINE_WINDEF_H
#define __WINE_WINDEF_H
/* Macros to map Winelib names to the correct implementation name */
#if defined(__WINESRC__) || defined(__REACTOS__)
# define WINELIB_NAME_AW(func) \
func##_must_be_suffixed_with_W_or_A_in_this_context \
func##_must_be_suffixed_with_W_or_A_in_this_context
#else /* __WINESRC__ || __REACTOS__*/
# ifdef UNICODE
# define WINELIB_NAME_AW(func) func##W
# else
# define WINELIB_NAME_AW(func) func##A
# endif /* UNICODE */
#endif /* __WINESRC__ */
#if defined(__WINESRC__) || defined(__REACTOS__)
# define DECL_WINELIB_TYPE_AW(type) /* nothing */
#else /* __WINESRC__ */
# define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
#endif /* __WINESRC__ */
#endif /* __WINE_WINDEF_H */

View file

@ -0,0 +1,399 @@
/*
* Copyright (C) the Wine project
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef _WINNETWK_H_
#define _WINNETWK_H_
/*
* Network types
*/
#define WNNC_NET_MSNET 0x00010000
#define WNNC_NET_LANMAN 0x00020000
#define WNNC_NET_NETWARE 0x00030000
#define WNNC_NET_VINES 0x00040000
#define WNNC_NET_10NET 0x00050000
#define WNNC_NET_LOCUS 0x00060000
#define WNNC_NET_SUN_PC_NFS 0x00070000
#define WNNC_NET_LANSTEP 0x00080000
#define WNNC_NET_9TILES 0x00090000
#define WNNC_NET_LANTASTIC 0x000A0000
#define WNNC_NET_AS400 0x000B0000
#define WNNC_NET_FTP_NFS 0x000C0000
#define WNNC_NET_PATHWORKS 0x000D0000
#define WNNC_NET_LIFENET 0x000E0000
#define WNNC_NET_POWERLAN 0x000F0000
#define WNNC_NET_BWNFS 0x00100000
#define WNNC_NET_COGENT 0x00110000
#define WNNC_NET_FARALLON 0x00120000
#define WNNC_NET_APPLETALK 0x00130000
#define WNNC_NET_INTERGRAPH 0x00140000
/*
* Network resources
*/
#define RESOURCE_CONNECTED 0x00000001
#define RESOURCE_GLOBALNET 0x00000002
#define RESOURCE_REMEMBERED 0x00000003
#define RESOURCE_RECENT 0x00000004
#define RESOURCE_CONTEXT 0x00000005
#define RESOURCETYPE_ANY 0x00000000
#define RESOURCETYPE_DISK 0x00000001
#define RESOURCETYPE_PRINT 0x00000002
#define RESOURCETYPE_RESERVED 0x00000008
#define RESOURCETYPE_UNKNOWN 0xFFFFFFFF
#define RESOURCEUSAGE_CONNECTABLE 0x00000001
#define RESOURCEUSAGE_CONTAINER 0x00000002
#define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004
#define RESOURCEUSAGE_SIBLING 0x00000008
#define RESOURCEUSAGE_ATTACHED 0x00000010
#define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED)
#define RESOURCEUSAGE_RESERVED 0x80000000
#define RESOURCEDISPLAYTYPE_GENERIC 0x00000000
#define RESOURCEDISPLAYTYPE_DOMAIN 0x00000001
#define RESOURCEDISPLAYTYPE_SERVER 0x00000002
#define RESOURCEDISPLAYTYPE_SHARE 0x00000003
#define RESOURCEDISPLAYTYPE_FILE 0x00000004
#define RESOURCEDISPLAYTYPE_GROUP 0x00000005
#define RESOURCEDISPLAYTYPE_NETWORK 0x00000006
#define RESOURCEDISPLAYTYPE_ROOT 0x00000007
#define RESOURCEDISPLAYTYPE_SHAREADMIN 0x00000008
#define RESOURCEDISPLAYTYPE_DIRECTORY 0x00000009
#define RESOURCEDISPLAYTYPE_TREE 0x0000000A
typedef struct {
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
LPSTR lpLocalName;
LPSTR lpRemoteName;
LPSTR lpComment ;
LPSTR lpProvider;
} NETRESOURCEA,*LPNETRESOURCEA;
typedef struct {
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
LPWSTR lpLocalName;
LPWSTR lpRemoteName;
LPWSTR lpComment ;
LPWSTR lpProvider;
} NETRESOURCEW,*LPNETRESOURCEW;
DECL_WINELIB_TYPE_AW(NETRESOURCE)
DECL_WINELIB_TYPE_AW(LPNETRESOURCE)
/*
* Network connections
*/
#define NETPROPERTY_PERSISTENT 1
#define CONNECT_UPDATE_PROFILE 0x00000001
#define CONNECT_UPDATE_RECENT 0x00000002
#define CONNECT_TEMPORARY 0x00000004
#define CONNECT_INTERACTIVE 0x00000008
#define CONNECT_PROMPT 0x00000010
#define CONNECT_NEED_DRIVE 0x00000020
#define CONNECT_REFCOUNT 0x00000040
#define CONNECT_REDIRECT 0x00000080
#define CONNECT_LOCALDRIVE 0x00000100
#define CONNECT_CURRENT_MEDIA 0x00000200
DWORD WINAPI WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR);
DWORD WINAPI WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR);
#define WNetAddConnection WINELIB_NAME_AW(WNetAddConnection)
DWORD WINAPI WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
DWORD WINAPI WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
#define WNetAddConnection2 WINELIB_NAME_AW(WNetAddConnection2)
DWORD WINAPI WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
DWORD WINAPI WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
#define WNetAddConnection3 WINELIB_NAME_AW(WNetAddConnection3)
DWORD WINAPI WNetCancelConnectionA(LPCSTR,BOOL);
DWORD WINAPI WNetCancelConnectionW(LPCWSTR,BOOL);
#define WNetCancelConnection WINELIB_NAME_AW(WNetCancelConnection)
DWORD WINAPI WNetCancelConnection2A(LPCSTR,DWORD,BOOL);
DWORD WINAPI WNetCancelConnection2W(LPCWSTR,DWORD,BOOL);
#define WNetCancelConnection2 WINELIB_NAME_AW(WNetCancelConnection2)
DWORD WINAPI WNetGetConnectionA(LPCSTR,LPSTR,LPDWORD);
DWORD WINAPI WNetGetConnectionW(LPCWSTR,LPWSTR,LPDWORD);
#define WNetGetConnection WINELIB_NAME_AW(WNetGetConnection)
DWORD WINAPI WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,LPDWORD,LPDWORD);
DWORD WINAPI WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPDWORD,LPDWORD);
#define WNetUseConnection WINELIB_NAME_AW(WNetUseConnection)
DWORD WINAPI WNetSetConnectionA(LPCSTR,DWORD,LPVOID);
DWORD WINAPI WNetSetConnectionW(LPCWSTR,DWORD,LPVOID);
#define WNetSetConnection WINELIB_NAME_AW(WNetSetConnection)
/*
* Network connection dialogs
*/
typedef struct {
DWORD cbStructure; /* size of this structure in bytes */
HWND hwndOwner; /* owner window for the dialog */
LPNETRESOURCEA lpConnRes;/* Requested Resource info */
DWORD dwFlags; /* flags (see below) */
DWORD dwDevNum; /* number of devices connected to */
} CONNECTDLGSTRUCTA, *LPCONNECTDLGSTRUCTA;
typedef struct {
DWORD cbStructure; /* size of this structure in bytes */
HWND hwndOwner; /* owner window for the dialog */
LPNETRESOURCEW lpConnRes;/* Requested Resource info */
DWORD dwFlags; /* flags (see below) */
DWORD dwDevNum; /* number of devices connected to */
} CONNECTDLGSTRUCTW, *LPCONNECTDLGSTRUCTW;
DECL_WINELIB_TYPE_AW(CONNECTDLGSTRUCT)
DECL_WINELIB_TYPE_AW(LPCONNECTDLGSTRUCT)
#define CONNDLG_RO_PATH 0x00000001 /* Resource path should be read-only */
#define CONNDLG_CONN_POINT 0x00000002 /* Netware -style movable connection point enabled */
#define CONNDLG_USE_MRU 0x00000004 /* Use MRU combobox */
#define CONNDLG_HIDE_BOX 0x00000008 /* Hide persistent connect checkbox */
#define CONNDLG_PERSIST 0x00000010 /* Force persistent connection */
#define CONNDLG_NOT_PERSIST 0x00000020 /* Force connection NOT persistent */
typedef struct {
DWORD cbStructure; /* size of this structure in bytes */
HWND hwndOwner; /* owner window for the dialog */
LPSTR lpLocalName; /* local device name */
LPSTR lpRemoteName; /* network resource name */
DWORD dwFlags; /* flags */
} DISCDLGSTRUCTA, *LPDISCDLGSTRUCTA;
typedef struct {
DWORD cbStructure; /* size of this structure in bytes */
HWND hwndOwner; /* owner window for the dialog */
LPWSTR lpLocalName; /* local device name */
LPWSTR lpRemoteName; /* network resource name */
DWORD dwFlags; /* flags */
} DISCDLGSTRUCTW, *LPDISCDLGSTRUCTW;
DECL_WINELIB_TYPE_AW(DISCDLGSTRUCT)
DECL_WINELIB_TYPE_AW(LPDISCDLGSTRUCT)
#define DISC_UPDATE_PROFILE 0x00000001
#define DISC_NO_FORCE 0x00000040
DWORD WINAPI WNetConnectionDialog(HWND,DWORD);
DWORD WINAPI WNetDisconnectDialog(HWND,DWORD);
DWORD WINAPI WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA);
DWORD WINAPI WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW);
#define WNetConnectionDialog1 WINELIB_NAME_AW(WNetConnectionDialog1)
DWORD WINAPI WNetDisconnectDialog1A(LPDISCDLGSTRUCTA);
DWORD WINAPI WNetDisconnectDialog1W(LPDISCDLGSTRUCTW);
#define WNetDisconnectDialog1 WINELIB_NAME_AW(WNetDisconnectDialog1)
/*
* Network browsing
*/
DWORD WINAPI WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE);
DWORD WINAPI WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE);
#define WNetOpenEnum WINELIB_NAME_AW(WNetOpenEnum)
DWORD WINAPI WNetEnumResourceA(HANDLE,LPDWORD,LPVOID,LPDWORD);
DWORD WINAPI WNetEnumResourceW(HANDLE,LPDWORD,LPVOID,LPDWORD);
#define WNetEnumResource WINELIB_NAME_AW(WNetEnumResource)
DWORD WINAPI WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPSTR*);
DWORD WINAPI WNetGetResourceInformationW(LPNETRESOURCEW,LPVOID,LPDWORD,LPWSTR*);
#define WNetGetResourceInformation WINELIB_NAME_AW(WNetGetResourceInformation)
DWORD WINAPI WNetGetResourceParentA(LPNETRESOURCEA,LPVOID,LPDWORD);
DWORD WINAPI WNetGetResourceParentW(LPNETRESOURCEW,LPVOID,LPDWORD);
#define WNetGetResourceParent WINELIB_NAME_AW(WNetGetResourceParent)
DWORD WINAPI WNetCloseEnum(HANDLE);
/*
* Universal naming
*/
#define UNIVERSAL_NAME_INFO_LEVEL 0x00000001
#define REMOTE_NAME_INFO_LEVEL 0x00000002
typedef struct {
LPSTR lpUniversalName;
} UNIVERSAL_NAME_INFOA, *LPUNIVERSAL_NAME_INFOA;
typedef struct {
LPWSTR lpUniversalName;
} UNIVERSAL_NAME_INFOW, *LPUNIVERSAL_NAME_INFOW;
DECL_WINELIB_TYPE_AW(UNIVERSAL_NAME_INFO)
DECL_WINELIB_TYPE_AW(LPUNIVERSAL_NAME_INFO)
typedef struct {
LPSTR lpUniversalName;
LPSTR lpConnectionName;
LPSTR lpRemainingPath;
}REMOTE_NAME_INFOA, *LPREMOTE_NAME_INFOA;
typedef struct {
LPWSTR lpUniversalName;
LPWSTR lpConnectionName;
LPWSTR lpRemainingPath;
}REMOTE_NAME_INFOW, *LPREMOTE_NAME_INFOW;
DECL_WINELIB_TYPE_AW(REMOTE_NAME_INFO)
DECL_WINELIB_TYPE_AW(LPREMOTE_NAME_INFO)
DWORD WINAPI WNetGetUniversalNameA(LPCSTR,DWORD,LPVOID,LPDWORD);
DWORD WINAPI WNetGetUniversalNameW(LPCWSTR,DWORD,LPVOID,LPDWORD);
#define WNetGetUniversalName WINELIB_NAME_AW(WNetGetUniversalName)
/*
* Other
*/
DWORD WINAPI WNetGetUserA(LPCSTR,LPSTR,LPDWORD);
DWORD WINAPI WNetGetUserW(LPCWSTR,LPWSTR,LPDWORD);
#define WNetGetUser WINELIB_NAME_AW(WNetGetUser)
#define WNFMT_MULTILINE 0x01
#define WNFMT_ABBREVIATED 0x02
#define WNFMT_INENUM 0x10
#define WNFMT_CONNECTION 0x20
DWORD WINAPI WNetGetProviderNameA(DWORD,LPSTR,LPDWORD);
DWORD WINAPI WNetGetProviderNameW(DWORD,LPWSTR,LPDWORD);
#define WNetGetProviderName WINELIB_NAME_AW(WNetGetProviderName)
typedef struct {
DWORD cbStructure;
DWORD dwProviderVersion;
DWORD dwStatus;
DWORD dwCharacteristics;
DWORD dwHandle;
WORD wNetType;
DWORD dwPrinters;
DWORD dwDrives;
} NETINFOSTRUCT, *LPNETINFOSTRUCT;
#define NETINFO_DLL16 0x00000001
#define NETINFO_DISKRED 0x00000004
#define NETINFO_PRINTERRED 0x00000008
DWORD WINAPI WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT);
DWORD WINAPI WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT);
#define WNetGetNetworkInformation WINELIB_NAME_AW(WNetGetNetworkInformation)
/*
* Status codes
*/
DWORD WINAPI WNetGetLastErrorA(LPDWORD,LPSTR,DWORD,LPSTR,DWORD);
DWORD WINAPI WNetGetLastErrorW(LPDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
#define WNetGetLastError WINELIB_NAME_AW(WNetGetLastError)
#define WN_SUCCESS NO_ERROR
#define WN_NO_ERROR NO_ERROR
#define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED
#define WN_CANCEL ERROR_CANCELLED
#define WN_RETRY ERROR_RETRY
#define WN_NET_ERROR ERROR_UNEXP_NET_ERR
#define WN_MORE_DATA ERROR_MORE_DATA
#define WN_BAD_POINTER ERROR_INVALID_ADDRESS
#define WN_BAD_VALUE ERROR_INVALID_PARAMETER
#define WN_BAD_USER ERROR_BAD_USERNAME
#define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD
#define WN_ACCESS_DENIED ERROR_ACCESS_DENIED
#define WN_FUNCTION_BUSY ERROR_BUSY
#define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR
#define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY
#define WN_NO_NETWORK ERROR_NO_NETWORK
#define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR
#define WN_BAD_LEVEL ERROR_INVALID_LEVEL
#define WN_BAD_HANDLE ERROR_INVALID_HANDLE
#define WN_NOT_INITIALIZING ERROR_ALREADY_INITIALIZED
#define WN_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
#define WN_NOT_CONNECTED ERROR_NOT_CONNECTED
#define WN_OPEN_FILES ERROR_OPEN_FILES
#define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE
#define WN_BAD_NETNAME ERROR_BAD_NET_NAME
#define WN_BAD_LOCALNAME ERROR_BAD_DEVICE
#define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED
#define WN_DEVICE_ERROR ERROR_GEN_FAILURE
#define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL
#define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH
#define WN_BAD_PROVIDER ERROR_BAD_PROVIDER
#define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE
#define WN_BAD_PROFILE ERROR_BAD_PROFILE
#define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE
#define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED
#define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS
#define WN_NOT_CONTAINER ERROR_NOT_CONTAINER
#define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED
#define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON
#define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS
/*
* Multinet (for Shell)
*/
typedef struct {
DWORD cbStructure;
DWORD dwFlags;
DWORD dwSpeed;
DWORD dwDelay;
DWORD dwOptDataSize;
} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
#define WNCON_FORNETCARD 0x00000001
#define WNCON_NOTROUTED 0x00000002
#define WNCON_SLOWLINK 0x00000004
#define WNCON_DYNAMIC 0x00000008
DWORD WINAPI MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);
DWORD WINAPI MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT);
#define MultinetGetConnectionPerformance WINELIB_NAME_AW(MultinetGetConnectionPerformance)
DWORD WINAPI MultinetGetErrorTextA(DWORD,DWORD,DWORD);
DWORD WINAPI MultinetGetErrorTextW(DWORD,DWORD,DWORD);
#define MultinetGetErrorText WINELIB_NAME_AW(MultinetGetErrorText)
/*
* Password cache
*/
/* WNetEnumCachedPasswords */
typedef struct tagPASSWORD_CACHE_ENTRY
{
WORD cbEntry;
WORD cbResource;
WORD cbPassword;
BYTE iEntry;
BYTE nType;
BYTE abResource[1];
} PASSWORD_CACHE_ENTRY;
typedef BOOL (CALLBACK *ENUMPASSWORDPROC)(PASSWORD_CACHE_ENTRY *, DWORD);
UINT WINAPI WNetEnumCachedPasswords( LPSTR, WORD, BYTE, ENUMPASSWORDPROC, DWORD);
DWORD WINAPI WNetGetCachedPassword( LPSTR, WORD, LPSTR, LPWORD, BYTE );
DWORD WINAPI WNetCachePassword( LPSTR, WORD, LPSTR, WORD, BYTE, WORD );
#endif /* _WINNETWK_H_ */

View file

@ -1,34 +1,9 @@
# $Id: Makefile,v 1.2 2004/02/01 19:48:44 gvg Exp $
PATH_TO_TOP = ../..
TARGET_TYPE = dynlink
TARGET_NAME = mpr
TARGET_BASE = 0x701a0000
TARGET_CFLAGS = -fno-builtin
# require os code to explicitly request A/W version of structs/functions
TARGET_CFLAGS += -DUNICODE -D_UNICODE -Wall -Werror
TARGET_LFLAGS = -nostdlib -nostartfiles
TARGET_SDKLIBS = kernel32.a ntdll.a user32.a advapi32.a ole32.a
TARGET_OBJECTS = \
../Uuid/uuid.o \
auth.o \
multinet.o \
nps.o \
pwcache.o \
wnet.o \
DEP_OBJECTS = $(TARGET_OBJECTS)
TARGET_TYPE = winedll
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
include $(TOOLS_PATH)/depend.mk
# EOF

View file

@ -0,0 +1,18 @@
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = mpr.dll
IMPORTS = advapi32 kernel32
C_SRCS = \
auth.c \
mpr_main.c \
multinet.c \
nps.c \
pwcache.c \
wnet.c
@MAKE_DLL_RULES@
### Dependencies:

View file

@ -0,0 +1,19 @@
# $Id: Makefile.ros-template,v 1.1 2004/02/01 19:48:44 gvg Exp $
TARGET_NAME = mpr
TARGET_OBJECTS = @C_SRCS@
TARGET_CFLAGS = -D__REACTOS__
TARGET_SDKLIBS = @IMPORTS@ kernel32.a libwine.a ntdll.a
TARGET_BASE = 0x76620000
TARGET_NORC = yes
default: all
DEP_OBJECTS = $(TARGET_OBJECTS)
include $(TOOLS_PATH)/depend.mk

View file

@ -18,15 +18,23 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
//#include <winbase.h>
//#include <winnetwk.h>
#include <windows.h>
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winnetwk.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(mpr);
/*****************************************************************
* WNetLogoffA [MPR.@]
*/
DWORD WINAPI WNetLogoffA( LPCSTR lpProvider, HWND hwndOwner )
{
FIXME( "(%s, %p): stub\n", debugstr_a(lpProvider), hwndOwner );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -36,6 +44,8 @@ DWORD WINAPI WNetLogoffA( LPCSTR lpProvider, HWND hwndOwner )
*/
DWORD WINAPI WNetLogoffW( LPCWSTR lpProvider, HWND hwndOwner )
{
FIXME( "(%s, %p): stub\n", debugstr_w(lpProvider), hwndOwner );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -45,6 +55,8 @@ DWORD WINAPI WNetLogoffW( LPCWSTR lpProvider, HWND hwndOwner )
*/
DWORD WINAPI WNetLogonA( LPCSTR lpProvider, HWND hwndOwner )
{
FIXME( "(%s, %p): stub\n", debugstr_a(lpProvider), hwndOwner );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -54,6 +66,8 @@ DWORD WINAPI WNetLogonA( LPCSTR lpProvider, HWND hwndOwner )
*/
DWORD WINAPI WNetLogonW( LPCWSTR lpProvider, HWND hwndOwner )
{
FIXME( "(%s, %p): stub\n", debugstr_w(lpProvider), hwndOwner );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -63,6 +77,8 @@ DWORD WINAPI WNetLogonW( LPCWSTR lpProvider, HWND hwndOwner )
*/
DWORD WINAPI WNetVerifyPasswordA( LPCSTR lpszPassword, BOOL *pfMatch )
{
FIXME( "(%p, %p): stub\n", lpszPassword, pfMatch );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -72,6 +88,8 @@ DWORD WINAPI WNetVerifyPasswordA( LPCSTR lpszPassword, BOOL *pfMatch )
*/
DWORD WINAPI WNetVerifyPasswordW( LPCWSTR lpszPassword, BOOL *pfMatch )
{
FIXME( "(%p, %p): stub\n", lpszPassword, pfMatch );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}

View file

@ -1,47 +0,0 @@
typedef struct
{
DWORD cbStructure;
HWND hwndOwner;
LPCSTR lpResource;
LPSTR lpUsername;
DWORD cbUsername;
LPSTR lpPassword;
DWORD cbPassword;
LPSTR lpOrgUnit;
DWORD cbOrgUnit;
LPCSTR lpOUTitle;
LPCSTR lpExplainText;
LPCSTR lpDefaultUserName;
DWORD dwFlags;
} AUTHDLGSTRUCTA, *LPAUTHDLGSTRUCTA;
typedef struct
{
DWORD cbStructure;
DWORD dwNotifyStatus;
DWORD dwOperationStatus;
LPVOID lpNPContext;
} NOTIFYINFO, *LPNOTIFYINFO;
typedef struct tagPASSWORD_CACHE_ENTRY {
WORD cbEntry;
WORD cbResource;
WORD cbPassword;
BYTE iEntry;
BYTE nType;
BYTE abResource[1];
} PASSWORD_CACHE_ENTRY;
enum NOTIFYTYPE { NotifyAddConnection,
NotifyCancelConnection,
NotifyGetConnectionPerformance };
#define HPROVIDER LPVOID
#define WN_NOT_SUPPORTED 0x0001
#define WN_NOT_CONNECTED ERROR_NOT_CONNECTED
#define WN_BAD_LOCALNAME ERROR_BAD_DEVICE
typedef HPROVIDER *PHPROVIDER;
typedef DWORD (CALLBACK *NOTIFYCALLBACK)(LPNOTIFYINFO,LPVOID);
typedef BOOL (CALLBACK *ENUMPASSWORDPROC)(PASSWORD_CACHE_ENTRY *, DWORD);

View file

@ -1,57 +0,0 @@
/*
* ReactOS Cards
*
* Copyright (C) 2003 Filip Navara <xnavara@volny.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <windows.h>
#include <reactos/resource.h>
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,3,0,0
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", RES_STR_COMPANY_NAME
VALUE "FileDescription", "MPR DLL\0"
VALUE "FileVersion", "0.3.0.0\0"
VALUE "InternalName", "mpr\0"
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
VALUE "OriginalFilename", "mpr.dll\0"
VALUE "ProductName", RES_STR_PRODUCT_NAME
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

116
reactos/lib/mpr/mpr.spec Normal file
View file

@ -0,0 +1,116 @@
# ordinal exports
1 stub @
2 stub @
3 stub @
4 stub @
5 stub @
6 stub @
7 stub @
8 stub @
9 stub @
12 stub @
13 stub @
14 stub @
15 stub @
16 stub @
17 stub @
18 stub @
19 stub @
20 stub @
21 stub @
22 stdcall @(long) MPR_Alloc
23 stdcall @(ptr long) MPR_ReAlloc
24 stdcall @(ptr) MPR_Free
25 stdcall @(ptr long) _MPR_25
@ stdcall -private DllCanUnloadNow()
@ stub DllGetClassObject
@ stdcall MultinetGetConnectionPerformanceA(ptr ptr)
@ stdcall MultinetGetConnectionPerformanceW(ptr ptr)
@ stdcall MultinetGetErrorTextA(long ptr long)
@ stdcall MultinetGetErrorTextW(long ptr long)
@ stdcall NPSAuthenticationDialogA(ptr)
@ stdcall NPSCopyStringA(str ptr ptr)
@ stdcall NPSDeviceGetNumberA(str ptr ptr)
@ stdcall NPSDeviceGetStringA(long long ptr long)
@ stdcall NPSGetProviderHandleA(ptr)
@ stdcall NPSGetProviderNameA(long ptr)
@ stdcall NPSGetSectionNameA(long ptr)
@ stdcall NPSNotifyGetContextA(ptr)
@ stdcall NPSNotifyRegisterA(long ptr)
@ stdcall NPSSetCustomTextA(str)
@ stdcall NPSSetExtendedErrorA(long str)
@ stub PwdChangePasswordA
@ stub PwdChangePasswordW
@ stub PwdGetPasswordStatusA
@ stub PwdGetPasswordStatusW
@ stub PwdSetPasswordStatusA
@ stub PwdSetPasswordStatusW
@ stdcall WNetAddConnection2A(ptr str str long)
@ stdcall WNetAddConnection2W(ptr wstr wstr long)
@ stdcall WNetAddConnection3A(long ptr str str long)
@ stdcall WNetAddConnection3W(long ptr wstr wstr long)
@ stdcall WNetAddConnectionA(str str str)
@ stdcall WNetAddConnectionW(wstr wstr wstr)
@ stdcall WNetCachePassword(str long str long long long)
@ stdcall WNetCancelConnection2A(str long long)
@ stdcall WNetCancelConnection2W(wstr long long)
@ stdcall WNetCancelConnectionA(str long)
@ stdcall WNetCancelConnectionW(wstr long)
@ stdcall WNetCloseEnum(long)
@ stdcall WNetConnectionDialog1A(ptr)
@ stdcall WNetConnectionDialog1W(ptr)
@ stdcall WNetConnectionDialog(long long)
@ stdcall WNetDisconnectDialog1A(ptr)
@ stdcall WNetDisconnectDialog1W(ptr)
@ stdcall WNetDisconnectDialog(long long)
@ stdcall WNetEnumCachedPasswords(str long long ptr long)
@ stdcall WNetEnumResourceA(long ptr ptr ptr)
@ stdcall WNetEnumResourceW(long ptr ptr ptr)
@ stub WNetFormatNetworkNameA
@ stub WNetFormatNetworkNameW
@ stdcall WNetGetCachedPassword(ptr long ptr ptr long)
@ stdcall WNetGetConnectionA(str ptr ptr)
@ stdcall WNetGetConnectionW(wstr ptr ptr)
@ stub WNetGetHomeDirectoryA
@ stub WNetGetHomeDirectoryW
@ stdcall WNetGetLastErrorA(ptr ptr long ptr long)
@ stdcall WNetGetLastErrorW(ptr ptr long ptr long)
@ stdcall WNetGetNetworkInformationA(str ptr)
@ stdcall WNetGetNetworkInformationW(wstr ptr)
@ stdcall WNetGetProviderNameA(long ptr ptr)
@ stdcall WNetGetProviderNameW(long ptr ptr)
@ stdcall WNetGetResourceInformationA(ptr ptr ptr ptr)
@ stdcall WNetGetResourceInformationW(ptr ptr ptr ptr)
@ stdcall WNetGetResourceParentA(ptr ptr ptr)
@ stdcall WNetGetResourceParentW(ptr ptr ptr)
@ stdcall WNetGetUniversalNameA (str long ptr ptr)
@ stdcall WNetGetUniversalNameW (wstr long ptr ptr)
@ stdcall WNetGetUserA(str ptr ptr)
@ stdcall WNetGetUserW(wstr wstr ptr)
@ stdcall WNetLogoffA(str long)
@ stdcall WNetLogoffW(wstr long)
@ stdcall WNetLogonA(str long)
@ stdcall WNetLogonW(wstr long)
@ stdcall WNetOpenEnumA(long long long ptr ptr)
@ stdcall WNetOpenEnumW(long long long ptr ptr)
@ stdcall WNetRemoveCachedPassword(long long long)
@ stdcall WNetRestoreConnectionA(long str)
@ stdcall WNetRestoreConnectionW(long wstr)
@ stdcall WNetSetConnectionA(str long ptr)
@ stdcall WNetSetConnectionW(wstr long ptr)
@ stdcall WNetUseConnectionA(long ptr str str long str ptr ptr)
@ stdcall WNetUseConnectionW(long ptr wstr wstr long wstr ptr ptr)
@ stdcall WNetVerifyPasswordA(str ptr)
@ stdcall WNetVerifyPasswordW(wstr ptr)
#additions, not in win95 mpr.dll
@ stub WNetRestoreConnection
@ stub WNetLogonNotify
@ stub WNetPasswordChangeNotify
@ stub WNetGetPropertyTextA
@ stub WNetPropertyDialogA
@ stub WNetGetDirectoryTypeA
@ stub WNetFMXGetPermHelp
@ stub WNetFMXEditPerm
@ stub WNetFMXGetPermCaps

View file

@ -18,6 +18,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winnetwk.h"
#include "wine/debug.h"

View file

@ -18,7 +18,14 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <windows.h>
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winnetwk.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(mpr);
/*****************************************************************
@ -35,6 +42,8 @@ DWORD WINAPI MultinetGetConnectionPerformanceA(
LPNETRESOURCEA lpNetResource,
LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct )
{
FIXME( "(%p, %p): stub\n", lpNetResource, lpNetConnectInfoStruct );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -46,6 +55,8 @@ DWORD WINAPI MultinetGetConnectionPerformanceW(
LPNETRESOURCEW lpNetResource,
LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct )
{
FIXME( "(%p, %p): stub\n", lpNetResource, lpNetConnectInfoStruct );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -55,7 +66,8 @@ DWORD WINAPI MultinetGetConnectionPerformanceW(
*/
DWORD WINAPI MultinetGetErrorTextA( DWORD x, DWORD y, DWORD z )
{
return 0;
FIXME( "(%lx, %lx, %lx): stub\n", x, y, z );
return 0;
}
/*****************************************************************
@ -63,6 +75,7 @@ DWORD WINAPI MultinetGetErrorTextA( DWORD x, DWORD y, DWORD z )
*/
DWORD WINAPI MultinetGetErrorTextW( DWORD x, DWORD y, DWORD z )
{
FIXME( "(%lx, %lx, %lx ): stub\n", x, y, z );
return 0;
}

View file

@ -18,14 +18,23 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <windows.h>
#include "mpr.h"
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winnetwk.h"
#include "netspi.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(mpr);
/*****************************************************************
* NPSAuthenticationDialogA [MPR.@]
*/
DWORD WINAPI NPSAuthenticationDialogA( LPAUTHDLGSTRUCTA lpAuthDlgStruct )
{
FIXME( "(%p): stub\n", lpAuthDlgStruct );
return WN_NOT_SUPPORTED;
}
@ -34,6 +43,7 @@ DWORD WINAPI NPSAuthenticationDialogA( LPAUTHDLGSTRUCTA lpAuthDlgStruct )
*/
DWORD WINAPI NPSGetProviderHandleA( PHPROVIDER phProvider )
{
FIXME( "(%p): stub\n", phProvider );
return WN_NOT_SUPPORTED;
}
@ -42,6 +52,7 @@ DWORD WINAPI NPSGetProviderHandleA( PHPROVIDER phProvider )
*/
DWORD WINAPI NPSGetProviderNameA( HPROVIDER hProvider, LPCSTR *lpszProviderName )
{
FIXME( "(%p, %p): stub\n", hProvider, lpszProviderName );
return WN_NOT_SUPPORTED;
}
@ -50,6 +61,7 @@ DWORD WINAPI NPSGetProviderNameA( HPROVIDER hProvider, LPCSTR *lpszProviderName
*/
DWORD WINAPI NPSGetSectionNameA( HPROVIDER hProvider, LPCSTR *lpszSectionName )
{
FIXME( "(%p, %p): stub\n", hProvider, lpszSectionName );
return WN_NOT_SUPPORTED;
}
@ -58,6 +70,7 @@ DWORD WINAPI NPSGetSectionNameA( HPROVIDER hProvider, LPCSTR *lpszSectionName )
*/
DWORD WINAPI NPSSetExtendedErrorA( DWORD NetSpecificError, LPSTR lpExtendedErrorText )
{
FIXME( "(%08lx, %s): stub\n", NetSpecificError, debugstr_a(lpExtendedErrorText) );
return WN_NOT_SUPPORTED;
}
@ -66,6 +79,7 @@ DWORD WINAPI NPSSetExtendedErrorA( DWORD NetSpecificError, LPSTR lpExtendedError
*/
VOID WINAPI NPSSetCustomTextA( LPSTR lpCustomErrorText )
{
FIXME( "(%s): stub\n", debugstr_a(lpCustomErrorText) );
}
/*****************************************************************
@ -73,6 +87,7 @@ VOID WINAPI NPSSetCustomTextA( LPSTR lpCustomErrorText )
*/
DWORD WINAPI NPSCopyStringA( LPCSTR lpString, LPVOID lpBuffer, LPDWORD lpdwBufferSize )
{
FIXME( "(%s, %p, %p): stub\n", debugstr_a(lpString), lpBuffer, lpdwBufferSize );
return WN_NOT_SUPPORTED;
}
@ -81,6 +96,7 @@ DWORD WINAPI NPSCopyStringA( LPCSTR lpString, LPVOID lpBuffer, LPDWORD lpdwBuffe
*/
DWORD WINAPI NPSDeviceGetNumberA( LPSTR lpLocalName, LPDWORD lpdwNumber, LPDWORD lpdwType )
{
FIXME( "(%s, %p, %p): stub\n", debugstr_a(lpLocalName), lpdwNumber, lpdwType );
return WN_NOT_SUPPORTED;
}
@ -89,6 +105,7 @@ DWORD WINAPI NPSDeviceGetNumberA( LPSTR lpLocalName, LPDWORD lpdwNumber, LPDWORD
*/
DWORD WINAPI NPSDeviceGetStringA( DWORD dwNumber, DWORD dwType, LPSTR lpLocalName, LPDWORD lpdwBufferSize )
{
FIXME( "(%ld, %ld, %p, %p): stub\n", dwNumber, dwType, lpLocalName, lpdwBufferSize );
return WN_NOT_SUPPORTED;
}
@ -97,6 +114,7 @@ DWORD WINAPI NPSDeviceGetStringA( DWORD dwNumber, DWORD dwType, LPSTR lpLocalNam
*/
DWORD WINAPI NPSNotifyRegisterA( enum NOTIFYTYPE NotifyType, NOTIFYCALLBACK pfNotifyCallBack )
{
FIXME( "(%d, %p): stub\n", NotifyType, pfNotifyCallBack );
return WN_NOT_SUPPORTED;
}
@ -105,6 +123,7 @@ DWORD WINAPI NPSNotifyRegisterA( enum NOTIFYTYPE NotifyType, NOTIFYCALLBACK pfNo
*/
LPVOID WINAPI NPSNotifyGetContextA( NOTIFYCALLBACK pfNotifyCallBack )
{
FIXME( "(%p): stub\n", pfNotifyCallBack );
return NULL;
}

View file

@ -2,6 +2,7 @@
* MPR Password Cache functions
*
* Copyright 1999 Ulrich Weigand
* Copyright 2003 Mike McCormack for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -18,8 +19,35 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <windows.h>
#include "mpr.h"
#include <stdarg.h>
#include <stdio.h>
#include "windef.h"
#include "winbase.h"
#include "winnetwk.h"
#include "winreg.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(mpr);
static const char mpr_key[] = "Software\\Wine\\Wine\\Mpr\\";
static LPSTR MPR_GetValueName( LPSTR pbResource, WORD cbResource, BYTE nType )
{
LPSTR name;
DWORD i, x = 0;
/* just a hash so the value name doesn't get too large */
for( i=0; i<cbResource; i++ )
x = ((x<<7) | (x >> 25)) ^ toupper(pbResource[i]);
name = HeapAlloc( GetProcessHeap(), 0, 0x10 );
if( name )
sprintf( name, "I-%08lX-%02X", x, nType );
TRACE( "Value is %s\n", name );
return name;
}
/**************************************************************************
* WNetCachePassword [MPR.@] Saves password in cache
*
@ -41,7 +69,36 @@ DWORD WINAPI WNetCachePassword(
WORD x)
{
return WN_NOT_SUPPORTED;
HKEY hkey;
DWORD r;
LPSTR valname;
WARN( "(%p(%s), %d, %p(%s), %d, %d, 0x%08x): totally insecure\n",
pbResource, debugstr_a(pbResource), cbResource,
pbPassword, debugstr_a(pbPassword), cbPassword,
nType, x );
r = RegCreateKeyA( HKEY_CURRENT_USER, mpr_key, &hkey );
if( r )
return WN_ACCESS_DENIED;
valname = MPR_GetValueName( pbResource, cbResource, nType );
if( valname )
{
r = RegSetValueExA( hkey, valname, 0, REG_BINARY,
pbPassword, cbPassword );
if( r )
r = WN_ACCESS_DENIED;
else
r = WN_SUCCESS;
HeapFree( GetProcessHeap(), 0, valname );
}
else
r = WN_OUT_OF_MEMORY;
RegCloseKey( hkey );
return r;
}
/*****************************************************************
@ -50,7 +107,31 @@ DWORD WINAPI WNetCachePassword(
UINT WINAPI WNetRemoveCachedPassword( LPSTR pbResource, WORD cbResource,
BYTE nType )
{
return WN_NOT_SUPPORTED;
HKEY hkey;
DWORD r;
LPSTR valname;
WARN( "(%p(%s), %d, %d): totally insecure\n",
pbResource, debugstr_a(pbResource), cbResource, nType );
r = RegCreateKeyA( HKEY_CURRENT_USER, mpr_key, &hkey );
if( r )
return WN_ACCESS_DENIED;
valname = MPR_GetValueName( pbResource, cbResource, nType );
if( valname )
{
r = RegDeleteValueA( hkey, valname );
if( r )
r = WN_ACCESS_DENIED;
else
r = WN_SUCCESS;
HeapFree( GetProcessHeap(), 0, valname );
}
else
r = WN_OUT_OF_MEMORY;
return r;
}
/*****************************************************************
@ -77,7 +158,34 @@ DWORD WINAPI WNetGetCachedPassword(
LPWORD pcbPassword, /* [out] Receives size of password */
BYTE nType) /* [in] Type of password to retrieve */
{
return WN_NOT_SUPPORTED;
HKEY hkey;
DWORD r, type = 0, sz;
LPSTR valname;
WARN( "(%p(%s), %d, %p, %p, %d): stub\n",
pbResource, debugstr_a(pbResource), cbResource,
pbPassword, pcbPassword, nType );
r = RegCreateKeyA( HKEY_CURRENT_USER, mpr_key, &hkey );
if( r )
return WN_ACCESS_DENIED;
valname = MPR_GetValueName( pbResource, cbResource, nType );
if( valname )
{
sz = *pcbPassword;
r = RegQueryValueExA( hkey, valname, 0, &type, pbPassword, &sz );
*pcbPassword = sz;
if( r )
r = WN_ACCESS_DENIED;
else
r = WN_SUCCESS;
HeapFree( GetProcessHeap(), 0, valname );
}
else
r = WN_OUT_OF_MEMORY;
return r;
}
/*******************************************************************
@ -85,6 +193,10 @@ DWORD WINAPI WNetGetCachedPassword(
*
* NOTES
* the parameter count is verifyed
*
* This function is a huge security risk, as virii and such can use
* it to grab all the passwords in the cache. It's bad enough to
* store the passwords (insecurely).
*
* observed values:
* arg1 ptr 0x40xxxxxx -> (no string)
@ -99,5 +211,9 @@ DWORD WINAPI WNetGetCachedPassword(
UINT WINAPI WNetEnumCachedPasswords( LPSTR pbPrefix, WORD cbPrefix,
BYTE nType, ENUMPASSWORDPROC enumPasswordProc, DWORD x)
{
WARN( "(%p(%s), %d, %d, %p, 0x%08lx): don't implement this\n",
pbPrefix, debugstr_a(pbPrefix), cbPrefix,
nType, enumPasswordProc, x );
return WN_NOT_SUPPORTED;
}

View file

@ -0,0 +1,15 @@
Index: wnet.c
===================================================================
RCS file: /home/wine/wine/dlls/mpr/wnet.c,v
retrieving revision 1.14
diff -u -r1.14 wnet.c
--- wnet.c 5 Sep 2003 23:08:36 -0000 1.14
+++ wnet.c 1 Feb 2004 19:48:21 -0000
@@ -30,6 +30,7 @@
#include "windef.h"
#include "winbase.h"
+#include "winuser.h"
#include "winnls.h"
#include "winnetwk.h"
#include "wine/debug.h"

View file

@ -18,11 +18,25 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
#include <ctype.h>
#include <stdarg.h>
#include <string.h>
#include <sys/types.h>
#include <windows.h>
#include <mpr.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "winnls.h"
#include "winnetwk.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(mpr);
/*
* Browsing Functions
@ -34,6 +48,9 @@
DWORD WINAPI WNetOpenEnumA( DWORD dwScope, DWORD dwType, DWORD dwUsage,
LPNETRESOURCEA lpNet, LPHANDLE lphEnum )
{
FIXME( "(%08lX, %08lX, %08lX, %p, %p): stub\n",
dwScope, dwType, dwUsage, lpNet, lphEnum );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -44,6 +61,9 @@ DWORD WINAPI WNetOpenEnumA( DWORD dwScope, DWORD dwType, DWORD dwUsage,
DWORD WINAPI WNetOpenEnumW( DWORD dwScope, DWORD dwType, DWORD dwUsage,
LPNETRESOURCEW lpNet, LPHANDLE lphEnum )
{
FIXME( "(%08lX, %08lX, %08lX, %p, %p): stub\n",
dwScope, dwType, dwUsage, lpNet, lphEnum );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -54,6 +74,9 @@ DWORD WINAPI WNetOpenEnumW( DWORD dwScope, DWORD dwType, DWORD dwUsage,
DWORD WINAPI WNetEnumResourceA( HANDLE hEnum, LPDWORD lpcCount,
LPVOID lpBuffer, LPDWORD lpBufferSize )
{
FIXME( "(%p, %p, %p, %p): stub\n",
hEnum, lpcCount, lpBuffer, lpBufferSize );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -64,6 +87,9 @@ DWORD WINAPI WNetEnumResourceA( HANDLE hEnum, LPDWORD lpcCount,
DWORD WINAPI WNetEnumResourceW( HANDLE hEnum, LPDWORD lpcCount,
LPVOID lpBuffer, LPDWORD lpBufferSize )
{
FIXME( "(%p, %p, %p, %p): stub\n",
hEnum, lpcCount, lpBuffer, lpBufferSize );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -73,6 +99,8 @@ DWORD WINAPI WNetEnumResourceW( HANDLE hEnum, LPDWORD lpcCount,
*/
DWORD WINAPI WNetCloseEnum( HANDLE hEnum )
{
FIXME( "(%p): stub\n", hEnum );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -84,6 +112,9 @@ DWORD WINAPI WNetGetResourceInformationA( LPNETRESOURCEA lpNetResource,
LPVOID lpBuffer, LPDWORD cbBuffer,
LPSTR *lplpSystem )
{
FIXME( "(%p, %p, %p, %p): stub\n",
lpNetResource, lpBuffer, cbBuffer, lplpSystem );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -95,6 +126,9 @@ DWORD WINAPI WNetGetResourceInformationW( LPNETRESOURCEW lpNetResource,
LPVOID lpBuffer, LPDWORD cbBuffer,
LPWSTR *lplpSystem )
{
FIXME( "(%p, %p, %p, %p): stub\n",
lpNetResource, lpBuffer, cbBuffer, lplpSystem );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -105,6 +139,9 @@ DWORD WINAPI WNetGetResourceInformationW( LPNETRESOURCEW lpNetResource,
DWORD WINAPI WNetGetResourceParentA( LPNETRESOURCEA lpNetResource,
LPVOID lpBuffer, LPDWORD lpBufferSize )
{
FIXME( "(%p, %p, %p): stub\n",
lpNetResource, lpBuffer, lpBufferSize );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -115,6 +152,9 @@ DWORD WINAPI WNetGetResourceParentA( LPNETRESOURCEA lpNetResource,
DWORD WINAPI WNetGetResourceParentW( LPNETRESOURCEW lpNetResource,
LPVOID lpBuffer, LPDWORD lpBufferSize )
{
FIXME( "(%p, %p, %p): stub\n",
lpNetResource, lpBuffer, lpBufferSize );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -131,6 +171,9 @@ DWORD WINAPI WNetGetResourceParentW( LPNETRESOURCEW lpNetResource,
DWORD WINAPI WNetAddConnectionA( LPCSTR lpRemoteName, LPCSTR lpPassword,
LPCSTR lpLocalName )
{
FIXME( "(%s, %p, %s): stub\n",
debugstr_a(lpRemoteName), lpPassword, debugstr_a(lpLocalName) );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -141,6 +184,9 @@ DWORD WINAPI WNetAddConnectionA( LPCSTR lpRemoteName, LPCSTR lpPassword,
DWORD WINAPI WNetAddConnectionW( LPCWSTR lpRemoteName, LPCWSTR lpPassword,
LPCWSTR lpLocalName )
{
FIXME( "(%s, %p, %s): stub\n",
debugstr_w(lpRemoteName), lpPassword, debugstr_w(lpLocalName) );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -152,6 +198,9 @@ DWORD WINAPI WNetAddConnection2A( LPNETRESOURCEA lpNetResource,
LPCSTR lpPassword, LPCSTR lpUserID,
DWORD dwFlags )
{
FIXME( "(%p, %p, %s, 0x%08lX): stub\n",
lpNetResource, lpPassword, debugstr_a(lpUserID), dwFlags );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -163,6 +212,9 @@ DWORD WINAPI WNetAddConnection2W( LPNETRESOURCEW lpNetResource,
LPCWSTR lpPassword, LPCWSTR lpUserID,
DWORD dwFlags )
{
FIXME( "(%p, %p, %s, 0x%08lX): stub\n",
lpNetResource, lpPassword, debugstr_w(lpUserID), dwFlags );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -174,6 +226,9 @@ DWORD WINAPI WNetAddConnection3A( HWND hwndOwner, LPNETRESOURCEA lpNetResource,
LPCSTR lpPassword, LPCSTR lpUserID,
DWORD dwFlags )
{
FIXME( "(%p, %p, %p, %s, 0x%08lX), stub\n",
hwndOwner, lpNetResource, lpPassword, debugstr_a(lpUserID), dwFlags );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -185,6 +240,9 @@ DWORD WINAPI WNetAddConnection3W( HWND hwndOwner, LPNETRESOURCEW lpNetResource,
LPCWSTR lpPassword, LPCWSTR lpUserID,
DWORD dwFlags )
{
FIXME( "(%p, %p, %p, %s, 0x%08lX), stub\n",
hwndOwner, lpNetResource, lpPassword, debugstr_w(lpUserID), dwFlags );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -197,6 +255,10 @@ DWORD WINAPI WNetUseConnectionA( HWND hwndOwner, LPNETRESOURCEA lpNetResource,
LPSTR lpAccessName, LPDWORD lpBufferSize,
LPDWORD lpResult )
{
FIXME( "(%p, %p, %p, %s, 0x%08lX, %s, %p, %p), stub\n",
hwndOwner, lpNetResource, lpPassword, debugstr_a(lpUserID), dwFlags,
debugstr_a(lpAccessName), lpBufferSize, lpResult );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -209,6 +271,10 @@ DWORD WINAPI WNetUseConnectionW( HWND hwndOwner, LPNETRESOURCEW lpNetResource,
LPWSTR lpAccessName, LPDWORD lpBufferSize,
LPDWORD lpResult )
{
FIXME( "(%p, %p, %p, %s, 0x%08lX, %s, %p, %p), stub\n",
hwndOwner, lpNetResource, lpPassword, debugstr_w(lpUserID), dwFlags,
debugstr_w(lpAccessName), lpBufferSize, lpResult );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -218,7 +284,9 @@ DWORD WINAPI WNetUseConnectionW( HWND hwndOwner, LPNETRESOURCEW lpNetResource,
*/
DWORD WINAPI WNetCancelConnectionA( LPCSTR lpName, BOOL fForce )
{
return WN_SUCCESS;
FIXME( "(%s, %d), stub\n", debugstr_a(lpName), fForce );
return WN_SUCCESS;
}
/*********************************************************************
@ -226,6 +294,8 @@ DWORD WINAPI WNetCancelConnectionA( LPCSTR lpName, BOOL fForce )
*/
DWORD WINAPI WNetCancelConnectionW( LPCWSTR lpName, BOOL fForce )
{
FIXME( "(%s, %d), stub\n", debugstr_w(lpName), fForce );
return WN_SUCCESS;
}
@ -234,6 +304,8 @@ DWORD WINAPI WNetCancelConnectionW( LPCWSTR lpName, BOOL fForce )
*/
DWORD WINAPI WNetCancelConnection2A( LPCSTR lpName, DWORD dwFlags, BOOL fForce )
{
FIXME( "(%s, %08lX, %d), stub\n", debugstr_a(lpName), dwFlags, fForce );
return WN_SUCCESS;
}
@ -242,7 +314,9 @@ DWORD WINAPI WNetCancelConnection2A( LPCSTR lpName, DWORD dwFlags, BOOL fForce )
*/
DWORD WINAPI WNetCancelConnection2W( LPCWSTR lpName, DWORD dwFlags, BOOL fForce )
{
return WN_SUCCESS;
FIXME( "(%s, %08lX, %d), stub\n", debugstr_w(lpName), dwFlags, fForce );
return WN_SUCCESS;
}
/*****************************************************************
@ -250,6 +324,8 @@ DWORD WINAPI WNetCancelConnection2W( LPCWSTR lpName, DWORD dwFlags, BOOL fForce
*/
DWORD WINAPI WNetRestoreConnectionA( HWND hwndOwner, LPSTR lpszDevice )
{
FIXME( "(%p, %s), stub\n", hwndOwner, debugstr_a(lpszDevice) );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -259,6 +335,8 @@ DWORD WINAPI WNetRestoreConnectionA( HWND hwndOwner, LPSTR lpszDevice )
*/
DWORD WINAPI WNetRestoreConnectionW( HWND hwndOwner, LPWSTR lpszDevice )
{
FIXME( "(%p, %s), stub\n", hwndOwner, debugstr_w(lpszDevice) );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -278,7 +356,8 @@ DWORD WINAPI WNetGetConnectionA( LPCSTR lpLocalName,
{
char label[40];
if (lpLocalName[1] == ':')
TRACE( "local %s\n", lpLocalName );
if (lpLocalName[1] == ':')
{
switch(GetDriveTypeA(lpLocalName))
{
@ -296,6 +375,7 @@ DWORD WINAPI WNetGetConnectionA( LPCSTR lpLocalName,
case DRIVE_REMOVABLE:
case DRIVE_FIXED:
case DRIVE_CDROM:
TRACE("file is local\n");
return WN_NOT_CONNECTED;
default:
return WN_BAD_LOCALNAME;
@ -337,6 +417,8 @@ DWORD WINAPI WNetGetConnectionW( LPCWSTR lpLocalName,
DWORD WINAPI WNetSetConnectionA( LPCSTR lpName, DWORD dwProperty,
LPVOID pvValue )
{
FIXME( "(%s, %08lX, %p): stub\n", debugstr_a(lpName), dwProperty, pvValue );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -347,6 +429,8 @@ DWORD WINAPI WNetSetConnectionA( LPCSTR lpName, DWORD dwProperty,
DWORD WINAPI WNetSetConnectionW( LPCWSTR lpName, DWORD dwProperty,
LPVOID pvValue )
{
FIXME( "(%s, %08lX, %p): stub\n", debugstr_w(lpName), dwProperty, pvValue );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -357,6 +441,9 @@ DWORD WINAPI WNetSetConnectionW( LPCWSTR lpName, DWORD dwProperty,
DWORD WINAPI WNetGetUniversalNameA ( LPCSTR lpLocalPath, DWORD dwInfoLevel,
LPVOID lpBuffer, LPDWORD lpBufferSize )
{
FIXME( "(%s, 0x%08lX, %p, %p): stub\n",
debugstr_a(lpLocalPath), dwInfoLevel, lpBuffer, lpBufferSize);
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -367,6 +454,9 @@ DWORD WINAPI WNetGetUniversalNameA ( LPCSTR lpLocalPath, DWORD dwInfoLevel,
DWORD WINAPI WNetGetUniversalNameW ( LPCWSTR lpLocalPath, DWORD dwInfoLevel,
LPVOID lpBuffer, LPDWORD lpBufferSize )
{
FIXME( "(%s, 0x%08lX, %p, %p): stub\n",
debugstr_w(lpLocalPath), dwInfoLevel, lpBuffer, lpBufferSize);
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -393,6 +483,9 @@ DWORD WINAPI WNetGetUserA( LPCSTR lpName, LPSTR lpUserID, LPDWORD lpBufferSize )
*/
DWORD WINAPI WNetGetUserW( LPCWSTR lpName, LPWSTR lpUserID, LPDWORD lpBufferSize )
{
FIXME( "(%s, %p, %p): mostly stub\n",
debugstr_w(lpName), lpUserID, lpBufferSize );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -402,6 +495,8 @@ DWORD WINAPI WNetGetUserW( LPCWSTR lpName, LPWSTR lpUserID, LPDWORD lpBufferSize
*/
DWORD WINAPI WNetConnectionDialog( HWND hwnd, DWORD dwType )
{
FIXME( "(%p, %08lX): stub\n", hwnd, dwType );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -411,6 +506,8 @@ DWORD WINAPI WNetConnectionDialog( HWND hwnd, DWORD dwType )
*/
DWORD WINAPI WNetConnectionDialog1A( LPCONNECTDLGSTRUCTA lpConnDlgStruct )
{
FIXME( "(%p): stub\n", lpConnDlgStruct );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -420,7 +517,8 @@ DWORD WINAPI WNetConnectionDialog1A( LPCONNECTDLGSTRUCTA lpConnDlgStruct )
*/
DWORD WINAPI WNetConnectionDialog1W( LPCONNECTDLGSTRUCTW lpConnDlgStruct )
{
FIXME( "(%p): stub\n", lpConnDlgStruct );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -430,6 +528,8 @@ DWORD WINAPI WNetConnectionDialog1W( LPCONNECTDLGSTRUCTW lpConnDlgStruct )
*/
DWORD WINAPI WNetDisconnectDialog( HWND hwnd, DWORD dwType )
{
FIXME( "(%p, %08lX): stub\n", hwnd, dwType );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -439,6 +539,8 @@ DWORD WINAPI WNetDisconnectDialog( HWND hwnd, DWORD dwType )
*/
DWORD WINAPI WNetDisconnectDialog1A( LPDISCDLGSTRUCTA lpConnDlgStruct )
{
FIXME( "(%p): stub\n", lpConnDlgStruct );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -448,6 +550,8 @@ DWORD WINAPI WNetDisconnectDialog1A( LPDISCDLGSTRUCTA lpConnDlgStruct )
*/
DWORD WINAPI WNetDisconnectDialog1W( LPDISCDLGSTRUCTW lpConnDlgStruct )
{
FIXME( "(%p): stub\n", lpConnDlgStruct );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -459,6 +563,9 @@ DWORD WINAPI WNetGetLastErrorA( LPDWORD lpError,
LPSTR lpErrorBuf, DWORD nErrorBufSize,
LPSTR lpNameBuf, DWORD nNameBufSize )
{
FIXME( "(%p, %p, %ld, %p, %ld): stub\n",
lpError, lpErrorBuf, nErrorBufSize, lpNameBuf, nNameBufSize );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -470,6 +577,9 @@ DWORD WINAPI WNetGetLastErrorW( LPDWORD lpError,
LPWSTR lpErrorBuf, DWORD nErrorBufSize,
LPWSTR lpNameBuf, DWORD nNameBufSize )
{
FIXME( "(%p, %p, %ld, %p, %ld): stub\n",
lpError, lpErrorBuf, nErrorBufSize, lpNameBuf, nNameBufSize );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -480,6 +590,8 @@ DWORD WINAPI WNetGetLastErrorW( LPDWORD lpError,
DWORD WINAPI WNetGetNetworkInformationA( LPCSTR lpProvider,
LPNETINFOSTRUCT lpNetInfoStruct )
{
FIXME( "(%s, %p): stub\n", debugstr_a(lpProvider), lpNetInfoStruct );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -490,6 +602,8 @@ DWORD WINAPI WNetGetNetworkInformationA( LPCSTR lpProvider,
DWORD WINAPI WNetGetNetworkInformationW( LPCWSTR lpProvider,
LPNETINFOSTRUCT lpNetInfoStruct )
{
FIXME( "(%s, %p): stub\n", debugstr_w(lpProvider), lpNetInfoStruct );
SetLastError(WN_NO_NETWORK);
return ERROR_NO_NETWORK;
}
@ -500,6 +614,8 @@ DWORD WINAPI WNetGetNetworkInformationW( LPCWSTR lpProvider,
DWORD WINAPI WNetGetProviderNameA( DWORD dwNetType,
LPSTR lpProvider, LPDWORD lpBufferSize )
{
FIXME( "(%ld, %p, %p): stub\n", dwNetType, lpProvider, lpBufferSize );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}
@ -510,6 +626,8 @@ DWORD WINAPI WNetGetProviderNameA( DWORD dwNetType,
DWORD WINAPI WNetGetProviderNameW( DWORD dwNetType,
LPWSTR lpProvider, LPDWORD lpBufferSize )
{
FIXME( "(%ld, %p, %p): stub\n", dwNetType, lpProvider, lpBufferSize );
SetLastError(WN_NO_NETWORK);
return WN_NO_NETWORK;
}