mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 11:43:31 +00:00
83 lines
3.4 KiB
C
83 lines
3.4 KiB
C
/*
|
|
* Copyright (C) 2023 Mohamad Al-Jaf
|
|
*
|
|
* 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 "wine/debug.h"
|
|
#include "winreg.h"
|
|
#include "cfgmgr32.h"
|
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(setupapi);
|
|
|
|
/***********************************************************************
|
|
* CM_MapCrToWin32Err (cfgmgr32.@)
|
|
*/
|
|
DWORD WINAPI CM_MapCrToWin32Err( CONFIGRET code, DWORD default_error )
|
|
{
|
|
TRACE( "code: %#lx, default_error: %ld\n", code, default_error );
|
|
|
|
switch (code)
|
|
{
|
|
case CR_SUCCESS: return ERROR_SUCCESS;
|
|
case CR_OUT_OF_MEMORY: return ERROR_NOT_ENOUGH_MEMORY;
|
|
case CR_INVALID_POINTER: return ERROR_INVALID_USER_BUFFER;
|
|
case CR_INVALID_FLAG: return ERROR_INVALID_FLAGS;
|
|
case CR_INVALID_DEVNODE:
|
|
case CR_INVALID_DEVICE_ID:
|
|
case CR_INVALID_MACHINENAME:
|
|
case CR_INVALID_PROPERTY:
|
|
case CR_INVALID_REFERENCE_STRING: return ERROR_INVALID_DATA;
|
|
case CR_NO_SUCH_DEVNODE:
|
|
case CR_NO_SUCH_VALUE:
|
|
case CR_NO_SUCH_DEVICE_INTERFACE: return ERROR_NOT_FOUND;
|
|
case CR_ALREADY_SUCH_DEVNODE: return ERROR_ALREADY_EXISTS;
|
|
case CR_BUFFER_SMALL: return ERROR_INSUFFICIENT_BUFFER;
|
|
case CR_NO_REGISTRY_HANDLE: return ERROR_INVALID_HANDLE;
|
|
case CR_REGISTRY_ERROR: return ERROR_REGISTRY_CORRUPT;
|
|
case CR_NO_SUCH_REGISTRY_KEY: return ERROR_FILE_NOT_FOUND;
|
|
case CR_REMOTE_COMM_FAILURE:
|
|
case CR_MACHINE_UNAVAILABLE:
|
|
case CR_NO_CM_SERVICES: return ERROR_SERVICE_NOT_ACTIVE;
|
|
case CR_ACCESS_DENIED: return ERROR_ACCESS_DENIED;
|
|
case CR_CALL_NOT_IMPLEMENTED: return ERROR_CALL_NOT_IMPLEMENTED;
|
|
}
|
|
|
|
return default_error;
|
|
}
|
|
|
|
/***********************************************************************
|
|
* CM_Register_Notification (cfgmgr32.@)
|
|
*/
|
|
CONFIGRET WINAPI CM_Register_Notification( CM_NOTIFY_FILTER *filter, void *context,
|
|
PCM_NOTIFY_CALLBACK callback, HCMNOTIFICATION *notify_context )
|
|
{
|
|
FIXME("%p %p %p %p stub!\n", filter, context, callback, notify_context);
|
|
|
|
return CR_CALL_NOT_IMPLEMENTED;
|
|
}
|
|
|
|
/***********************************************************************
|
|
* CM_Get_Device_Interface_PropertyW (cfgmgr32.@)
|
|
*/
|
|
CONFIGRET WINAPI CM_Get_Device_Interface_PropertyW( LPCWSTR device_interface, const DEVPROPKEY *property_key,
|
|
DEVPROPTYPE *property_type, BYTE *property_buffer,
|
|
ULONG *property_buffer_size, ULONG flags )
|
|
{
|
|
FIXME("%s %p %p %p %p %ld stub!\n", debugstr_w(device_interface), property_key, property_type,
|
|
property_buffer, property_buffer_size, flags);
|
|
|
|
return CR_CALL_NOT_IMPLEMENTED;
|
|
}
|