mirror of
https://github.com/reactos/reactos.git
synced 2025-04-25 16:10:29 +00:00
- sorry folks
svn path=/trunk/; revision=38765
This commit is contained in:
parent
2de45ffbc0
commit
e284c5d6a8
2 changed files with 45 additions and 4 deletions
|
@ -119,7 +119,7 @@ PortClsPnp(
|
|||
if ( ! NT_SUCCESS(status) )
|
||||
{
|
||||
DPRINT("StartDevice returned a failure code [0x%8x]\n", status);
|
||||
resource_list->lpVtbl->Release(resource_list);
|
||||
//resource_list->lpVtbl->Release(resource_list);
|
||||
|
||||
Irp->IoStatus.Status = status;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
|
@ -261,14 +261,50 @@ PcCompleteIrp(
|
|||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IrpCompletionRoutine(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp,
|
||||
IN PVOID Context)
|
||||
{
|
||||
KeSetEvent((PRKEVENT)Context, IO_NO_INCREMENT, FALSE);
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS NTAPI
|
||||
PcForwardIrpSynchronous(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
KEVENT Event;
|
||||
PCExtension* DeviceExt;
|
||||
NTSTATUS Status;
|
||||
|
||||
DPRINT1("PcForwardIrpSynchronous\n");
|
||||
|
||||
DeviceExt = (PCExtension*)DeviceObject->DeviceExtension;
|
||||
|
||||
/* initialize the notification event */
|
||||
KeInitializeEvent(&Event, NotificationEvent, FALSE);
|
||||
|
||||
/* setup a completion routine */
|
||||
IoSetCompletionRoutine(Irp, IrpCompletionRoutine, (PVOID)&Event, TRUE, FALSE, FALSE);
|
||||
|
||||
/* now call the driver */
|
||||
Status = IoCallDriver(DeviceExt->PrevDeviceObject, Irp);
|
||||
/* did the request complete yet */
|
||||
if (Status == STATUS_PENDING)
|
||||
{
|
||||
/* not yet, lets wait a bit */
|
||||
KeWaitForSingleObject(&Event, Executive, FALSE, FALSE, NULL);
|
||||
Status = STATUS_SUCCESS;
|
||||
}
|
||||
DPRINT1("Returning status %x\n", Status);
|
||||
return Status;
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include <ntddk.h>
|
||||
#include <portcls.h>
|
||||
#define YDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
#include <portcls.h>
|
||||
|
@ -102,9 +103,13 @@ typedef struct
|
|||
typedef struct
|
||||
{
|
||||
PDEVICE_OBJECT PhysicalDeviceObject;
|
||||
PDEVICE_OBJECT PrevDeviceObject;
|
||||
PCPFNSTARTDEVICE StartDevice;
|
||||
KSDEVICE_HEADER KsDeviceHeader;
|
||||
IAdapterPowerManagement * AdapterPowerManagement;
|
||||
ULONG MaxSubDevices;
|
||||
KSOBJECT_CREATE_ITEM * CreateItems;
|
||||
|
||||
|
||||
IResourceList* resources;
|
||||
LIST_ENTRY SubDeviceList;
|
||||
|
|
Loading…
Reference in a new issue