ReactOS 0.4.15-dev-7842-g558ab78
mintopo.cpp File Reference
#include "mintopo.h"
Include dependency graph for mintopo.cpp:

Go to the source code of this file.

Macros

#define STR_MODULENAME   "AC97 Topology: "
 
#define INIT_PIN(pin, pinptr, category, name, index)
 
#define INIT_NODE(node, nodeptr, type, name, automation, index)
 
#define INIT_NN_CONN(cptr, fnode, fpin, tnode, tpin)
 
#define INIT_FN_CONN(cptr, fpin, tnode, tpin)
 
#define INIT_NF_CONN(cptr, fnode, fpin, tpin)
 

Functions

 DEFINE_PCAUTOMATION_TABLE_PROP (AutomationVolume, PropertiesVolume)
 
 DEFINE_PCAUTOMATION_TABLE_PROP (AutomationMute, PropertiesMute)
 
 DEFINE_PCAUTOMATION_TABLE_PROP (AutomationMux, PropertiesMux)
 
 DEFINE_PCAUTOMATION_TABLE_PROP (AutomationSpecial, PropertiesSpecial)
 
 DEFINE_PCAUTOMATION_TABLE_PROP (AutomationTone, PropertiesTone)
 
 DEFINE_PCAUTOMATION_TABLE_PROP (Automation3D, Properties3D)
 
NTSTATUS CreateAC97MiniportTopology (OUT PUNKNOWN *Unknown, IN REFCLSID, IN PUNKNOWN UnknownOuter OPTIONAL, _When_((PoolType &NonPagedPoolMustSucceed) !=0, __drv_reportError("Must succeed pool allocations are forbidden. " "Allocation failures cause a system crash")) IN POOL_TYPE PoolType)
 
 STDMETHODIMP_ (NTSTATUS) CAC97MiniportTopology
 

Variables

static KSDATARANGE PinDataRangesAnalogBridge []
 
static PKSDATARANGE PinDataRangePointersAnalogBridge []
 
static PCPROPERTY_ITEM PropertiesVolume []
 
static PCPROPERTY_ITEM PropertiesMute []
 
static PCPROPERTY_ITEM PropertiesMux []
 
static PCPROPERTY_ITEM PropertiesSpecial []
 
static PCPROPERTY_ITEM PropertiesTone []
 
static PCPROPERTY_ITEM Properties3D []
 

Macro Definition Documentation

◆ INIT_FN_CONN

#define INIT_FN_CONN (   cptr,
  fpin,
  tnode,
  tpin 
)
Value:
cptr->FromNode = KSFILTER_NODE; \
cptr->FromNodePin = TransPinDefToPinNr (fpin); \
cptr->ToNode = TransNodeDefToNodeNr (tnode); \
cptr->ToNodePin = tpin; \
cptr++,ConnectionCount++
#define KSFILTER_NODE
Definition: ks.h:44

◆ INIT_NF_CONN

#define INIT_NF_CONN (   cptr,
  fnode,
  fpin,
  tpin 
)
Value:
cptr->FromNode = TransNodeDefToNodeNr (fnode); \
cptr->FromNodePin = fpin; \
cptr->ToNode = KSFILTER_NODE; \
cptr->ToNodePin = TransPinDefToPinNr (tpin); \
cptr++,ConnectionCount++

◆ INIT_NN_CONN

#define INIT_NN_CONN (   cptr,
  fnode,
  fpin,
  tnode,
  tpin 
)
Value:
cptr->FromNode = TransNodeDefToNodeNr (fnode); \
cptr->FromNodePin = fpin; \
cptr->ToNode = TransNodeDefToNodeNr (tnode); \
cptr->ToNodePin = tpin; \
cptr++,ConnectionCount++

◆ INIT_NODE

#define INIT_NODE (   node,
  nodeptr,
  type,
  name,
  automation,
  index 
)
Value:
nodeptr->Type = (GUID*) type; \
nodeptr->Name = (GUID*) name; \
nodeptr->AutomationTable = automation; \
SetNodeTranslation (index++, node); \
nodeptr++
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint index
Definition: glext.h:6031
Definition: name.c:39
Definition: dlist.c:348

◆ INIT_PIN

#define INIT_PIN (   pin,
  pinptr,
  category,
  name,
  index 
)
Value:
pinptr->KsPinDescriptor.Category = (GUID*) category; \
pinptr->KsPinDescriptor.Name = (GUID*) name; \
SetPinTranslation (index++, pin); \
pinptr++
Definition: regsvr.c:104

◆ STR_MODULENAME

#define STR_MODULENAME   "AC97 Topology: "

Definition at line 11 of file mintopo.cpp.

Function Documentation

◆ CreateAC97MiniportTopology()

NTSTATUS CreateAC97MiniportTopology ( OUT PUNKNOWN Unknown,
IN  REFCLSID,
IN PUNKNOWN UnknownOuter  OPTIONAL,
_When_((PoolType &NonPagedPoolMustSucceed) !=0, __drv_reportError("Must succeed pool allocations are forbidden. " "Allocation failures cause a system crash")) IN POOL_TYPE  PoolType 
)

Definition at line 275 of file mintopo.cpp.

