Intel 82801EB Programmer's Reference Manual page 41

Serial ata controller
Table of Contents

Advertisement

R
// if not successful, the control method probably does not
// exists or APM mode is being used
//
if( NT_SUCCESS( status)) {
//
// make sure we received the correct data type back
//
if( pOutputBuffer->Argument[ 0].Type != ACPI_METHOD_ARGUMENT_INTEGER)
else
}
return( status);
}
//
// SendIrp - Send Irp to ACPI
//
// Entry:
//
Pdo
//
Ioctl
//
InputBuffer ==> ptr to input parameters
//
InputSize
//
OutputBuffer ==> ptr to receive results
//
OutputSize ==> size of OutputBuffer
//
// Exit:
//
Returns status code.
//
OutputBuffer <== indeterminent
//
NTSTATUS
SendIRP( IN PDEVICE_OBJECT Pdo, IN ULONG Ioctl, IN PVOID InputBuffer,
{
IO_STATUS_BLOCK ioBlock;
KEVENT evIoctl;
NTSTATUS status;
PIRP Irp;
PIO_STACK_LOCATION pIrpStack;
// Initialize an event to wait upon
KeInitializeEvent( &evIoctl, SynchronizationEvent, FALSE);
// Build the request
SATA Programmer's Reference Manual
status = STATUS_DATA_ERROR;
// Port status is here
*pdwStatus = pOutputBuffer->Argument[ 0].Argument;
==> target of the request
==> the request
==> size of InputBuffer
IN ULONG InputSize, IN PACPI_EVAL_OUTPUT_BUFFER OutputBuffer,
IN ULONG OutputSize)
Theory of Operation
41

Advertisement

Table of Contents
loading

This manual is also suitable for:

82801erIch5Ich5r

Table of Contents