1581{
1582
1583
1584
1585#define INIT_NN_CONN( cptr, fnode, fpin, tnode, tpin ) \
1586 cptr->FromNode = TransNodeDefToNodeNr (fnode); \
1587 cptr->FromNodePin = fpin; \
1588 cptr->ToNode = TransNodeDefToNodeNr (tnode); \
1589 cptr->ToNodePin = tpin; \
1590 cptr++,ConnectionCount++
1591
1592
1593#define INIT_FN_CONN( cptr, fpin, tnode, tpin ) \
1594 cptr->FromNode = KSFILTER_NODE; \
1595 cptr->FromNodePin = TransPinDefToPinNr (fpin); \
1596 cptr->ToNode = TransNodeDefToNodeNr (tnode); \
1597 cptr->ToNodePin = tpin; \
1598 cptr++,ConnectionCount++
1599
1600
1601#define INIT_NF_CONN( cptr, fnode, fpin, tpin ) \
1602 cptr->FromNode = TransNodeDefToNodeNr (fnode); \
1603 cptr->FromNodePin = fpin; \
1604 cptr->ToNode = KSFILTER_NODE; \
1605 cptr->ToNodePin = TransPinDefToPinNr (tpin); \
1606 cptr++,ConnectionCount++
1607
1609
1611 ULONG ConnectionCount = 0;
1612
1613 DOUT (
DBG_PRINT, (
"[CAC97MiniportTopology::BuildConnectionDescriptors]"));
1614
1615
1619 {
1621
1622
1623
1624
1626
1627
1629
1630
1632
1633
1635 {
1636
1638
1639
1641
1642
1644 }
1645
1646
1648 {
1649
1651
1652
1654
1655
1657
1658
1660
1661
1663 }
1664
1665
1667 {
1668
1670 {
1671
1673
1674
1676 }
1677 else
1678 {
1679
1681 }
1682
1683
1685
1686
1688
1689
1691
1692
1694
1695
1697 }
1698
1699
1701 {
1702
1704
1705
1707
1708
1710
1711
1713
1714
1716 }
1717
1718
1720 {
1721
1723
1724
1726
1727
1729
1730
1732
1733
1735 }
1736
1737
1739 {
1740
1742
1743
1745
1746
1748
1749
1751
1752
1754 }
1755
1756
1758 {
1759
1761
1762
1764
1765
1767
1768
1770
1771
1773 }
1774
1775
1776
1778 {
1779
1781
1782
1784
1785
1787 }
1788
1789
1791 {
1792
1794 {
1796 {
1797
1799
1800
1802
1803
1805
1806
1808
1809
1811
1812
1814 }
1815 else
1816 {
1817
1819
1820
1822
1823
1825
1826
1828 }
1829 }
1830 else
1831 {
1832
1834
1835
1837
1838
1840
1841
1843 }
1844 }
1845
1846
1847
1848
1851 {
1852
1854
1855
1857
1858
1860 }
1861
1862
1864 {
1865
1867
1868
1870
1871
1873
1874
1876 {
1877
1879
1880
1882
1883
1885
1886
1888
1889
1891
1892
1894 }
1895 }
1896
1897
1899
1900
1902
1903
1906 {
1907
1909
1910
1912 }
1913
1914
1916 {
1917
1919
1920
1922
1923
1925
1926
1928 {
1929
1931
1932
1934 }
1935
1936
1938 {
1939
1941
1942
1944 }
1945 }
1946
1947
1948
1949
1952 {
1953
1955
1956
1958
1959
1961 }
1962 else
1963 {
1964
1966
1967
1969
1970
1972 }
1973
1974
1975
1976
1978
1979
1981
1982
1984
1985
1987
1988
1990
1991
1994 {
1995
1997
1998
2000
2001
2003 }
2004
2005
2007 {
2008
2010
2011
2013
2015 {
2016
2018
2019
2021 }
2022
2023
2025 }
2026
2027
2030 } else
2031 {
2033 }
2034
2035 return ntStatus;
2036
2037#undef INIT_NN_CONN
2038#undef INIT_FN_CONN
2039#undef INIT_NF_CONN
2040}
#define INIT_NN_CONN(cptr, fnode, fpin, tnode, tpin)
#define INIT_NF_CONN(cptr, fnode, fpin, tpin)
#define INIT_FN_CONN(cptr, fpin, tnode, tpin)
@ PINC_CENTER_LFE_PRESENT
@ NODE_VIRT_MASTER_INPUT_VOLUME1
@ NODE_VIRT_MONOOUT_VOLUME1
@ NODE_VIRT_MONOOUT_VOLUME2
@ NODE_VIRT_MASTER_INPUT_VOLUME3
@ NODE_VIRT_MASTER_INPUT_VOLUME8
@ NODE_VIRT_MASTERMONO_MUTE
@ NODE_VIRT_WAVEOUT_3D_BYPASS
@ NODE_VIRT_MASTER_INPUT_VOLUME2
@ NODE_VIRT_MASTER_INPUT_VOLUME6
@ NODE_VIRT_MASTER_INPUT_VOLUME5
@ NODE_VIRT_MASTER_INPUT_VOLUME7
@ NODE_VIRT_MASTERMONO_VOLUME
@ NODE_VIRT_MASTER_INPUT_VOLUME4
@ NODEC_3D_DEPTH_ADJUSTABLE
@ NODEC_3D_CENTER_ADJUSTABLE
@ NODEC_SIMUL_STEREO_PRESENT
@ PIN_VIRT_3D_CENTER_SOURCE
@ PIN_VIRT_TONE_MIX_SOURCE
@ PIN_VIRT_TONE_MIX_MONO_SOURCE
@ PIN_VIRT_SURROUND_SOURCE
@ PIN_VIRT_3D_MIX_MONO_SOURCE
@ PIN_VIRT_3D_DEPTH_SOURCE
#define ExAllocatePoolWithTag(hernya, size, tag)
const int TOPO_MAX_CONNECTIONS
struct PCCONNECTION_DESCRIPTOR * PPCCONNECTION_DESCRIPTOR
const PCCONNECTION_DESCRIPTOR * Connections
#define STATUS_INSUFFICIENT_RESOURCES