Commit 942f2ce7 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

include: Use widl to take care of nameless structs and unions.

parent 76693d52
......@@ -258,7 +258,7 @@ static void DEVENUM_ReadPins(HKEY hkeyFilterClass, REGFILTER2 *rgf2)
WCHAR wszPinName[MAX_PATH];
DWORD cName = sizeof(wszPinName) / sizeof(WCHAR);
DWORD Type, cbData;
REGFILTERPINS *rgPin = &rgPins[rgf2->u.s.cPins];
REGFILTERPINS *rgPin = &rgPins[rgf2->u.s1.cPins];
LONG lRet;
rgPin->strName = NULL;
......@@ -298,7 +298,7 @@ static void DEVENUM_ReadPins(HKEY hkeyFilterClass, REGFILTER2 *rgf2)
DEVENUM_ReadPinTypes(hkeyPinKey, rgPin);
++rgf2->u.s.cPins;
++rgf2->u.s1.cPins;
continue;
error_cleanup:
......@@ -309,13 +309,13 @@ static void DEVENUM_ReadPins(HKEY hkeyFilterClass, REGFILTER2 *rgf2)
RegCloseKey(hkeyPins);
if (rgPins && !rgf2->u.s.cPins)
if (rgPins && !rgf2->u.s1.cPins)
{
CoTaskMemFree(rgPins);
rgPins = NULL;
}
rgf2->u.s.rgPins = rgPins;
rgf2->u.s1.rgPins = rgPins;
}
static HRESULT DEVENUM_RegisterLegacyAmFilters(void)
......@@ -386,8 +386,8 @@ static HRESULT DEVENUM_RegisterLegacyAmFilters(void)
rgf2.dwVersion = 1;
rgf2.dwMerit = 0;
rgf2.u.s.cPins = 0;
rgf2.u.s.rgPins = NULL;
rgf2.u.s1.cPins = 0;
rgf2.u.s1.rgPins = NULL;
cbData = sizeof(wszFilterName);
if (RegQueryValueExW(hkeyFilterClass, NULL, NULL, &Type, (LPBYTE)wszFilterName, &cbData) != ERROR_SUCCESS ||
......@@ -413,29 +413,29 @@ static HRESULT DEVENUM_RegisterLegacyAmFilters(void)
if (hkeyFilterClass) RegCloseKey(hkeyFilterClass);
if (rgf2.u.s.rgPins)
if (rgf2.u.s1.rgPins)
{
UINT iPin;
for (iPin = 0; iPin < rgf2.u.s.cPins; iPin++)
for (iPin = 0; iPin < rgf2.u.s1.cPins; iPin++)
{
CoTaskMemFree(rgf2.u.s.rgPins[iPin].strName);
CoTaskMemFree(rgf2.u.s1.rgPins[iPin].strName);
if (rgf2.u.s.rgPins[iPin].lpMediaType)
if (rgf2.u.s1.rgPins[iPin].lpMediaType)
{
UINT iType;
for (iType = 0; iType < rgf2.u.s.rgPins[iPin].nMediaTypes; iType++)
for (iType = 0; iType < rgf2.u.s1.rgPins[iPin].nMediaTypes; iType++)
{
CoTaskMemFree((void*)rgf2.u.s.rgPins[iPin].lpMediaType[iType].clsMajorType);
CoTaskMemFree((void*)rgf2.u.s.rgPins[iPin].lpMediaType[iType].clsMinorType);
CoTaskMemFree((void*)rgf2.u.s1.rgPins[iPin].lpMediaType[iType].clsMajorType);
CoTaskMemFree((void*)rgf2.u.s1.rgPins[iPin].lpMediaType[iType].clsMinorType);
}
CoTaskMemFree((void*)rgf2.u.s.rgPins[iPin].lpMediaType);
CoTaskMemFree((void*)rgf2.u.s1.rgPins[iPin].lpMediaType);
}
}
CoTaskMemFree((void*)rgf2.u.s.rgPins);
CoTaskMemFree((void*)rgf2.u.s1.rgPins);
}
}
}
......@@ -604,8 +604,8 @@ static HRESULT DEVENUM_CreateSpecialCategories(void)
rf2.dwVersion = 2;
rf2.dwMerit = MERIT_PREFERRED;
rf2.u.s1.cPins2 = 1;
rf2.u.s1.rgPins2 = &rfp2;
rf2.u.s2.cPins2 = 1;
rf2.u.s2.rgPins2 = &rfp2;
rfp2.cInstances = 1;
rfp2.nMediums = 0;
rfp2.lpMedium = NULL;
......
......@@ -1351,16 +1351,16 @@ static HRESULT fill_filter_data_information(IDxDiagContainerImpl_Container *subc
if (pRF->dwVersion == 1)
{
for (j = 0; j < pRF->u.s.cPins; j++)
if (pRF->u.s.rgPins[j].bOutput)
for (j = 0; j < pRF->u.s1.cPins; j++)
if (pRF->u.s1.rgPins[j].bOutput)
dwNOutputs++;
else
dwNInputs++;
}
else if (pRF->dwVersion == 2)
{
for (j = 0; j < pRF->u.s1.cPins2; j++)
if (pRF->u.s1.rgPins2[j].dwFlags & REG_PINFLAG_B_OUTPUT)
for (j = 0; j < pRF->u.s2.cPins2; j++)
if (pRF->u.s2.rgPins2[j].dwFlags & REG_PINFLAG_B_OUTPUT)
dwNOutputs++;
else
dwNInputs++;
......
......@@ -485,24 +485,24 @@ static HRESULT FM2_WriteFilterData(const REGFILTER2 * prf2, BYTE **ppData, ULONG
rrf.dwVersion = prf2->dwVersion;
rrf.dwMerit = prf2->dwMerit;
rrf.dwPins = prf2->u.s1.cPins2;
rrf.dwPins = prf2->u.s2.cPins2;
rrf.dwUnused = 0;
add_data(&mainStore, (LPBYTE)&rrf, sizeof(rrf));
for (i = 0; i < prf2->u.s1.cPins2; i++)
for (i = 0; i < prf2->u.s2.cPins2; i++)
{
size += sizeof(struct REG_RFP);
if (prf2->u.s1.rgPins2[i].clsPinCategory)
if (prf2->u.s2.rgPins2[i].clsPinCategory)
size += sizeof(DWORD);
size += prf2->u.s1.rgPins2[i].nMediaTypes * sizeof(struct REG_TYPE);
size += prf2->u.s1.rgPins2[i].nMediums * sizeof(DWORD);
size += prf2->u.s2.rgPins2[i].nMediaTypes * sizeof(struct REG_TYPE);
size += prf2->u.s2.rgPins2[i].nMediums * sizeof(DWORD);
}
for (i = 0; i < prf2->u.s1.cPins2; i++)
for (i = 0; i < prf2->u.s2.cPins2; i++)
{
struct REG_RFP rrfp;
REGFILTERPINS2 rgPin2 = prf2->u.s1.rgPins2[i];
REGFILTERPINS2 rgPin2 = prf2->u.s2.rgPins2[i];
unsigned int j;
rrfp.signature[0] = '0';
......@@ -604,9 +604,9 @@ static HRESULT FM2_ReadFilterData(BYTE *pData, REGFILTER2 * prf2)
prf2->dwVersion = prrf->dwVersion;
prf2->dwMerit = prrf->dwMerit;
prf2->u.s1.cPins2 = prrf->dwPins;
prf2->u.s2.cPins2 = prrf->dwPins;
rgPins2 = CoTaskMemAlloc(prrf->dwPins * sizeof(*rgPins2));
prf2->u.s1.rgPins2 = rgPins2;
prf2->u.s2.rgPins2 = rgPins2;
pCurrent += sizeof(struct REG_RF);
for (i = 0; i < prrf->dwPins; i++)
......@@ -688,21 +688,21 @@ static HRESULT FM2_ReadFilterData(BYTE *pData, REGFILTER2 * prf2)
static void FM2_DeleteRegFilter(REGFILTER2 * prf2)
{
UINT i;
for (i = 0; i < prf2->u.s1.cPins2; i++)
for (i = 0; i < prf2->u.s2.cPins2; i++)
{
UINT j;
if (prf2->u.s1.rgPins2[i].clsPinCategory)
CoTaskMemFree((LPVOID)prf2->u.s1.rgPins2[i].clsPinCategory);
if (prf2->u.s2.rgPins2[i].clsPinCategory)
CoTaskMemFree((LPVOID)prf2->u.s2.rgPins2[i].clsPinCategory);
for (j = 0; j < prf2->u.s1.rgPins2[i].nMediaTypes; j++)
for (j = 0; j < prf2->u.s2.rgPins2[i].nMediaTypes; j++)
{
CoTaskMemFree((LPVOID)prf2->u.s1.rgPins2[i].lpMediaType[j].clsMajorType);
CoTaskMemFree((LPVOID)prf2->u.s1.rgPins2[i].lpMediaType[j].clsMinorType);
CoTaskMemFree((LPVOID)prf2->u.s2.rgPins2[i].lpMediaType[j].clsMajorType);
CoTaskMemFree((LPVOID)prf2->u.s2.rgPins2[i].lpMediaType[j].clsMinorType);
}
CoTaskMemFree((LPVOID)prf2->u.s1.rgPins2[i].lpMediaType);
CoTaskMemFree((LPVOID)prf2->u.s1.rgPins2[i].lpMedium);
CoTaskMemFree((LPVOID)prf2->u.s2.rgPins2[i].lpMediaType);
CoTaskMemFree((LPVOID)prf2->u.s2.rgPins2[i].lpMedium);
}
CoTaskMemFree((LPVOID)prf2->u.s1.rgPins2);
CoTaskMemFree((LPVOID)prf2->u.s2.rgPins2);
}
static HRESULT WINAPI FilterMapper3_RegisterFilter(
......@@ -747,24 +747,24 @@ static HRESULT WINAPI FilterMapper3_RegisterFilter(
/* REGFILTER2 structure is converted from version 1 to 2. Tested on Win2k. */
regfilter2.dwVersion = 2;
regfilter2.dwMerit = prf2->dwMerit;
regfilter2.u.s1.cPins2 = prf2->u.s.cPins;
pregfp2 = CoTaskMemAlloc(prf2->u.s.cPins * sizeof(REGFILTERPINS2));
regfilter2.u.s1.rgPins2 = pregfp2;
for (i = 0; i < prf2->u.s.cPins; i++)
regfilter2.u.s2.cPins2 = prf2->u.s1.cPins;
pregfp2 = CoTaskMemAlloc(prf2->u.s1.cPins * sizeof(REGFILTERPINS2));
regfilter2.u.s2.rgPins2 = pregfp2;
for (i = 0; i < prf2->u.s1.cPins; i++)
{
flags = 0;
if (prf2->u.s.rgPins[i].bRendered)
if (prf2->u.s1.rgPins[i].bRendered)
flags |= REG_PINFLAG_B_RENDERER;
if (prf2->u.s.rgPins[i].bOutput)
if (prf2->u.s1.rgPins[i].bOutput)
flags |= REG_PINFLAG_B_OUTPUT;
if (prf2->u.s.rgPins[i].bZero)
if (prf2->u.s1.rgPins[i].bZero)
flags |= REG_PINFLAG_B_ZERO;
if (prf2->u.s.rgPins[i].bMany)
if (prf2->u.s1.rgPins[i].bMany)
flags |= REG_PINFLAG_B_MANY;
pregfp2[i].dwFlags = flags;
pregfp2[i].cInstances = 1;
pregfp2[i].nMediaTypes = prf2->u.s.rgPins[i].nMediaTypes;
pregfp2[i].lpMediaType = prf2->u.s.rgPins[i].lpMediaType;
pregfp2[i].nMediaTypes = prf2->u.s1.rgPins[i].nMediaTypes;
pregfp2[i].lpMediaType = prf2->u.s1.rgPins[i].lpMediaType;
pregfp2[i].nMediums = 0;
pregfp2[i].lpMedium = NULL;
pregfp2[i].clsPinCategory = NULL;
......@@ -1106,9 +1106,9 @@ static HRESULT WINAPI FilterMapper3_EnumMatchingFilters(
/* determine whether filter meets requirements */
if (SUCCEEDED(hrSub) && (rf2.dwMerit >= dwMerit))
{
for (i = 0; (i < rf2.u.s1.cPins2) && (!bInputMatch || !bOutputMatch); i++)
for (i = 0; (i < rf2.u.s2.cPins2) && (!bInputMatch || !bOutputMatch); i++)
{
const REGFILTERPINS2 * rfp2 = rf2.u.s1.rgPins2 + i;
const REGFILTERPINS2 * rfp2 = rf2.u.s2.rgPins2 + i;
bInputMatch = bInputMatch || (!(rfp2->dwFlags & REG_PINFLAG_B_OUTPUT) &&
(!bRender || (rfp2->dwFlags & REG_PINFLAG_B_RENDERER)) &&
......
......@@ -590,8 +590,8 @@ static HRESULT register_filters(struct regsvr_filter const *list)
for (i = 0; list->pins[i].flags != 0xFFFFFFFF; i++) ;
rf2.dwVersion = 2;
rf2.dwMerit = list->merit;
rf2.u.s1.cPins2 = i;
rf2.u.s1.rgPins2 = prfp2 = CoTaskMemAlloc(i*sizeof(REGFILTERPINS2));
rf2.u.s2.cPins2 = i;
rf2.u.s2.rgPins2 = prfp2 = CoTaskMemAlloc(i*sizeof(REGFILTERPINS2));
if (!prfp2) {
hr = E_OUTOFMEMORY;
break;
......
......@@ -143,8 +143,8 @@ HRESULT WINAPI AMovieSetupRegisterFilter2(const AMOVIESETUP_FILTER *pFilter, IFi
REGFILTER2 rf2;
rf2.dwVersion = 1;
rf2.dwMerit = pFilter->merit;
rf2.u.s.cPins = pFilter->pins;
rf2.u.s.rgPins = pFilter->pPin;
rf2.u.s1.cPins = pFilter->pins;
rf2.u.s1.rgPins = pFilter->pPin;
return IFilterMapper2_RegisterFilter(pIFM2, pFilter->clsid, pFilter->name, NULL, &CLSID_LegacyAmFilterCategory, NULL, &rf2);
}
......
......@@ -204,7 +204,7 @@ typedef struct tagVIDEOINFO
RGBQUAD bmiColors[iPALETTE_COLORS];
DWORD dwBitMasks[iMASK_COLORS];
TRUECOLORINFO TrueColorInfo;
} DUMMYUNIONNAME;
};
} VIDEOINFO;
typedef struct tagMPEG1VIDEOINFO
......
......@@ -236,18 +236,18 @@ typedef struct
{
ULONG cPins;
[size_is(cPins)] const REGFILTERPINS *rgPins;
} DUMMYSTRUCTNAME;
};
[case(2)]
struct
{
ULONG cPins2;
[size_is(cPins2)] const REGFILTERPINS2 *rgPins2;
} DUMMYSTRUCTNAME1;
};
[default]
;
} DUMMYUNIONNAME;
};
} REGFILTER2;
......
......@@ -644,7 +644,7 @@ typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
D3D10_TEX2D_ARRAY_DSV Texture2DArray;
D3D10_TEX2DMS_DSV Texture2DMS;
D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
} DUMMYUNIONNAME;
};
} D3D10_DEPTH_STENCIL_VIEW_DESC;
typedef enum D3D10_RTV_DIMENSION {
......@@ -711,7 +711,7 @@ typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
D3D10_TEX2DMS_RTV Texture2DMS;
D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
D3D10_TEX3D_RTV Texture3D;
} DUMMYUNIONNAME;
};
} D3D10_RENDER_TARGET_VIEW_DESC;
typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION;
......@@ -777,7 +777,7 @@ typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
D3D10_TEX3D_SRV Texture3D;
D3D10_TEXCUBE_SRV TextureCube;
} DUMMYUNIONNAME;
};
} D3D10_SHADER_RESOURCE_VIEW_DESC;
typedef struct D3D10_BOX {
......
......@@ -57,12 +57,12 @@ typedef struct
union
{
struct {
GUID Set;
GUID Set;
ULONG Id;
ULONG Flags;
} DUMMYSTRUCTNAME;
};
LONGLONG Alignment;
} DUMMYUNIONNAME;
};
} KSIDENTIFIER;
typedef KSIDENTIFIER KSPROPERTY, *PKSPROPERTY;
......
......@@ -435,7 +435,7 @@ interface ISMTPCallback : ITransportCallback
{
[case(SMTP_SEND_STREAM)] SMTPSTREAM rStreamInfo;
[default];
} DUMMYUNIONNAME;
};
} SMTPRESPONSE, *LPSMTPRESPONSE;
HRESULT OnResponse(
......@@ -606,7 +606,7 @@ interface IPOP3Callback : ITransportCallback
[case(POP3_RETR)] POP3RETR rRetrInfo;
[case(POP3_TOP)] POP3TOP rTopInfo;
[default];
} DUMMYUNIONNAME;
};
} POP3RESPONSE, *LPPOP3RESPONSE;
HRESULT OnResponse(
......
......@@ -201,7 +201,7 @@ interface IPropertyStorage : IUnknown
[case(VT_BYREF|VT_DISPATCH)] IDispatch **ppdispVal;
[case(VT_BYREF|VT_ARRAY)] LPSAFEARRAY *pparray;
[case(VT_BYREF|VT_VARIANT)] PROPVARIANT *pvarVal;
} DUMMYUNIONNAME;
};
};
typedef struct tagPROPVARIANT *LPPROPVARIANT;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment