mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 19:21:38 +00:00
[NTOSKRNL][USETUP][UMPNPMGR] Pass user response data to NtPlugPlayControl(PlugPlayControlUserResponse).
- Windows requires 16 bytes of response data. - Add the PLUGPLAY_CONTROL_USER_RESPONSE_DATA type. - Usetup and Umpnpmgr must fail if NtPlugPlayControl(PlugPlayControlUserResponse) does not return STATUS_SUCCESS.
This commit is contained in:
parent
0e1e12b619
commit
6866c0aede
4 changed files with 29 additions and 4 deletions
|
@ -50,6 +50,7 @@ HKEY hClassKey = NULL;
|
|||
static DWORD WINAPI
|
||||
PnpEventThread(LPVOID lpParameter)
|
||||
{
|
||||
PLUGPLAY_CONTROL_USER_RESPONSE_DATA ResponseData = {0, 0, 0, 0};
|
||||
DWORD dwRet = ERROR_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
RPC_STATUS RpcStatus;
|
||||
|
@ -182,7 +183,14 @@ PnpEventThread(LPVOID lpParameter)
|
|||
}
|
||||
|
||||
/* Dequeue the current PnP event and signal the next one */
|
||||
NtPlugPlayControl(PlugPlayControlUserResponse, NULL, 0);
|
||||
Status = NtPlugPlayControl(PlugPlayControlUserResponse,
|
||||
&ResponseData,
|
||||
sizeof(ResponseData));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtPlugPlayControl(PlugPlayControlUserResponse) failed (Status 0x%08lx)\n", Status);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, PnpEvent);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue