[DDK] Add/update some missing definitions

CORE-15350, CORE-18776
This commit is contained in:
Oleg Dubinskiy
2025-11-08 23:30:00 +01:00
committed by Oleg Dubinskiy
parent c65740eeb3
commit 4e72ec8358
2 changed files with 88 additions and 11 deletions

View File

@@ -4,18 +4,27 @@
extern "C" {
#endif
#define ACPI_EVAL_INPUT_BUFFER_SIGNATURE 'BieA'
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_SIGNATURE 'IieA'
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_SIGNATURE 'SieA'
#define ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE 'CieA'
#define ACPI_EVAL_OUTPUT_BUFFER_SIGNATURE 'BoeA'
#define ACPI_EVAL_INPUT_BUFFER_SIGNATURE_V1 'BieA'
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_SIGNATURE_V1 'IieA'
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_SIGNATURE_V1 'SieA'
#define ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_V1 'CieA'
#define ACPI_EVAL_OUTPUT_BUFFER_SIGNATURE_V1 'BoeA'
#define ACPI_EVAL_INPUT_BUFFER_SIGNATURE ACPI_EVAL_INPUT_BUFFER_SIGNATURE_V1
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_SIGNATURE ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_SIGNATURE_V1
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_SIGNATURE ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_SIGNATURE_V1
#define ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_V1
#define ACPI_EVAL_OUTPUT_BUFFER_SIGNATURE ACPI_EVAL_OUTPUT_BUFFER_SIGNATURE_V1
#if (NTDDI_VERSION >= NTDDI_VISTA)
#define ACPI_EVAL_INPUT_BUFFER_SIGNATURE_EX 'AieA'
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_SIGNATURE_EX 'DieA'
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_SIGNATURE_EX 'EieA'
#define ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_EX 'FieA'
#define ACPI_ENUM_CHILDREN_OUTPUT_BUFFER_SIGNATURE 'GieA'
#define ACPI_ENUM_CHILDREN_INPUT_BUFFER_SIGNATURE 'HieA'
#define ACPI_EVAL_INPUT_BUFFER_SIGNATURE_V1_EX 'AieA'
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_SIGNATURE_V1_EX 'DieA'
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_SIGNATURE_V1_EX 'EieA'
#define ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_V1_EX 'FieA'
#define ACPI_ENUM_CHILDREN_OUTPUT_BUFFER_SIGNATURE 'GieA'
#define ACPI_ENUM_CHILDREN_INPUT_BUFFER_SIGNATURE 'HieA'
#define ACPI_EVAL_INPUT_BUFFER_SIGNATURE_EX ACPI_EVAL_INPUT_BUFFER_SIGNATURE_V1_EX
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_SIGNATURE_EX ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_SIGNATURE_V1_EX
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_SIGNATURE_EX ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_SIGNATURE_V1_EX
#define ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_EX ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_V1_EX
#endif
#define ACPI_METHOD_ARGUMENT_INTEGER 0x0
@@ -174,6 +183,13 @@ typedef ACPI_ENUM_CHILDREN_OUTPUT_BUFFER UNALIGNED *PACPI_ENUM_CHILDREN_OUTPUT_B
(PACPI_ENUM_CHILD) ( (PUCHAR) Child + \
ACPI_ENUM_CHILD_LENGTH_FROM_CHILD( Child ) )
#define FOR_EACH_ACPI_METHOD_ARGUMENT( MethodArgument, \
MethodArgumentsBegin, \
MethodArgumentsEnd ) \
for (PACPI_METHOD_ARGUMENT MethodArgument = (MethodArgumentsBegin); \
MethodArgument < (MethodArgumentsEnd); \
MethodArgument = ACPI_METHOD_NEXT_ARGUMENT(MethodArgument))
#define IOCTL_ACPI_ASYNC_EVAL_METHOD CTL_CODE(FILE_DEVICE_ACPI, 0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_ACPI_EVAL_METHOD CTL_CODE(FILE_DEVICE_ACPI, 1, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_ACPI_ACQUIRE_GLOBAL_LOCK CTL_CODE(FILE_DEVICE_ACPI, 4, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)

View File

@@ -9,6 +9,7 @@
DEFINE_GUID(GUID_HDAUDIO_BUS_INTERFACE, 0xd2eaf88b, 0xab18, 0x41a8, 0xb6, 0x64, 0x8d, 0x59, 0x21, 0x67, 0x67, 0x1b);
DEFINE_GUID(GUID_HDAUDIO_BUS_INTERFACE_BDL, 0xb4d65397, 0x5634, 0x40b0, 0xb0, 0x68, 0xf5, 0xb9, 0xf8, 0xb9, 0x67, 0xa5);
DEFINE_GUID(GUID_HDAUDIO_BUS_INTERFACE_V2, 0xb52af5fb, 0x424b, 0x4bb9, 0xa1, 0x60, 0x5b, 0x38, 0xbe, 0x94, 0xe5, 0x68);
DEFINE_GUID(GUID_HDAUDIO_BUS_INTERFACE_V3, 0xdc25da12, 0xbcd1, 0x4c7f, 0x84, 0xe1, 0x02, 0xad, 0xb6, 0xdc, 0xdc, 0xbf);
DEFINE_GUID(GUID_HDAUDIO_BUS_CLASS, 0xbbd1a745, 0xadd6, 0x4575, 0x9c, 0x2e, 0x9b, 0x42, 0x8d, 0x1c, 0x32, 0x66);
#ifndef _HDAUDIO_CODEC_TRANSFER_
@@ -96,6 +97,11 @@ typedef VOID
HDAUDIO_CODEC_RESPONSE,
PVOID);
typedef VOID
(NTAPI *PHDAUDIO_DMA_NOTIFICATION_CALLBACK)(
PVOID Context,
LARGE_INTEGER Progress);
typedef struct _HDAUDIO_DEVICE_INFORMATION {
USHORT Size; /* size of this structure */
USHORT DeviceVersion; /* maj.min (maj is high byte, min is low byte) */
@@ -104,6 +110,17 @@ typedef struct _HDAUDIO_DEVICE_INFORMATION {
BOOLEAN IsStripingSupported; /* TRUE if striping (2 SDO lines) is supported */
} HDAUDIO_DEVICE_INFORMATION, *PHDAUDIO_DEVICE_INFORMATION;
typedef struct _HDAUDIO_DEVICE_INFORMATION_V2 {
USHORT Size;
USHORT DeviceVersion;
USHORT DriverVersion;
USHORT CodecsDetected;
BOOLEAN IsStripingSupported;
UCHAR CtrlRevision;
USHORT CtrlVendorId;
USHORT CtrlDeviceId;
} HDAUDIO_DEVICE_INFORMATION_V2, *PHDAUDIO_DEVICE_INFORMATION_V2;
typedef struct _HDAUDIO_BUFFER_DESCRIPTOR {
PHYSICAL_ADDRESS Address;
ULONG Length;
@@ -226,6 +243,22 @@ typedef VOID
_Out_ PUCHAR CodecAddress,
_Out_ PUCHAR FunctionGroupStartNode);
typedef NTSTATUS
(NTAPI *PREGISTER_NOTIFICATION_CALLBACK)(
_In_ PVOID _context,
_In_ HANDLE Handle,
_In_ PDEVICE_OBJECT Fdo,
_In_ PHDAUDIO_DMA_NOTIFICATION_CALLBACK NotificationCallback,
_In_ PVOID CallbackContext);
typedef NTSTATUS
(NTAPI *PUNREGISTER_NOTIFICATION_CALLBACK)(
_In_ PVOID _context,
_In_ HANDLE Handle,
_In_ PHDAUDIO_DMA_NOTIFICATION_CALLBACK NotificationCallback,
_In_ PVOID CallbackContext);
typedef struct _HDAUDIO_BUS_INTERFACE {
USHORT Size;
USHORT Version;
@@ -371,6 +404,34 @@ typedef struct _HDAUDIO_BUS_INTERFACE_V2 {
PUNREGISTER_NOTIFICATION_EVENT UnregisterNotificationEvent;
} HDAUDIO_BUS_INTERFACE_V2, *PHDAUDIO_BUS_INTERFACE_V2;
typedef struct _HDAUDIO_BUS_INTERFACE_V3 {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PTRANSFER_CODEC_VERBS TransferCodecVerbs;
PALLOCATE_CAPTURE_DMA_ENGINE AllocateCaptureDmaEngine;
PALLOCATE_RENDER_DMA_ENGINE AllocateRenderDmaEngine;
PCHANGE_BANDWIDTH_ALLOCATION ChangeBandwidthAllocation;
PALLOCATE_DMA_BUFFER AllocateDmaBuffer;
PFREE_DMA_BUFFER FreeDmaBuffer;
PFREE_DMA_ENGINE FreeDmaEngine;
PSET_DMA_ENGINE_STATE SetDmaEngineState;
PGET_WALL_CLOCK_REGISTER GetWallClockRegister;
PGET_LINK_POSITION_REGISTER GetLinkPositionRegister;
PREGISTER_EVENT_CALLBACK RegisterEventCallback;
PUNREGISTER_EVENT_CALLBACK UnregisterEventCallback;
PGET_DEVICE_INFORMATION GetDeviceInformation;
PGET_RESOURCE_INFORMATION GetResourceInformation;
PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION AllocateDmaBufferWithNotification;
PFREE_DMA_BUFFER_WITH_NOTIFICATION FreeDmaBufferWithNotification;
PREGISTER_NOTIFICATION_EVENT RegisterNotificationEvent;
PUNREGISTER_NOTIFICATION_EVENT UnregisterNotificationEvent;
PREGISTER_NOTIFICATION_CALLBACK RegisterNotificationCallback;
PUNREGISTER_NOTIFICATION_CALLBACK UnregisterNotificationCallback;
} HDAUDIO_BUS_INTERFACE_V3, *PHDAUDIO_BUS_INTERFACE_V3;
#ifdef _MSC_VER
#pragma warning(default:4201)
#pragma warning(default:4214)