2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Kernel Streaming
4 * FILE: drivers/wdm/audio/backpln/portcls/port.cpp
5 * PURPOSE: Port construction API
6 * PROGRAMMER: Johannes Anderwald
10 #include "private.hpp"
21 UNICODE_STRING GuidString
;
23 DPRINT("PcNewPort entered\n");
25 PC_ASSERT_IRQL_EQUAL(PASSIVE_LEVEL
);
29 DPRINT("PcNewPort was supplied a NULL OutPort parameter\n");
30 return STATUS_INVALID_PARAMETER
;
33 if (IsEqualGUIDAligned(ClassId
, CLSID_PortMidi
))
34 Status
= NewPortDMus(OutPort
);
35 else if (IsEqualGUIDAligned(ClassId
, CLSID_PortDMus
))
36 Status
= NewPortDMus(OutPort
);
37 else if (IsEqualGUIDAligned(ClassId
, CLSID_PortTopology
))
38 Status
= NewPortTopology(OutPort
);
39 else if (IsEqualGUIDAligned(ClassId
, CLSID_PortWaveCyclic
))
40 Status
= NewPortWaveCyclic(OutPort
);
41 else if (IsEqualGUIDAligned(ClassId
, CLSID_PortWavePci
))
42 Status
= NewPortWavePci(OutPort
);
43 else if (IsEqualGUIDAligned(ClassId
, CLSID_PortWaveRT
))
44 Status
= NewPortWaveRT(OutPort
);
48 if (RtlStringFromGUID(ClassId
, &GuidString
) == STATUS_SUCCESS
)
50 DPRINT("unknown interface %S\n", GuidString
.Buffer
);
51 RtlFreeUnicodeString(&GuidString
);
54 Status
= STATUS_NOT_SUPPORTED
;
57 DPRINT("PcNewPort Status %lx\n", Status
);