Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138#include "precomp.h"
#define NDEBUG#include <debug.h>
VOIDNTAPIAcpiInterfaceReference(PVOID Context){ UNIMPLEMENTED;}
VOIDNTAPIAcpiInterfaceDereference(PVOID Context){ UNIMPLEMENTED;}
NTSTATUSNTAPIAcpiInterfaceConnectVector(PDEVICE_OBJECT Context, ULONG GpeNumber, KINTERRUPT_MODE Mode, BOOLEAN Shareable, PGPE_SERVICE_ROUTINE ServiceRoutine, PVOID ServiceContext, PVOID ObjectContext){ UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;}
NTSTATUSNTAPIAcpiInterfaceDisconnectVector(PVOID ObjectContext){ UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;}
NTSTATUSNTAPIAcpiInterfaceEnableEvent(PDEVICE_OBJECT Context, PVOID ObjectContext){ UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;}
NTSTATUSNTAPIAcpiInterfaceDisableEvent(PDEVICE_OBJECT Context, PVOID ObjectContext){ UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;}
NTSTATUSNTAPIAcpiInterfaceClearStatus(PDEVICE_OBJECT Context, PVOID ObjectContext){ UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;}
NTSTATUSNTAPIAcpiInterfaceNotificationsRegister(PDEVICE_OBJECT Context, PDEVICE_NOTIFY_CALLBACK NotificationHandler, PVOID NotificationContext){ UNIMPLEMENTED;
return STATUS_SUCCESS;}
VOIDNTAPIAcpiInterfaceNotificationsUnregister(PDEVICE_OBJECT Context, PDEVICE_NOTIFY_CALLBACK NotificationHandler){ UNIMPLEMENTED;}
NTSTATUSBus_PDO_QueryInterface(PPDO_DEVICE_DATA DeviceData, PIRP Irp){ PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); PACPI_INTERFACE_STANDARD AcpiInterface;
if (IrpSp->Parameters.QueryInterface.Version != 1) { DPRINT1("Invalid version number: %d\n", IrpSp->Parameters.QueryInterface.Version); return STATUS_INVALID_PARAMETER; }
if (RtlCompareMemory(IrpSp->Parameters.QueryInterface.InterfaceType, &GUID_ACPI_INTERFACE_STANDARD, sizeof(GUID)) == sizeof(GUID)) { DPRINT("GUID_ACPI_INTERFACE_STANDARD\n");
if (IrpSp->Parameters.QueryInterface.Size < sizeof(ACPI_INTERFACE_STANDARD)) { DPRINT1("Buffer too small! (%d)\n", IrpSp->Parameters.QueryInterface.Size); return STATUS_BUFFER_TOO_SMALL; }
AcpiInterface = (PACPI_INTERFACE_STANDARD)IrpSp->Parameters.QueryInterface.Interface;
AcpiInterface->InterfaceReference = AcpiInterfaceReference; AcpiInterface->InterfaceDereference = AcpiInterfaceDereference; AcpiInterface->GpeConnectVector = AcpiInterfaceConnectVector; AcpiInterface->GpeDisconnectVector = AcpiInterfaceDisconnectVector; AcpiInterface->GpeEnableEvent = AcpiInterfaceEnableEvent; AcpiInterface->GpeDisableEvent = AcpiInterfaceDisableEvent; AcpiInterface->GpeClearStatus = AcpiInterfaceClearStatus; AcpiInterface->RegisterForDeviceNotifications = AcpiInterfaceNotificationsRegister; AcpiInterface->UnregisterForDeviceNotifications = AcpiInterfaceNotificationsUnregister;
return STATUS_SUCCESS; } else { DPRINT1("Invalid GUID\n"); return STATUS_NOT_SUPPORTED; }}