virtual ~CPortWaveCyclic(){}
protected:
- BOOL m_bInitialized;
PDEVICE_OBJECT m_pDeviceObject;
PMINIPORTWAVECYCLIC m_pMiniport;
- PRESOURCELIST m_pResourceList;
PPINCOUNT m_pPinCount;
PPOWERNOTIFY m_pPowerNotify;
PPCFILTER_DESCRIPTOR m_pDescriptor;
static GUID InterfaceGuids[4] =
{
+ {
+ //KS_CATEGORY_AUDIO
+ 0x6994AD04, 0x93EF, 0x11D0, {0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
+ },
{
/// KSCATEGORY_RENDER
0x65E8773EL, 0x8F56, 0x11D0, {0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
/// KSCATEGORY_CAPTURE
0x65E8773DL, 0x8F56, 0x11D0, {0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
},
- {
- //KS_CATEGORY_AUDIO
- 0x6994AD04, 0x93EF, 0x11D0, {0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
- },
{
///KSCATEGORY_AUDIO_DEVICE
0xFBF6F530L, 0x07B9, 0x11D2, {0xA7, 0x1E, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88}
if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{
- DPRINT1("IPortWaveCyclic_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer);
+ DPRINT("IPortWaveCyclic_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString);
}
{
PC_ASSERT_IRQL_EQUAL(PASSIVE_LEVEL);
- if (!m_bInitialized)
- {
- DPRINT("IPortWaveCyclic_fnNewRegistryKey called w/o initiazed\n");
- return STATUS_UNSUCCESSFUL;
- }
-
return IoGetDeviceProperty(m_pDeviceObject, DeviceRegistryProperty, BufferLength, PropertyBuffer, ReturnLength);
}
DPRINT("IPortWaveCyclic_Init entered %p\n", this);
PC_ASSERT_IRQL_EQUAL(PASSIVE_LEVEL);
- if (m_bInitialized)
- {
- DPRINT("IPortWaveCyclic_Init called again\n");
- return STATUS_SUCCESS;
- }
-
Status = UnknownMiniport->QueryInterface(IID_IMiniportWaveCyclic, (PVOID*)&Miniport);
if (!NT_SUCCESS(Status))
{
// Initialize port object
m_pMiniport = Miniport;
m_pDeviceObject = DeviceObject;
- m_bInitialized = TRUE;
- m_pResourceList = ResourceList;
-
-
- if (ResourceList)
- {
- // increment reference on resource list
- ResourceList->AddRef();
- }
+ // initialize miniport
Status = Miniport->Init(UnknownAdapter, ResourceList, this);
if (!NT_SUCCESS(Status))
{
DPRINT("IMiniportWaveCyclic_Init failed with %x\n", Status);
Miniport->Release();
- m_bInitialized = FALSE;
return Status;
}
Status = Miniport->GetDescription(&m_pDescriptor);
if (!NT_SUCCESS(Status))
{
- DPRINT1("failed to get description\n");
+ DPRINT("failed to get description\n");
Miniport->Release();
- m_bInitialized = FALSE;
return Status;
}
// create the subdevice descriptor
- Status = PcCreateSubdeviceDescriptor(&m_SubDeviceDescriptor,
+ Status = PcCreateSubdeviceDescriptor(&m_SubDeviceDescriptor,
4,
InterfaceGuids,
- 0,
+ 0,
NULL,
- 2,
+ 2,
WaveCyclicPropertySet,
0,
0,
if (!NT_SUCCESS(Status))
{
- DPRINT1("PcCreateSubdeviceDescriptor failed with %x\n", Status);
+ DPRINT("PcCreateSubdeviceDescriptor failed with %x\n", Status);
Miniport->Release();
- m_bInitialized = FALSE;
return Status;
}
{
PC_ASSERT_IRQL_EQUAL(PASSIVE_LEVEL);
- if (!m_bInitialized)
- {
- DPRINT("IPortWaveCyclic_fnNewRegistryKey called w/o initialized\n");
- return STATUS_UNSUCCESSFUL;
- }
- return PcNewRegistryKey(OutRegistryKey, OuterUnknown, RegistryKeyType, DesiredAccess, m_pDeviceObject, NULL /*FIXME*/, ObjectAttributes, CreateOptions, Disposition);
+ return PcNewRegistryKey(OutRegistryKey, OuterUnknown, RegistryKeyType, DesiredAccess, m_pDeviceObject, (ISubdevice*)this, ObjectAttributes, CreateOptions, Disposition);
}
IN PUNKNOWN OuterUnknown,
IN PRESOURCELIST ResourceList OPTIONAL,
IN ULONG MaximumLength,
- IN BOOL Dma32BitAddresses,
- IN BOOL Dma64BitAddresses,
+ IN BOOLEAN Dma32BitAddresses,
+ IN BOOLEAN Dma64BitAddresses,
IN DMA_WIDTH DmaWidth,
IN DMA_SPEED DmaSpeed)
{
PC_ASSERT_IRQL_EQUAL(PASSIVE_LEVEL);
- if (!m_bInitialized)
- {
- DPRINT("IPortWaveCyclic_fnNewSlaveDmaChannel called w/o initialized\n");
- return STATUS_UNSUCCESSFUL;
- }
-
Status = PcDmaMasterDescription(ResourceList, (Dma32BitAddresses | Dma64BitAddresses), Dma32BitAddresses, 0, Dma64BitAddresses, DmaWidth, DmaSpeed, MaximumLength, 0, &DeviceDescription);
if (NT_SUCCESS(Status))
{
IN PRESOURCELIST ResourceList OPTIONAL,
IN ULONG DmaIndex,
IN ULONG MaximumLength,
- IN BOOL DemandMode,
+ IN BOOLEAN DemandMode,
IN DMA_SPEED DmaSpeed)
{
DEVICE_DESCRIPTION DeviceDescription;
PC_ASSERT_IRQL_EQUAL(PASSIVE_LEVEL);
- if (!m_bInitialized)
- {
- DPRINT("IPortWaveCyclic_fnNewSlaveDmaChannel called w/o initialized\n");
- return STATUS_UNSUCCESSFUL;
- }
-
// FIXME
// Check for F-Type DMA Support
//
NTAPI
CPortWaveCyclic::NewIrpTarget(
OUT struct IIrpTarget **OutTarget,
- IN WCHAR * Name,
+ IN PCWSTR Name,
IN PUNKNOWN Unknown,
IN POOL_TYPE PoolType,
IN PDEVICE_OBJECT DeviceObject,