11#define STR_MODULENAME "AC97 RT Miniport: "
16#if (NTDDI_VERSION >= NTDDI_VISTA)
19#pragma code_seg("PAGE")
37 "Allocation failures cause a system crash"))
67 return CMiniport::Init(
91 DOUT (
DBG_PRINT, (
"[CAC97MiniportWaveRT::ProcessResources]"));
97 DOUT (
DBG_ERROR, (
"Unknown configuration for wave miniport!"));
134 DOUT (
DBG_ERROR, (
"Failed to connect the ISR with InterruptSync!"));
199 ntStatus = pStream->
Init (
this,
235 ASSERT (DmaDeviceDescription);
237 DOUT (
DBG_PRINT, (
"[CAC97MiniportWaveRT::GetDeviceDescription]"));
240 DmaDeviceDescription->Master =
TRUE;
241 DmaDeviceDescription->ScatterGather =
TRUE;
242 DmaDeviceDescription->Dma32BitAddresses =
TRUE;
243 DmaDeviceDescription->InterfaceType =
PCIBus;
244 DmaDeviceDescription->MaximumLength = 0x1FFFE;
IPortWaveRT * PPORTWAVERT
NTSTATUS Init(IN CAC97MiniportWaveRT *Miniport_, IN PPORTWAVERTSTREAM PortStream, IN ULONG Channel, IN BOOLEAN Capture, IN PKSDATAFORMAT DataFormat)
NTSTATUS ProcessResources(IN PRESOURCELIST ResourceList)
PINTERRUPTSYNC InterruptSync
static NTSTATUS InterruptServiceRoutine(IN PINTERRUPTSYNC InterruptSync, IN PVOID StaticContext)
#define NT_SUCCESS(StatCode)
NTSTATUS CreateAC97MiniportWaveRT(OUT PUNKNOWN *Unknown, IN REFCLSID, IN PUNKNOWN UnknownOuter OPTIONAL, IN POOL_TYPE PoolType)
#define DOUT(lvl, strings)
#define IMP_CMiniport(cType, IID)
#define __drv_reportError(why)
NTSTATUS NTAPI PcNewInterruptSync(OUT PINTERRUPTSYNC *OutInterruptSync, IN PUNKNOWN OuterUnknown OPTIONAL, IN PRESOURCELIST ResourceList, IN ULONG ResourceIndex, IN INTERRUPTSYNCMODE Mode)
#define _When_(expr, annos)
#define STATUS_DEVICE_CONFIGURATION_ERROR
IMiniportWaveRT * PMINIPORTWAVERT
IResourceList * PRESOURCELIST
IMiniportWaveRTStream * PMINIPORTWAVERTSTREAM
IPortWaveRTStream * PPORTWAVERTSTREAM
@ InterruptSyncModeNormal
NTSTATUS CreateAC97MiniportWaveRTStream(OUT CAC97MiniportWaveRTStream **pRTStream)
PULONG MinorVersion OPTIONAL
#define RtlZeroMemory(Destination, Length)
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG PoolTag
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
#define DBG_PRINT(ppi, ch, level)
@ NonPagedPoolMustSucceed