17#define MAKE_RATE(base, multiply, divide) \
18 ((base == 44100 ? FORMAT_44_1_BASE_RATE : 0) \
19 | ((multiply - 1) << FORMAT_MULTIPLY_RATE_SHIFT) \
20 | ((divide - 1) << FORMAT_DIVIDE_RATE_SHIFT))
22#define HDAC_INPUT_STREAM_OFFSET(index) \
23 ((index) * HDAC_STREAM_SIZE)
24#define HDAC_OUTPUT_STREAM_OFFSET(num_input_streams, index) \
25 ((num_input_streams + (index)) * HDAC_STREAM_SIZE)
26#define HDAC_BIDIR_STREAM_OFFSET(num_input_streams, num_output_streams, index) \
27 ((num_input_streams + num_output_streams \
28 + (index)) * HDAC_STREAM_SIZE)
30#define ALIGN(size, align) (((size) + align - 1) & ~(align - 1))
#define HDA_MAX_AUDIO_GROUPS
#define MAX_CODEC_RESPONSES
PVOID AllocateItem(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes)
IO_DPC_ROUTINE HDA_DpcForIsr
NTSTATUS NTAPI HDA_FDOStartDevice(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
struct HDA_CODEC_AUDIO_GROUP * PHDA_CODEC_AUDIO_GROUP
NTSTATUS HDA_PDOHandleQueryDeviceText(IN PIRP Irp)
struct HDA_CODEC_ENTRY * PHDA_CODEC_ENTRY
struct RIRB_RESPONSE * PRIRB_RESPONSE
NTSTATUS NTAPI HDA_FDORemoveDevice(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp)
NTSTATUS HDA_PDOHandleQueryInterface(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS HDA_PDORemoveDevice(_In_ PDEVICE_OBJECT DeviceObject)
struct HDA_PDO_DEVICE_EXTENSION * PHDA_PDO_DEVICE_EXTENSION
struct HDA_FDO_DEVICE_EXTENSION * PHDA_FDO_DEVICE_EXTENSION
NTSTATUS HDA_PDOQueryBusDeviceCapabilities(IN PIRP Irp)
struct CODEC_RESPONSE * PCODEC_RESPONSE
NTSTATUS HDA_PDOQueryBusDevicePnpState(IN PIRP Irp)
NTSTATUS HDA_PDOQueryBusInformation(IN PIRP Irp)
NTSTATUS NTAPI HDA_FDOQueryBusRelations(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
VOID FreeItem(IN PVOID Item)
NTSTATUS HDA_SendVerbs(IN PDEVICE_OBJECT DeviceObject, IN PHDA_CODEC_ENTRY Codec, IN PULONG Verbs, OUT PULONG Responses, IN ULONG Count)
NTSTATUS NTAPI HDA_PDOQueryId(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
KSERVICE_ROUTINE HDA_InterruptService
KSEMAPHORE ResponseSemaphore
PDEVICE_OBJECT LowerDevice
PHDA_CODEC_AUDIO_GROUP AudioGroup
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes