86 ERR(
"Invalid ACPI output buffer\n");
124 TRACE(
"Failed to evaluate the _GTM method, status 0x%lx\n",
Status);
128 if (
OutputBuffer->Argument[0].DataLength <
sizeof(*TimingMode))
130 ERR(
"Buffer too small, size %u/%u\n",
131 OutputBuffer->Argument[0].DataLength,
sizeof(*TimingMode));
166 ERR(
"Failed to allocate memory\n");
181 Argument->DataLength =
sizeof(*IdBlock1);
190 Argument->DataLength =
sizeof(*IdBlock2);
201 INFO(
"Failed to set transfer timings, status 0x%lx\n",
Status);
203 ERR(
"Failed to set transfer timings, status 0x%lx\n",
Status);
217 ULONG RetryCount, OutputSize;
237 for (RetryCount = 0; RetryCount < 2; ++RetryCount)
242 ERR(
"Failed to allocate memory of size %lu\n", OutputSize);
276 ERR(
"Incorrect command stream length %u\n",
OutputBuffer->Argument[0].DataLength);
282 WARN(
"Empty command list\n");
314 ERR(
"Failed to allocate memory\n");
331 TRACE(
"Failed to set device data, status 0x%lx\n",
Status);
333 WARN(
"Failed to set device data, status 0x%lx\n",
Status);
#define ExAllocatePoolUninitialized
BOOLEAN AtaAcpiGetTimingMode(_In_ PDEVICE_OBJECT DeviceObject, _Out_ PIDE_ACPI_TIMING_MODE_BLOCK TimingMode)
NTSTATUS AtaAcpiSetTimingMode(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIDE_ACPI_TIMING_MODE_BLOCK TimingMode, _In_opt_ PIDENTIFY_DEVICE_DATA IdBlock1, _In_opt_ PIDENTIFY_DEVICE_DATA IdBlock2)
VOID AtaAcpiSetDeviceData(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIDENTIFY_DEVICE_DATA IdBlock)
PVOID AtaAcpiGetTaskFile(_In_ PDEVICE_OBJECT DeviceObject)
#define ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE
ACPI_METHOD_ARGUMENT UNALIGNED * PACPI_METHOD_ARGUMENT
#define ACPI_METHOD_NEXT_ARGUMENT(Argument)
#define ACPI_METHOD_ARGUMENT_LENGTH(DataLength)
#define ACPI_EVAL_INPUT_BUFFER_SIGNATURE
#define ACPI_METHOD_ARGUMENT_BUFFER
#define IOCTL_ACPI_ASYNC_EVAL_METHOD
#define ACPI_EVAL_OUTPUT_BUFFER_SIGNATURE
#define ACPI_METHOD_SET_ARGUMENT_BUFFER(Argument, BuffData, BuffLength)
ACPI_EVAL_OUTPUT_BUFFER UNALIGNED * PACPI_EVAL_OUTPUT_BUFFER
#define STATUS_NOT_SUPPORTED
#define NT_SUCCESS(StatCode)
static const WCHAR Cleanup[]
#define _IRQL_requires_max_(irql)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
#define ExFreePoolWithTag(_P, _T)
static PVOID ExAllocatePoolZero(ULONG PoolType, SIZE_T NumberOfBytes, ULONG Tag)
#define _In_reads_bytes_(s)
#define _Out_writes_bytes_opt_(s)
PDEVICE_OBJECT NTAPI IoGetAttachedDeviceReference(PDEVICE_OBJECT DeviceObject)
PIRP NTAPI IoAllocateIrp(IN CCHAR StackSize, IN BOOLEAN ChargeQuota)
#define STATUS_ACPI_INVALID_DATA
IO_COMPLETION_ROUTINE PciIdeXPdoCompletionRoutine
PEPROCESS PsInitialSystemProcess
#define IRP_MJ_DEVICE_CONTROL
#define STATUS_BUFFER_OVERFLOW
union _IO_STACK_LOCATION::@1696 Parameters
struct _IO_STACK_LOCATION::@1696::@1697 DeviceIoControl
#define FIELD_OFFSET(t, f)
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define STATUS_INSUFFICIENT_RESOURCES
#define STATUS_OBJECT_NAME_NOT_FOUND
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ size_t OutputBufferLength
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)
#define IRP_INPUT_OPERATION
#define ObDereferenceObject
#define PsGetCurrentProcess