include: Use widl to take care of nameless structs and unions.
This commit is contained in:
parent
76693d52c7
commit
942f2ce792
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue