X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=ntoskrnl%2Fio%2Fdevice.c;h=fac026875f43826acacab367a2064caebf1ad89d;hb=100640ed48cd93aef6dee7065b2ba6095463e510;hp=a33f385776fc3be380a54646b5c2acdff689f90b;hpb=149d7f1c189b6530aa66c3b8cb245fa0dd908100;p=reactos.git diff --git a/ntoskrnl/io/device.c b/ntoskrnl/io/device.c index a33f385..fac0268 100644 --- a/ntoskrnl/io/device.c +++ b/ntoskrnl/io/device.c @@ -76,9 +76,15 @@ IoDeleteDevice(PDEVICE_OBJECT DeviceObject) #endif /* !LIBCAPTIVE */ } +#ifndef LIBCAPTIVE + /* W32 expects CreatedDeviceObject->DeviceExtension to follow *CreatedDeviceObject! + * Undocumented by W32! + * See also IoCreateDevice(). + */ /* free device extension */ if (DeviceObject->DeviceObjectExtension) ExFreePool (DeviceObject->DeviceObjectExtension); +#endif /* LIBCAPTIVE */ /* remove device from driver device list */ Previous = DeviceObject->DriverObject->DeviceObject; @@ -645,6 +651,7 @@ IoCreateDevice(PDRIVER_OBJECT DriverObject, #ifdef LIBCAPTIVE /* W32 expects CreatedDeviceObject->DeviceExtension to follow *CreatedDeviceObject! * Undocumented by W32! + * See also IoDeleteDevice(). */ /* TODO:thread */ IoDeviceObjectType->NonpagedPoolCharge = sizeof (DEVICE_OBJECT) + DeviceExtensionSize; @@ -671,6 +678,7 @@ IoCreateDevice(PDRIVER_OBJECT DriverObject, #ifdef LIBCAPTIVE /* W32 expects CreatedDeviceObject->DeviceExtension to follow *CreatedDeviceObject! * Undocumented by W32! + * See also IoDeleteDevice(). */ /* TODO:thread */ IoDeviceObjectType->NonpagedPoolCharge = sizeof (DEVICE_OBJECT); /* restore */ @@ -710,6 +718,7 @@ IoCreateDevice(PDRIVER_OBJECT DriverObject, #else /* !LIBCAPTIVE */ /* W32 expects CreatedDeviceObject->DeviceExtension to follow *CreatedDeviceObject! * Undocumented by W32! + * See also IoDeleteDevice(). */ CreatedDeviceObject->DeviceExtension = (void *)(CreatedDeviceObject+1); #endif /* LIBCAPTIVE */