| /* | |
| * MPR Network Provider Services functions | |
| * | |
| * Copyright 1999 Ulrich Weigand | |
| * Copyright 2004 Mike McCormack for CodeWeavers Inc. | |
| * | |
| * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| #include "config.h" | |
| #include <stdarg.h> | |
| #include "windef.h" | |
| #include "winbase.h" | |
| #include "winuser.h" | |
| #include "netspi.h" | |
| #include "wine/debug.h" | |
| #include "winerror.h" | |
| WINE_DEFAULT_DEBUG_CHANNEL(mpr); | |
| #include "wine/unicode.h" | |
| #include "mprres.h" | |
| /*********************************************************************** | |
| * NPS_ProxyPasswordDialog | |
| */ | |
| static INT_PTR WINAPI NPS_ProxyPasswordDialog( | |
| HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) | |
| { | |
| HWND hitem; | |
| LPAUTHDLGSTRUCTA lpAuthDlgStruct; | |
| if( uMsg == WM_INITDIALOG ) | |
| { | |
| TRACE("WM_INITDIALOG (%08lx)\n", lParam); | |
| /* save the parameter list */ | |
| lpAuthDlgStruct = (LPAUTHDLGSTRUCTA) lParam; | |
| SetWindowLongPtrW( hdlg, GWLP_USERDATA, lParam ); | |
| if( lpAuthDlgStruct->lpExplainText ) | |
| { | |
| hitem = GetDlgItem( hdlg, IDC_EXPLAIN ); | |
| SetWindowTextA( hitem, lpAuthDlgStruct->lpExplainText ); | |
| } | |
| /* extract the Realm from the proxy response and show it */ | |
| if( lpAuthDlgStruct->lpResource ) | |
| { | |
| hitem = GetDlgItem( hdlg, IDC_REALM ); | |
| SetWindowTextA( hitem, lpAuthDlgStruct->lpResource ); | |
| } | |
| return TRUE; | |
| } | |
| lpAuthDlgStruct = (LPAUTHDLGSTRUCTA) GetWindowLongPtrW( hdlg, GWLP_USERDATA ); | |
| switch( uMsg ) | |
| { | |
| case WM_COMMAND: | |
| if( wParam == IDOK ) | |
| { | |
| hitem = GetDlgItem( hdlg, IDC_USERNAME ); | |
| if( hitem ) | |
| GetWindowTextA( hitem, lpAuthDlgStruct->lpUsername, lpAuthDlgStruct->cbUsername ); | |
| hitem = GetDlgItem( hdlg, IDC_PASSWORD ); | |
| if( hitem ) | |
| GetWindowTextA( hitem, lpAuthDlgStruct->lpPassword, lpAuthDlgStruct->cbPassword ); | |
| EndDialog( hdlg, WN_SUCCESS ); | |
| return TRUE; | |
| } | |
| if( wParam == IDCANCEL ) | |
| { | |
| EndDialog( hdlg, WN_CANCEL ); | |
| return TRUE; | |
| } | |
| break; | |
| } | |
| return FALSE; | |
| } | |
| /***************************************************************** | |
| * NPSAuthenticationDialogA [MPR.@] | |
| */ | |
| DWORD WINAPI NPSAuthenticationDialogA( LPAUTHDLGSTRUCTA lpAuthDlgStruct ) | |
| { | |
| HMODULE hwininet = GetModuleHandleA( "mpr.dll" ); | |
| TRACE("%p\n", lpAuthDlgStruct); | |
| if( !lpAuthDlgStruct ) | |
| return WN_BAD_POINTER; | |
| if( lpAuthDlgStruct->cbStructure < sizeof *lpAuthDlgStruct ) | |
| return WN_BAD_POINTER; | |
| TRACE("%s %s %s\n",lpAuthDlgStruct->lpResource, | |
| lpAuthDlgStruct->lpOUTitle, lpAuthDlgStruct->lpExplainText); | |
| return DialogBoxParamW( hwininet, MAKEINTRESOURCEW( IDD_PROXYDLG ), | |
| lpAuthDlgStruct->hwndOwner, NPS_ProxyPasswordDialog, | |
| (LPARAM) lpAuthDlgStruct ); | |
| } | |
| /***************************************************************** | |
| * NPSGetProviderHandleA [MPR.@] | |
| */ | |
| DWORD WINAPI NPSGetProviderHandleA( PHPROVIDER phProvider ) | |
| { | |
| FIXME( "(%p): stub\n", phProvider ); | |
| return WN_NOT_SUPPORTED; | |
| } | |
| /***************************************************************** | |
| * NPSGetProviderNameA [MPR.@] | |
| */ | |
| DWORD WINAPI NPSGetProviderNameA( HPROVIDER hProvider, LPCSTR *lpszProviderName ) | |
| { | |
| FIXME( "(%p, %p): stub\n", hProvider, lpszProviderName ); | |
| return WN_NOT_SUPPORTED; | |
| } | |
| /***************************************************************** | |
| * NPSGetSectionNameA [MPR.@] | |
| */ | |
| DWORD WINAPI NPSGetSectionNameA( HPROVIDER hProvider, LPCSTR *lpszSectionName ) | |
| { | |
| FIXME( "(%p, %p): stub\n", hProvider, lpszSectionName ); | |
| return WN_NOT_SUPPORTED; | |
| } | |
| /***************************************************************** | |
| * NPSSetExtendedErrorA [MPR.@] | |
| */ | |
| DWORD WINAPI NPSSetExtendedErrorA( DWORD NetSpecificError, LPSTR lpExtendedErrorText ) | |
| { | |
| FIXME( "(%08x, %s): stub\n", NetSpecificError, debugstr_a(lpExtendedErrorText) ); | |
| return WN_NOT_SUPPORTED; | |
| } | |
| /***************************************************************** | |
| * NPSSetCustomTextA [MPR.@] | |
| */ | |
| VOID WINAPI NPSSetCustomTextA( LPSTR lpCustomErrorText ) | |
| { | |
| FIXME( "(%s): stub\n", debugstr_a(lpCustomErrorText) ); | |
| } | |
| /***************************************************************** | |
| * NPSCopyStringA [MPR.@] | |
| */ | |
| DWORD WINAPI NPSCopyStringA( LPCSTR lpString, LPVOID lpBuffer, LPDWORD lpdwBufferSize ) | |
| { | |
| FIXME( "(%s, %p, %p): stub\n", debugstr_a(lpString), lpBuffer, lpdwBufferSize ); | |
| return WN_NOT_SUPPORTED; | |
| } | |
| /***************************************************************** | |
| * NPSDeviceGetNumberA [MPR.@] | |
| */ | |
| DWORD WINAPI NPSDeviceGetNumberA( LPSTR lpLocalName, LPDWORD lpdwNumber, LPDWORD lpdwType ) | |
| { | |
| FIXME( "(%s, %p, %p): stub\n", debugstr_a(lpLocalName), lpdwNumber, lpdwType ); | |
| return WN_NOT_SUPPORTED; | |
| } | |
| /***************************************************************** | |
| * NPSDeviceGetStringA [MPR.@] | |
| */ | |
| DWORD WINAPI NPSDeviceGetStringA( DWORD dwNumber, DWORD dwType, LPSTR lpLocalName, LPDWORD lpdwBufferSize ) | |
| { | |
| FIXME( "(%d, %d, %p, %p): stub\n", dwNumber, dwType, lpLocalName, lpdwBufferSize ); | |
| return WN_NOT_SUPPORTED; | |
| } | |
| /***************************************************************** | |
| * NPSNotifyRegisterA [MPR.@] | |
| */ | |
| DWORD WINAPI NPSNotifyRegisterA( enum NOTIFYTYPE NotifyType, NOTIFYCALLBACK pfNotifyCallBack ) | |
| { | |
| FIXME( "(%d, %p): stub\n", NotifyType, pfNotifyCallBack ); | |
| return WN_NOT_SUPPORTED; | |
| } | |
| /***************************************************************** | |
| * NPSNotifyGetContextA [MPR.@] | |
| */ | |
| LPVOID WINAPI NPSNotifyGetContextA( NOTIFYCALLBACK pfNotifyCallBack ) | |
| { | |
| FIXME( "(%p): stub\n", pfNotifyCallBack ); | |
| return NULL; | |
| } | |
| /***************************************************************** | |
| * PwdGetPasswordStatusA [MPR.@] | |
| */ | |
| DWORD WINAPI PwdGetPasswordStatusA( LPCSTR lpProvider, DWORD dwIndex, LPDWORD status ) | |
| { | |
| FIXME("%s %d %p\n", debugstr_a(lpProvider), dwIndex, status ); | |
| *status = 0; | |
| return WN_SUCCESS; | |
| } | |
| /***************************************************************** | |
| * PwdGetPasswordStatusA [MPR.@] | |
| */ | |
| DWORD WINAPI PwdGetPasswordStatusW( LPCWSTR lpProvider, DWORD dwIndex, LPDWORD status ) | |
| { | |
| FIXME("%s %d %p\n", debugstr_w(lpProvider), dwIndex, status ); | |
| *status = 0; | |
| return WN_SUCCESS; | |
| } | |
| /***************************************************************** | |
| * PwdSetPasswordStatusA [MPR.@] | |
| */ | |
| DWORD WINAPI PwdSetPasswordStatusA( LPCSTR lpProvider, DWORD dwIndex, DWORD status ) | |
| { | |
| FIXME("%s %d %d\n", debugstr_a(lpProvider), dwIndex, status ); | |
| return WN_SUCCESS; | |
| } | |
| /***************************************************************** | |
| * PwdSetPasswordStatusW [MPR.@] | |
| */ | |
| DWORD WINAPI PwdSetPasswordStatusW( LPCWSTR lpProvider, DWORD dwIndex, DWORD status ) | |
| { | |
| FIXME("%s %d %d\n", debugstr_w(lpProvider), dwIndex, status ); | |
| return WN_SUCCESS; | |
| } | |
| typedef struct _CHANGEPWDINFOA { | |
| LPSTR lpUsername; | |
| LPSTR lpPassword; | |
| DWORD cbPassword; | |
| } CHANGEPWDINFOA, *LPCHANGEPWDINFOA; | |
| typedef struct _CHANGEPWDINFOW { | |
| LPWSTR lpUsername; | |
| LPWSTR lpPassword; | |
| DWORD cbPassword; | |
| } CHANGEPWDINFOW, *LPCHANGEPWDINFOW; | |
| /***************************************************************** | |
| * PwdChangePasswordA [MPR.@] | |
| */ | |
| DWORD WINAPI PwdChangePasswordA( LPCSTR lpProvider, HWND hWnd, DWORD flags, LPCHANGEPWDINFOA info ) | |
| { | |
| FIXME("%s %p %x %p\n", debugstr_a(lpProvider), hWnd, flags, info ); | |
| return WN_SUCCESS; | |
| } | |
| /***************************************************************** | |
| * PwdChangePasswordA [MPR.@] | |
| */ | |
| DWORD WINAPI PwdChangePasswordW( LPCWSTR lpProvider, HWND hWnd, DWORD flags, LPCHANGEPWDINFOW info ) | |
| { | |
| FIXME("%s %p %x %p\n", debugstr_w(lpProvider), hWnd, flags, info ); | |
| return WN_SUCCESS; | |
| } |