Intel 82801EB Programmer's Reference Manual page 42

Serial ata controller
Table of Contents

Advertisement

Theory of Operation
Irp = IoBuildDeviceIoControlRequest( Ioctl, Pdo, InputBuffer, InputSize,
if( !Irp)
status = STATUS_INSUFFICIENT_RESOURCES;
else {
pIrpStack = IoGetNextIrpStackLocation( Irp);
pIrpStack->MajorFunction = IRP_MJ_DEVICE_CONTROL;
// Pass the request to the Pdo, always wait for the completion
// routine
status = IoCallDriver( Pdo, Irp);
if( status == STATUS_PENDING)
KeWaitForSingleObject( &evIoctl, Executive, KernelMode, FALSE, NULL);
status = ioBlock.Status;
// Sanity check the data
if( OutputBuffer != NULL) {
}
}
return( status);
}
42
// Wait for the IRP to be completed, then grab the real status code
if( OutputBuffer->Signature != ACPI_EVAL_OUTPUT_BUFFER_SIGNATURE
|| OutputBuffer->Count == 0)
status = STATUS_DATA_ERROR;
OutputBuffer, OutputSize, FALSE,
&evIoctl, &ioBlock);
SATA Programmer's Reference Manual
R

Advertisement

Table of Contents
loading

This manual is also suitable for:

82801erIch5Ich5r

Table of Contents