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