mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
- Implement CM_Get_Device_List_Size_ExW
svn path=/trunk/; revision=18023
This commit is contained in:
parent
5fa3cc8c0f
commit
f9725315fe
4 changed files with 80 additions and 2 deletions
|
@ -49,6 +49,17 @@ interface pnp
|
||||||
[out] unsigned long *RequiredLength,
|
[out] unsigned long *RequiredLength,
|
||||||
[in] DWORD Flags);
|
[in] DWORD Flags);
|
||||||
|
|
||||||
|
// CONFIGRET PNP_GetDeviceList(handle_t BindingHandle,
|
||||||
|
// [in, unique, string] wchar_t *Filter,
|
||||||
|
// [out, string, size_is(*Length)] unsigned char *Buffer
|
||||||
|
// [in, out] unsigned long *Length,
|
||||||
|
// [in] DWORD Flags);
|
||||||
|
|
||||||
|
CONFIGRET PNP_GetDeviceListSize(handle_t BindingHandle,
|
||||||
|
[in, unique, string] wchar_t *Filter,
|
||||||
|
[out] unsigned long *Length,
|
||||||
|
[in] DWORD Flags);
|
||||||
|
|
||||||
CONFIGRET PNP_GetDepth(handle_t BindingHandle,
|
CONFIGRET PNP_GetDepth(handle_t BindingHandle,
|
||||||
[in, string] wchar_t *DeviceInstance,
|
[in, string] wchar_t *DeviceInstance,
|
||||||
[out] unsigned long *Depth,
|
[out] unsigned long *Depth,
|
||||||
|
|
|
@ -128,6 +128,17 @@ DECL_WINELIB_CFGMGR32_TYPE_AW(DEVINSTID)
|
||||||
#define CM_DELETE_CLASS_SUBKEYS 0x00000001
|
#define CM_DELETE_CLASS_SUBKEYS 0x00000001
|
||||||
#define CM_DELETE_CLASS_BITS 0x00000001
|
#define CM_DELETE_CLASS_BITS 0x00000001
|
||||||
|
|
||||||
|
/* ulFlags for CM_Get_Device_ID_List and CM_Get_Device_ID_List_Size */
|
||||||
|
#define CM_GETIDLIST_FILTER_NONE (0x00000000)
|
||||||
|
#define CM_GETIDLIST_FILTER_ENUMERATOR (0x00000001)
|
||||||
|
#define CM_GETIDLIST_FILTER_SERVICE (0x00000002)
|
||||||
|
#define CM_GETIDLIST_FILTER_EJECTRELATIONS (0x00000004)
|
||||||
|
#define CM_GETIDLIST_FILTER_REMOVALRELATIONS (0x00000008)
|
||||||
|
#define CM_GETIDLIST_FILTER_POWERRELATIONS (0x00000010)
|
||||||
|
#define CM_GETIDLIST_FILTER_BUSRELATIONS (0x00000020)
|
||||||
|
#define CM_GETIDLIST_DONOTGENERATE (0x10000040)
|
||||||
|
#define CM_GETIDLIST_FILTER_BITS (0x1000007F)
|
||||||
|
|
||||||
|
|
||||||
CONFIGRET WINAPI CM_Connect_MachineA( PCSTR, PHMACHINE );
|
CONFIGRET WINAPI CM_Connect_MachineA( PCSTR, PHMACHINE );
|
||||||
CONFIGRET WINAPI CM_Connect_MachineW( PCWSTR, PHMACHINE );
|
CONFIGRET WINAPI CM_Connect_MachineW( PCWSTR, PHMACHINE );
|
||||||
|
|
|
@ -1195,9 +1195,34 @@ CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExA(
|
||||||
CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExW(
|
CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExW(
|
||||||
PULONG pulLen, PCWSTR pszFilter, ULONG ulFlags, HMACHINE hMachine)
|
PULONG pulLen, PCWSTR pszFilter, ULONG ulFlags, HMACHINE hMachine)
|
||||||
{
|
{
|
||||||
|
RPC_BINDING_HANDLE BindingHandle = NULL;
|
||||||
|
|
||||||
FIXME("%p %s %ld %lx\n", pulLen, debugstr_w(pszFilter), ulFlags, hMachine);
|
FIXME("%p %s %ld %lx\n", pulLen, debugstr_w(pszFilter), ulFlags, hMachine);
|
||||||
*pulLen = 2;
|
|
||||||
return CR_SUCCESS;
|
if (pulLen == NULL)
|
||||||
|
return CR_INVALID_POINTER;
|
||||||
|
|
||||||
|
if (ulFlags & ~CM_GETIDLIST_FILTER_BITS)
|
||||||
|
return CR_INVALID_FLAG;
|
||||||
|
|
||||||
|
if (hMachine != NULL)
|
||||||
|
{
|
||||||
|
BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
|
||||||
|
if (BindingHandle == NULL)
|
||||||
|
return CR_FAILURE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!PnpGetLocalHandles(&BindingHandle, NULL))
|
||||||
|
return CR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
*pulLen = 0;
|
||||||
|
|
||||||
|
return PNP_GetDeviceListSize(BindingHandle,
|
||||||
|
(LPWSTR)pszFilter,
|
||||||
|
pulLen,
|
||||||
|
ulFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -302,6 +302,21 @@ PNP_EnumerateSubKeys(handle_t BindingHandle,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CONFIGRET
|
||||||
|
PNP_GetDeviceListSize(handle_t BindingHandle,
|
||||||
|
wchar_t *Filter,
|
||||||
|
unsigned long *Length,
|
||||||
|
DWORD Flags)
|
||||||
|
{
|
||||||
|
DPRINT("PNP_GetDeviceListSize() called\n");
|
||||||
|
|
||||||
|
/* FIXME */
|
||||||
|
*Length = 2;
|
||||||
|
|
||||||
|
return CR_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
CONFIGRET
|
CONFIGRET
|
||||||
PNP_GetDepth(handle_t BindingHandle,
|
PNP_GetDepth(handle_t BindingHandle,
|
||||||
wchar_t *DeviceInstance,
|
wchar_t *DeviceInstance,
|
||||||
|
@ -634,6 +649,22 @@ PNP_GetDeviceRegProp(handle_t BindingHandle,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CONFIGRET
|
||||||
|
PNP_CreateKey(handle_t BindingHandle,
|
||||||
|
wchar_t *SubKey,
|
||||||
|
unsigned long samDesired,
|
||||||
|
unsigned long Flags)
|
||||||
|
{
|
||||||
|
CONFIGRET ret = CR_SUCCESS;
|
||||||
|
|
||||||
|
DPRINT("PNP_CreateKey() called\n");
|
||||||
|
|
||||||
|
DPRINT("PNP_CreateKey() done (returns %lx)\n", ret);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
CONFIGRET
|
CONFIGRET
|
||||||
PNP_GetClassName(handle_t BindingHandle,
|
PNP_GetClassName(handle_t BindingHandle,
|
||||||
wchar_t *ClassGuid,
|
wchar_t *ClassGuid,
|
||||||
|
|
Loading…
Reference in a new issue