285{
286 PAGED_CODE ();
287
288 ASSERT (Unknown);
289
290 STD_CREATE_BODY_WITH_TAG_(CAC97MiniportTopology,Unknown,UnknownOuter,PoolType,
292}
#define PAGED_CODE()
@ Unknown
Definition: i8042prt.h:114
#define ASSERT(a)
Definition: mode.c:44
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3815
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG PoolTag
Definition: wdfmemory.h:164

◆ DEFINE_PCAUTOMATION_TABLE_PROP() [1/6]

DEFINE_PCAUTOMATION_TABLE_PROP ( Automation3D  ,
Properties3D   
)

◆ DEFINE_PCAUTOMATION_TABLE_PROP() [2/6]

DEFINE_PCAUTOMATION_TABLE_PROP ( AutomationMute  ,
PropertiesMute   
)

◆ DEFINE_PCAUTOMATION_TABLE_PROP() [3/6]

DEFINE_PCAUTOMATION_TABLE_PROP ( AutomationMux  ,
PropertiesMux   
)

◆ DEFINE_PCAUTOMATION_TABLE_PROP() [4/6]

DEFINE_PCAUTOMATION_TABLE_PROP ( AutomationSpecial  ,
PropertiesSpecial   
)

◆ DEFINE_PCAUTOMATION_TABLE_PROP() [5/6]

DEFINE_PCAUTOMATION_TABLE_PROP ( AutomationTone  ,
PropertiesTone   
)

◆ DEFINE_PCAUTOMATION_TABLE_PROP() [6/6]

DEFINE_PCAUTOMATION_TABLE_PROP ( AutomationVolume  ,
PropertiesVolume   
)

◆ STDMETHODIMP_()

STDMETHODIMP_ ( NTSTATUS  )

Definition at line 302 of file mintopo.cpp.

307{
308 PAGED_CODE ();
309
310 ASSERT (Object);
311
312 DOUT (DBG_PRINT, ("[CAC97MiniportTopology::NonDelegatingQueryInterface]"));
313
314 // Is it IID_IUnknown?
316 {
317 *Object = (PVOID)(PUNKNOWN)this;
318 }
319 else
320 // or IID_IMiniport ...
321 if (IsEqualGUIDAligned (Interface, IID_IMiniport))
322 {
323 *Object = (PVOID)(PMINIPORT)this;
324 }
325 else
326 // or IID_IMiniportTopology ...
327 if (IsEqualGUIDAligned (Interface, IID_IMiniportTopology))
328 {
330 }
331 else
332 // or maybe our IID_IAC97MiniportTopology ...
333 if (IsEqualGUIDAligned (Interface, IID_IAC97MiniportTopology))
334 {
336 }
337 else
338 {
339 // nothing found, must be an unknown interface.
340 *Object = NULL;
342 }
343
344 //
345 // We reference the interface for the caller.
346 //
347 ((PUNKNOWN)(*Object))->AddRef ();
348 return STATUS_SUCCESS;
349}
const GUID IID_IUnknown
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
#define NULL
Definition: types.h:112
#define DOUT(lvl, strings)
Definition: debug.h:82
IAC97MiniportTopology * PAC97MINIPORTTOPOLOGY
Definition: shared.h:380
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
IMiniportTopology * PMINIPORTTOPOLOGY
Definition: portcls.h:1443
#define STATUS_SUCCESS
Definition: shellext.h:65
void * PVOID
Definition: typedefs.h:50
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:235
#define DBG_PRINT(ppi, ch, level)
Definition: win32kdebug.h:168

Variable Documentation

◆ PinDataRangePointersAnalogBridge

PKSDATARANGE PinDataRangePointersAnalogBridge[]
static
Initial value:
=
{
}
static KSDATARANGE PinDataRangesAnalogBridge[]
Definition: mintopo.cpp:24
union KSDATAFORMAT * PKSDATARANGE

Definition at line 43 of file mintopo.cpp.

◆ PinDataRangesAnalogBridge

KSDATARANGE PinDataRangesAnalogBridge[]
static
Initial value:
=
{
{
sizeof(KSDATARANGE),
0,
0,
0,
}
}
#define STATICGUIDOF(guid)
Definition: dmksctrl.h:25
union KSDATAFORMAT KSDATARANGE
#define KSDATAFORMAT_SUBTYPE_ANALOG
Definition: ksmedia.h:993
#define KSDATAFORMAT_TYPE_AUDIO
Definition: ksmedia.h:983

Definition at line 24 of file mintopo.cpp.

◆ Properties3D

PCPROPERTY_ITEM Properties3D[]
static
Initial value:
=
{
{
},
{
}
}
static NTSTATUS NTAPI PropertyHandler_Tone(IN PPCPROPERTY_REQUEST PropertyRequest)
Definition: prophnd.cpp:1169
static NTSTATUS NTAPI PropertyHandler_CpuResources(IN PPCPROPERTY_REQUEST PropertyRequest)
Definition: prophnd.cpp:1625
#define KSPROPERTY_TYPE_SET
Definition: dmksctrl.h:43
#define KSPROPERTY_TYPE_BASICSUPPORT
Definition: dmksctrl.h:45
#define KSPROPERTY_TYPE_GET
Definition: dmksctrl.h:42
@ KSPROPERTY_AUDIO_VOLUMELEVEL
Definition: ksmedia.h:1057
@ KSPROPERTY_AUDIO_CPU_RESOURCES
Definition: ksmedia.h:1086
#define KSPROPSETID_Audio
Definition: ksmedia.h:1051

Definition at line 206 of file mintopo.cpp.

◆ PropertiesMute

◆ PropertiesMux

◆ PropertiesSpecial

◆ PropertiesTone

◆ PropertiesVolume