msdmo: Store requested category GUID instead of a pointer to it.
This commit is contained in:
parent
072e1a3fb2
commit
0b7b8e3dc3
@ -90,7 +90,7 @@ typedef struct
|
|||||||
IEnumDMO IEnumDMO_iface;
|
IEnumDMO IEnumDMO_iface;
|
||||||
LONG ref;
|
LONG ref;
|
||||||
DWORD index;
|
DWORD index;
|
||||||
const GUID* guidCategory;
|
GUID category;
|
||||||
DWORD dwFlags;
|
DWORD dwFlags;
|
||||||
DWORD cInTypes;
|
DWORD cInTypes;
|
||||||
DMO_PARTIAL_MEDIATYPE *pInTypes;
|
DMO_PARTIAL_MEDIATYPE *pInTypes;
|
||||||
@ -386,7 +386,7 @@ static HRESULT IEnumDMO_Constructor(
|
|||||||
lpedmo->IEnumDMO_iface.lpVtbl = &edmovt;
|
lpedmo->IEnumDMO_iface.lpVtbl = &edmovt;
|
||||||
lpedmo->ref = 1;
|
lpedmo->ref = 1;
|
||||||
lpedmo->index = -1;
|
lpedmo->index = -1;
|
||||||
lpedmo->guidCategory = guidCategory;
|
lpedmo->category = *guidCategory;
|
||||||
lpedmo->dwFlags = dwFlags;
|
lpedmo->dwFlags = dwFlags;
|
||||||
|
|
||||||
if (cInTypes > 0)
|
if (cInTypes > 0)
|
||||||
@ -692,7 +692,7 @@ static HRESULT WINAPI IEnumDMO_fnClone(IEnumDMO *iface, IEnumDMO **ppEnum)
|
|||||||
{
|
{
|
||||||
IEnumDMOImpl *This = impl_from_IEnumDMO(iface);
|
IEnumDMOImpl *This = impl_from_IEnumDMO(iface);
|
||||||
TRACE("(%p)->(%p)\n", This, ppEnum);
|
TRACE("(%p)->(%p)\n", This, ppEnum);
|
||||||
return IEnumDMO_Constructor(This->guidCategory, This->dwFlags, This->cInTypes, This->pInTypes,
|
return IEnumDMO_Constructor(&This->category, This->dwFlags, This->cInTypes, This->pInTypes,
|
||||||
This->cOutTypes, This->pOutTypes, ppEnum);
|
This->cOutTypes, This->pOutTypes, ppEnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -703,18 +703,35 @@ static HRESULT WINAPI IEnumDMO_fnClone(IEnumDMO *iface, IEnumDMO **ppEnum)
|
|||||||
* Enumerate DirectX Media Objects in the registry.
|
* Enumerate DirectX Media Objects in the registry.
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI DMOEnum(
|
HRESULT WINAPI DMOEnum(
|
||||||
REFGUID guidCategory,
|
REFGUID category,
|
||||||
DWORD dwFlags,
|
DWORD flags,
|
||||||
DWORD cInTypes,
|
DWORD cInTypes,
|
||||||
const DMO_PARTIAL_MEDIATYPE *pInTypes,
|
const DMO_PARTIAL_MEDIATYPE *pInTypes,
|
||||||
DWORD cOutTypes,
|
DWORD cOutTypes,
|
||||||
const DMO_PARTIAL_MEDIATYPE *pOutTypes,
|
const DMO_PARTIAL_MEDIATYPE *pOutTypes,
|
||||||
IEnumDMO **ppEnum)
|
IEnumDMO **ppEnum)
|
||||||
{
|
{
|
||||||
TRACE("guidCategory=%p dwFlags=0x%08x cInTypes=%d cOutTypes=%d\n",
|
TRACE("%s 0x%08x %d %p %d %p %p\n", debugstr_guid(category), flags, cInTypes, pInTypes,
|
||||||
guidCategory, dwFlags, cInTypes, cOutTypes);
|
cOutTypes, pOutTypes, ppEnum);
|
||||||
|
|
||||||
return IEnumDMO_Constructor(guidCategory, dwFlags, cInTypes,
|
if (TRACE_ON(msdmo))
|
||||||
|
{
|
||||||
|
DWORD i;
|
||||||
|
if (cInTypes)
|
||||||
|
{
|
||||||
|
for (i = 0; i < cInTypes; i++)
|
||||||
|
TRACE("intype %d - type %s, subtype %s\n", i, debugstr_guid(&pInTypes[i].type),
|
||||||
|
debugstr_guid(&pInTypes[i].subtype));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cOutTypes) {
|
||||||
|
for (i = 0; i < cOutTypes; i++)
|
||||||
|
TRACE("outtype %d - type %s, subtype %s\n", i, debugstr_guid(&pOutTypes[i].type),
|
||||||
|
debugstr_guid(&pOutTypes[i].subtype));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return IEnumDMO_Constructor(category, flags, cInTypes,
|
||||||
pInTypes, cOutTypes, pOutTypes, ppEnum);
|
pInTypes, cOutTypes, pOutTypes, ppEnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user