[PORTCLS]

- Add support for IDrmPort, IDrmPort2
- more debug traces 

svn path=/trunk/; revision=54640
This commit is contained in:
Johannes Anderwald 2011-12-11 10:51:37 +00:00
parent df57cb5880
commit be38b5da3b
10 changed files with 58 additions and 13 deletions

View file

@ -58,6 +58,8 @@ CUnregisterPhysicalConnection::QueryInterface(
IN REFIID refiid, IN REFIID refiid,
OUT PVOID* Output) OUT PVOID* Output)
{ {
UNICODE_STRING GuidString;
if (IsEqualGUIDAligned(refiid, IID_IUnregisterPhysicalConnection) || if (IsEqualGUIDAligned(refiid, IID_IUnregisterPhysicalConnection) ||
IsEqualGUIDAligned(refiid, IID_IUnknown)) IsEqualGUIDAligned(refiid, IID_IUnknown))
{ {
@ -67,6 +69,12 @@ CUnregisterPhysicalConnection::QueryInterface(
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{
DPRINT1("CUnregisterPhysicalConnection::QueryInterface no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString);
}
return STATUS_UNSUCCESSFUL; return STATUS_UNSUCCESSFUL;
} }

View file

@ -73,6 +73,8 @@ CInterruptSync::QueryInterface(
IN REFIID refiid, IN REFIID refiid,
OUT PVOID* Output) OUT PVOID* Output)
{ {
UNICODE_STRING GuidString;
DPRINT("CInterruptSync::QueryInterface: this %p\n", this); DPRINT("CInterruptSync::QueryInterface: this %p\n", this);
if (IsEqualGUIDAligned(refiid, IID_IInterruptSync) || if (IsEqualGUIDAligned(refiid, IID_IInterruptSync) ||
@ -83,7 +85,13 @@ CInterruptSync::QueryInterface(
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
DPRINT("CInterruptSync::QueryInterface: this %p UNKNOWN interface requested\n", this);
if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{
DPRINT1("CInterruptSync::QueryInterface: no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString);
}
return STATUS_UNSUCCESSFUL; return STATUS_UNSUCCESSFUL;
} }

View file

@ -137,22 +137,27 @@ CPortTopology::QueryInterface(
PUNKNOWN(*Output)->AddRef(); PUNKNOWN(*Output)->AddRef();
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
else if (IsEqualGUIDAligned(refiid, IID_ISubdevice))
{
*Output = PVOID(PSUBDEVICE(this));
PUNKNOWN(*Output)->AddRef();
return STATUS_SUCCESS;
}
else if (IsEqualGUIDAligned(refiid, IID_IPortEvents)) else if (IsEqualGUIDAligned(refiid, IID_IPortEvents))
{ {
*Output = PVOID(PPORTEVENTS(this)); *Output = PVOID(PPORTEVENTS(this));
PUNKNOWN(*Output)->AddRef(); PUNKNOWN(*Output)->AddRef();
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
else if (IsEqualGUIDAligned(refiid, IID_ISubdevice))
{
*Output = PVOID(PSUBDEVICE(this));
PUNKNOWN(*Output)->AddRef();
return STATUS_SUCCESS;
}
else if (IsEqualGUIDAligned(refiid, IID_IPortClsVersion)) else if (IsEqualGUIDAligned(refiid, IID_IPortClsVersion))
{ {
return NewPortClsVersion((PPORTCLSVERSION*)Output); return NewPortClsVersion((PPORTCLSVERSION*)Output);
} }
else if (IsEqualGUIDAligned(refiid, IID_IDrmPort) ||
IsEqualGUIDAligned(refiid, IID_IDrmPort2))
{
return NewIDrmPort((PDRMPORT2*)Output);
}
else if (IsEqualGUIDAligned(refiid, IID_IUnregisterSubdevice)) else if (IsEqualGUIDAligned(refiid, IID_IUnregisterSubdevice))
{ {
return NewIUnregisterSubdevice((PUNREGISTERSUBDEVICE*)Output); return NewIUnregisterSubdevice((PUNREGISTERSUBDEVICE*)Output);
@ -164,7 +169,7 @@ CPortTopology::QueryInterface(
if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS) if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{ {
DPRINT("IPortTopology_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer); DPRINT1("IPortTopology_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString); RtlFreeUnicodeString(&GuidString);
} }
return STATUS_UNSUCCESSFUL; return STATUS_UNSUCCESSFUL;

View file

@ -179,7 +179,7 @@ CPortWaveCyclic::QueryInterface(
if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS) if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{ {
DPRINT("IPortWaveCyclic_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer); DPRINT1("IPortWaveCyclic_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString); RtlFreeUnicodeString(&GuidString);
} }

View file

@ -32,7 +32,7 @@ PcRegisterAdapterPowerManagement(
Status = pUnknown->QueryInterface(IID_IAdapterPowerManagement, (PVOID*)&pPower); Status = pUnknown->QueryInterface(IID_IAdapterPowerManagement, (PVOID*)&pPower);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
DPRINT("PcRegisterAdapterPowerManagement no IAdapterPowerManagement interface %x\n", Status); DPRINT1("PcRegisterAdapterPowerManagement no IAdapterPowerManagement interface %x\n", Status);
DeviceExt->AdapterPowerManagement = NULL; DeviceExt->AdapterPowerManagement = NULL;
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }

View file

@ -54,6 +54,8 @@ CRegistryKey::QueryInterface(
IN REFIID refiid, IN REFIID refiid,
OUT PVOID* Output) OUT PVOID* Output)
{ {
UNICODE_STRING GuidString;
DPRINT("CRegistryKey::QueryInterface entered\n"); DPRINT("CRegistryKey::QueryInterface entered\n");
if (IsEqualGUIDAligned(refiid, IID_IRegistryKey) || if (IsEqualGUIDAligned(refiid, IID_IRegistryKey) ||
IsEqualGUIDAligned(refiid, IID_IUnknown)) IsEqualGUIDAligned(refiid, IID_IUnknown))
@ -63,7 +65,12 @@ CRegistryKey::QueryInterface(
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
DPRINT("IRegistryKey_QueryInterface: This %p\n", this); if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{
DPRINT1("CRegistryKey::QueryInterface no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString);
}
return STATUS_UNSUCCESSFUL; return STATUS_UNSUCCESSFUL;
} }

View file

@ -69,7 +69,7 @@ CResourceList::QueryInterface(
if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS) if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{ {
DPRINT("IResourceList_QueryInterface no interface!!! iface %S\n", GuidString.Buffer); DPRINT1("IResourceList_QueryInterface no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString); RtlFreeUnicodeString(&GuidString);
} }

View file

@ -91,7 +91,7 @@ CServiceGroup::QueryInterface(
if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS) if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{ {
DPRINT("CServiceGroup::QueryInterface no interface!!! iface %S\n", GuidString.Buffer); DPRINT1("CServiceGroup::QueryInterface no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString); RtlFreeUnicodeString(&GuidString);
} }

View file

@ -47,6 +47,8 @@ CUnregisterSubdevice::QueryInterface(
IN REFIID refiid, IN REFIID refiid,
OUT PVOID* Output) OUT PVOID* Output)
{ {
UNICODE_STRING GuidString;
if (IsEqualGUIDAligned(refiid, IID_IUnregisterSubdevice) || if (IsEqualGUIDAligned(refiid, IID_IUnregisterSubdevice) ||
IsEqualGUIDAligned(refiid, IID_IUnknown)) IsEqualGUIDAligned(refiid, IID_IUnknown))
{ {
@ -55,6 +57,12 @@ CUnregisterSubdevice::QueryInterface(
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{
DPRINT1("IPortWaveCyclic_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString);
}
return STATUS_UNSUCCESSFUL; return STATUS_UNSUCCESSFUL;
} }

View file

@ -60,6 +60,8 @@ CPortClsVersion::QueryInterface(
IN REFIID refiid, IN REFIID refiid,
OUT PVOID* Output) OUT PVOID* Output)
{ {
UNICODE_STRING GuidString;
if (IsEqualGUIDAligned(refiid, IID_IPortClsVersion) || if (IsEqualGUIDAligned(refiid, IID_IPortClsVersion) ||
IsEqualGUIDAligned(refiid, IID_IUnknown)) IsEqualGUIDAligned(refiid, IID_IUnknown))
{ {
@ -67,6 +69,13 @@ CPortClsVersion::QueryInterface(
PUNKNOWN(*Output)->AddRef(); PUNKNOWN(*Output)->AddRef();
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
if (RtlStringFromGUID(refiid, &GuidString) == STATUS_SUCCESS)
{
DPRINT1("CPortClsVersion::QueryInterface no interface!!! iface %S\n", GuidString.Buffer);
RtlFreeUnicodeString(&GuidString);
}
return STATUS_UNSUCCESSFUL; return STATUS_UNSUCCESSFUL;
} }