Author: janderwald Date: Thu Aug 13 11:53:13 2009 New Revision: 42648
URL: http://svn.reactos.org/svn/reactos?rev=42648&view=rev Log: - Implement IPortDMus_fnNewRegistryKey
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/port_dmus.c
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/port_dmus.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/p... ============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/port_dmus.c [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/port_dmus.c [iso-8859-1] Thu Aug 13 11:53:13 2009 @@ -219,6 +219,12 @@ } }
+ /* Initialize port object */ + This->pMiniport = Miniport; + This->pMiniportMidi = MidiMiniport; + This->pDeviceObject = DeviceObject; + This->bInitialized = TRUE; + if (Miniport) { /* initialize IMiniportDMus */ @@ -226,6 +232,7 @@ if (!NT_SUCCESS(Status)) { DPRINT("IMiniportDMus_Init failed with %x\n", Status); + This->bInitialized = FALSE; return Status; }
@@ -235,6 +242,7 @@ { DPRINT1("failed to get description\n"); Miniport->lpVtbl->Release(Miniport); + This->bInitialized = FALSE; return Status; }
@@ -249,6 +257,7 @@ if (!NT_SUCCESS(Status)) { DPRINT("IMiniportMidi_Init failed with %x\n", Status); + This->bInitialized = FALSE; return Status; }
@@ -258,6 +267,7 @@ { DPRINT1("failed to get description\n"); MidiMiniport->lpVtbl->Release(MidiMiniport); + This->bInitialized = FALSE; return Status; }
@@ -290,6 +300,7 @@ else MidiMiniport->lpVtbl->Release(MidiMiniport);
+ This->bInitialized = FALSE; return Status; }
@@ -298,12 +309,6 @@ /* register service group */ This->ServiceGroup = ServiceGroup; } - - /* Initialize port object */ - This->pMiniport = Miniport; - This->pMiniportMidi = MidiMiniport; - This->pDeviceObject = DeviceObject; - This->bInitialized = TRUE;
/* check if it supports IPinCount interface */ Status = UnknownMiniport->lpVtbl->QueryInterface(UnknownMiniport, &IID_IPinCount, (PVOID*)&PinCount); @@ -346,7 +351,16 @@ DPRINT("IPortDMus_fnNewRegistryKey called w/o initialized\n"); return STATUS_UNSUCCESSFUL; } - return STATUS_UNSUCCESSFUL; + + return PcNewRegistryKey(OutRegistryKey, + OuterUnknown, + RegistryKeyType, + DesiredAccess, + This->pDeviceObject, + NULL,//FIXME + ObjectAttributes, + CreateOptions, + Disposition); }
VOID