Merge pull request #24 from MrSmith33/master

Fix C-style arrays.
This commit is contained in:
Vadim Lopatin 2014-12-31 13:14:05 +03:00
commit 0b073321a2
37 changed files with 453 additions and 453 deletions

View File

@ -2834,14 +2834,14 @@ static if (_WIN32_IE >= 0x400) {
struct NMCBEDRAGBEGINW { struct NMCBEDRAGBEGINW {
NMHDR hdr; NMHDR hdr;
int iItemid; int iItemid;
WCHAR szText[CBEMAXSTRLEN]; WCHAR[CBEMAXSTRLEN] szText;
} }
alias NMCBEDRAGBEGINW* LPNMCBEDRAGBEGINW, PNMCBEDRAGBEGINW; alias NMCBEDRAGBEGINW* LPNMCBEDRAGBEGINW, PNMCBEDRAGBEGINW;
struct NMCBEDRAGBEGINA { struct NMCBEDRAGBEGINA {
NMHDR hdr; NMHDR hdr;
int iItemid; int iItemid;
char szText[CBEMAXSTRLEN]; char[CBEMAXSTRLEN] szText;
} }
alias NMCBEDRAGBEGINA* LPNMCBEDRAGBEGINA, PNMCBEDRAGBEGINA; alias NMCBEDRAGBEGINA* LPNMCBEDRAGBEGINA, PNMCBEDRAGBEGINA;
@ -2962,7 +2962,7 @@ struct NMCBEENDEDITW {
NMHDR hdr; NMHDR hdr;
BOOL fChanged; BOOL fChanged;
int iNewSelection; int iNewSelection;
WCHAR szText[CBEMAXSTRLEN]; WCHAR[CBEMAXSTRLEN] szText;
int iWhy; int iWhy;
} }
alias NMCBEENDEDITW* LPNMCBEENDEDITW, PNMCBEENDEDITW; alias NMCBEENDEDITW* LPNMCBEENDEDITW, PNMCBEENDEDITW;
@ -2971,7 +2971,7 @@ struct NMCBEENDEDITA {
NMHDR hdr; NMHDR hdr;
BOOL fChanged; BOOL fChanged;
int iNewSelection; int iNewSelection;
char szText[CBEMAXSTRLEN]; char[CBEMAXSTRLEN] szText;
int iWhy; int iWhy;
} }
alias NMCBEENDEDITA* LPNMCBEENDEDITA, PNMCBEENDEDITA; alias NMCBEENDEDITA* LPNMCBEENDEDITA, PNMCBEENDEDITA;
@ -2995,9 +2995,9 @@ struct TBBUTTON {
BYTE fsState; BYTE fsState;
BYTE fsStyle; BYTE fsStyle;
version(Win64){ version(Win64){
BYTE bReserved[6]; BYTE[6] bReserved;
} else { } else {
BYTE bReserved[2]; BYTE[2] bReserved;
} }
DWORD_PTR dwData; DWORD_PTR dwData;
INT_PTR iString; INT_PTR iString;
@ -3172,7 +3172,7 @@ struct HD_LAYOUT {
RECT* prc; RECT* prc;
WINDOWPOS* pwpos; WINDOWPOS* pwpos;
} }
alias HDLAYOUT* LPHDLAYOUT; alias HD_LAYOUT* LPHDLAYOUT;
deprecated alias HD_LAYOUT HDLAYOUT; deprecated alias HD_LAYOUT HDLAYOUT;
struct HD_HITTESTINFO { struct HD_HITTESTINFO {
@ -3543,7 +3543,7 @@ static if (_WIN32_IE >= 0x300) {
struct NMTTDISPINFOA { struct NMTTDISPINFOA {
NMHDR hdr; NMHDR hdr;
LPSTR lpszText; LPSTR lpszText;
char szText[80]; char[80] szText;
HINSTANCE hinst; HINSTANCE hinst;
UINT uFlags; UINT uFlags;
LPARAM lParam; LPARAM lParam;
@ -3552,7 +3552,7 @@ static if (_WIN32_IE >= 0x300) {
struct NMTTDISPINFOW { struct NMTTDISPINFOW {
NMHDR hdr; NMHDR hdr;
LPWSTR lpszText; LPWSTR lpszText;
WCHAR szText[80]; WCHAR[80] szText;
HINSTANCE hinst; HINSTANCE hinst;
UINT uFlags; UINT uFlags;
LPARAM lParam; LPARAM lParam;
@ -3561,7 +3561,7 @@ static if (_WIN32_IE >= 0x300) {
struct NMTTDISPINFOA { struct NMTTDISPINFOA {
NMHDR hdr; NMHDR hdr;
LPSTR lpszText; LPSTR lpszText;
char szText[80]; char[80] szText;
HINSTANCE hinst; HINSTANCE hinst;
UINT uFlags; UINT uFlags;
} }
@ -3569,7 +3569,7 @@ static if (_WIN32_IE >= 0x300) {
struct NMTTDISPINFOW { struct NMTTDISPINFOW {
NMHDR hdr; NMHDR hdr;
LPWSTR lpszText; LPWSTR lpszText;
WCHAR szText[80]; WCHAR[80] szText;
HINSTANCE hinst; HINSTANCE hinst;
UINT uFlags; UINT uFlags;
} }

View File

@ -302,7 +302,7 @@ interface LPDIRECT3DDEVICE9 : IUnknown
D3DMATRIX ProjectionMatrix; D3DMATRIX ProjectionMatrix;
D3DMATRIX ViewMatrix; D3DMATRIX ViewMatrix;
D3DMATRIX WorldMatrix; D3DMATRIX WorldMatrix;
D3DMATRIX TextureMatrices[8]; D3DMATRIX[8] TextureMatrices;
DWORD FVF; DWORD FVF;
UINT VertexSize; UINT VertexSize;
@ -311,8 +311,8 @@ interface LPDIRECT3DDEVICE9 : IUnknown
BOOL SoftwareVertexProcessing; BOOL SoftwareVertexProcessing;
D3DMATERIAL9 Material; D3DMATERIAL9 Material;
D3DLIGHT9 Lights[16]; D3DLIGHT9[16] Lights;
BOOL LightsEnabled[16]; BOOL[16] LightsEnabled;
D3DGAMMARAMP GammaRamp; D3DGAMMARAMP GammaRamp;
RECT ScissorRect; RECT ScissorRect;

View File

@ -1708,8 +1708,8 @@ const D3DRTYPECOUNT = D3DRTYPE_INDEXBUFFER+1;
struct D3DDEVINFO_RESOURCEMANAGER struct D3DDEVINFO_RESOURCEMANAGER
{ {
//#ifndef WOW64_ENUM_WORKAROUND //#ifndef WOW64_ENUM_WORKAROUND
// D3DRESOURCESTATS stats[D3DRTYPECOUNT]; // D3DRESOURCESTATS[D3DRTYPECOUNT] stats;
D3DRESOURCESTATS stats[8]; D3DRESOURCESTATS[8] stats;
} }
alias D3DDEVINFO_RESOURCEMANAGER* LPD3DDEVINFO_RESOURCEMANAGER; alias D3DDEVINFO_RESOURCEMANAGER* LPD3DDEVINFO_RESOURCEMANAGER;

View File

@ -160,7 +160,7 @@ align(4) struct D3DXFONT_DESCA
BYTE OutputPrecision; BYTE OutputPrecision;
BYTE Quality; BYTE Quality;
BYTE PitchAndFamily; BYTE PitchAndFamily;
CHAR FaceName[LF_FACESIZE]; CHAR[LF_FACESIZE] FaceName;
} }
align(4) struct D3DXFONT_DESCW align(4) struct D3DXFONT_DESCW
@ -174,7 +174,7 @@ align(4) struct D3DXFONT_DESCW
BYTE OutputPrecision; BYTE OutputPrecision;
BYTE Quality; BYTE Quality;
BYTE PitchAndFamily; BYTE PitchAndFamily;
WCHAR FaceName[LF_FACESIZE]; WCHAR[LF_FACESIZE] FaceName;
} }
align(4) struct TEXTMETRICA align(4) struct TEXTMETRICA
@ -1744,36 +1744,36 @@ const char[] XSKINEXP_TEMPLATES =
<B8D65549-D7C9-4995-89CF-53A9A8B031E3> <B8D65549-D7C9-4995-89CF-53A9A8B031E3>
DWORD nIndices; DWORD nIndices;
DWORD nOriginalVertices; DWORD nOriginalVertices;
array DWORD indices[nIndices]; array DWORD[nIndices] indices;
} }
template FaceAdjacency template FaceAdjacency
{ {
<A64C844A-E282-4756-8B80-250CDE04398C> <A64C844A-E282-4756-8B80-250CDE04398C>
DWORD nIndices; DWORD nIndices;
array DWORD indices[nIndices]; array DWORD[nIndices] indices;
} }
template SkinWeights template SkinWeights
{ {
<6F0D123B-BAD2-4167-A0D0-80224F25FABB> <6F0D123B-BAD2-4167-A0D0-80224F25FABB>
STRING transformNodeName; STRING transformNodeName;
DWORD nWeights; DWORD nWeights;
array DWORD vertexIndices[nWeights]; array DWORD[nWeights] vertexIndices;
array float weights[nWeights]; array float[nWeights] weights;
Matrix4x4 matrixOffset; Matrix4x4 matrixOffset;
} }
template Patch template Patch
{ {
<A3EB5D44-FC22-429D-9AFB-3221CB9719A6> <A3EB5D44-FC22-429D-9AFB-3221CB9719A6>
DWORD nControlIndices; DWORD nControlIndices;
array DWORD controlIndices[nControlIndices]; array DWORD[nControlIndices] controlIndices;
} }
template PatchMesh template PatchMesh
{ {
<D02C95CC-EDBA-4305-9B5D-1820D7704BBF> <D02C95CC-EDBA-4305-9B5D-1820D7704BBF>
DWORD nVertices; DWORD nVertices;
array Vector vertices[nVertices]; array Vector[nVertices] vertices;
DWORD nPatches; DWORD nPatches;
array Patch patches[nPatches]; array Patch[nPatches] patches;
[ ... ] [ ... ]
} }
template PatchMesh9 template PatchMesh9
@ -1783,16 +1783,16 @@ const char[] XSKINEXP_TEMPLATES =
DWORD Degree; DWORD Degree;
DWORD Basis; DWORD Basis;
DWORD nVertices; DWORD nVertices;
array Vector vertices[nVertices]; array Vector[nVertices] vertices;
DWORD nPatches; DWORD nPatches;
array Patch patches[nPatches]; array Patch[nPatches] patches;
[ ... ] [ ... ]
} " } "
"template EffectFloats "template EffectFloats
{ {
<F1CFE2B3-0DE3-4e28-AFA1-155A750A282D> <F1CFE2B3-0DE3-4e28-AFA1-155A750A282D>
DWORD nFloats; DWORD nFloats;
array float Floats[nFloats]; array float[nFloats] Floats;
} }
template EffectString template EffectString
{ {
@ -1809,7 +1809,7 @@ const char[] XSKINEXP_TEMPLATES =
<3014B9A0-62F5-478c-9B86-E4AC9F4E418B> <3014B9A0-62F5-478c-9B86-E4AC9F4E418B>
STRING ParamName; STRING ParamName;
DWORD nFloats; DWORD nFloats;
array float Floats[nFloats]; array float[nFloats] Floats;
} " } "
"template EffectParamString "template EffectParamString
{ {
@ -1841,7 +1841,7 @@ const char[] XSKINEXP_TEMPLATES =
FLOAT TicksPerSec; FLOAT TicksPerSec;
DWORD PlaybackType; DWORD PlaybackType;
DWORD BufferLength; DWORD BufferLength;
array DWORD CompressedData[BufferLength]; array DWORD[BufferLength] CompressedData;
} "; } ";
const char[] XEXTENSIONS_TEMPLATES = const char[] XEXTENSIONS_TEMPLATES =
@ -1851,7 +1851,7 @@ const char[] XEXTENSIONS_TEMPLATES =
<B6E70A0E-8EF9-4e83-94AD-ECC8B0C04897> <B6E70A0E-8EF9-4e83-94AD-ECC8B0C04897>
DWORD dwFVF; DWORD dwFVF;
DWORD nDWords; DWORD nDWords;
array DWORD data[nDWords]; array DWORD[nDWords] data;
} }
template VertexElement template VertexElement
{ {
@ -1865,9 +1865,9 @@ const char[] XEXTENSIONS_TEMPLATES =
{ {
<BF22E553-292C-4781-9FEA-62BD554BDD93> <BF22E553-292C-4781-9FEA-62BD554BDD93>
DWORD nElements; DWORD nElements;
array VertexElement Elements[nElements]; array VertexElement[nElements] Elements;
DWORD nDWords; DWORD nDWords;
array DWORD data[nDWords]; array DWORD[nDWords] data;
} }
template PMAttributeRange template PMAttributeRange
{ {
@ -1890,14 +1890,14 @@ const char[] XEXTENSIONS_TEMPLATES =
{ {
<B6C3E656-EC8B-4b92-9B62-681659522947> <B6C3E656-EC8B-4b92-9B62-681659522947>
DWORD nAttributes; DWORD nAttributes;
array PMAttributeRange attributeRanges[nAttributes]; array PMAttributeRange[nAttributes] attributeRanges;
DWORD nMaxValence; DWORD nMaxValence;
DWORD nMinLogicalVertices; DWORD nMinLogicalVertices;
DWORD nMaxLogicalVertices; DWORD nMaxLogicalVertices;
DWORD nVSplits; DWORD nVSplits;
array PMVSplitRecord splitRecords[nVSplits]; array PMVSplitRecord[nVSplits] splitRecords;
DWORD nAttributeMispredicts; DWORD nAttributeMispredicts;
array DWORD attributeMispredicts[nAttributeMispredicts]; array DWORD[nAttributeMispredicts] attributeMispredicts;
} "; } ";
enum : uint enum : uint

View File

@ -24,8 +24,8 @@ struct DIDEVICEINSTANCEA
GUID guidInstance; GUID guidInstance;
GUID guidProduct; GUID guidProduct;
DWORD dwDevType; DWORD dwDevType;
CHAR tszInstanceName[MAX_PATH]; CHAR[MAX_PATH] tszInstanceName;
CHAR tszProductName[MAX_PATH]; CHAR[MAX_PATH] tszProductName;
GUID guidFFDriver; GUID guidFFDriver;
WORD wUsagePage; WORD wUsagePage;
WORD wUsage; WORD wUsage;
@ -39,7 +39,7 @@ struct DIDEVICEOBJECTINSTANCEA
DWORD dwOfs; DWORD dwOfs;
DWORD dwType; DWORD dwType;
DWORD dwFlags; DWORD dwFlags;
CHAR tszName[MAX_PATH]; CHAR[MAX_PATH] tszName;
DWORD dwFFMaxForce; DWORD dwFFMaxForce;
DWORD dwFFForceResolution; DWORD dwFFForceResolution;
WORD wCollectionNumber; WORD wCollectionNumber;
@ -103,7 +103,7 @@ struct DIACTIONFORMATA
HINSTANCE hInstString; HINSTANCE hInstString;
FILETIME ftTimeStamp; FILETIME ftTimeStamp;
DWORD dwCRC; DWORD dwCRC;
CHAR tszActionMap[MAX_PATH]; CHAR[MAX_PATH] tszActionMap;
} }
struct DIDEVCAPS struct DIDEVCAPS
@ -182,7 +182,7 @@ struct DIEFFECTINFOA
DWORD dwEffType; DWORD dwEffType;
DWORD dwStaticParams; DWORD dwStaticParams;
DWORD dwDynamicParams; DWORD dwDynamicParams;
CHAR tszName[MAX_PATH]; CHAR[MAX_PATH] tszName;
} }
struct DIFILEEFFECT struct DIFILEEFFECT
@ -190,21 +190,21 @@ struct DIFILEEFFECT
DWORD dwSize; DWORD dwSize;
GUID GuidEffect; GUID GuidEffect;
DIEFFECT* lpDiEffect; DIEFFECT* lpDiEffect;
CHAR szFriendlyName[MAX_PATH]; CHAR[MAX_PATH] szFriendlyName;
} }
struct DIDEVICEIMAGEINFOA struct DIDEVICEIMAGEINFOA
{ {
CHAR tszImagePath[MAX_PATH]; CHAR[MAX_PATH] tszImagePath;
DWORD dwFlags; DWORD dwFlags;
// These are valid if DIDIFT_OVERLAY is present in dwFlags. // These are valid if DIDIFT_OVERLAY is present in dwFlags.
DWORD dwViewID; DWORD dwViewID;
RECT rcOverlay; RECT rcOverlay;
DWORD dwObjID; DWORD dwObjID;
DWORD dwcValidPts; DWORD dwcValidPts;
POINT rgptCalloutLine[5]; POINT[5] rgptCalloutLine;
RECT rcCalloutRect; RECT rcCalloutRect;
DWORD dwTextAlign; DWORD dwTextAlign;
} }
struct DIDEVICEIMAGEINFOHEADERA struct DIDEVICEIMAGEINFOHEADERA
@ -250,20 +250,20 @@ struct DIMOUSESTATE2
LONG lX; LONG lX;
LONG lY; LONG lY;
LONG lZ; LONG lZ;
BYTE rgbButtons[8]; BYTE[8] rgbButtons;
} }
struct DIJOYSTATE struct DIJOYSTATE
{ {
LONG lX; /* x-axis position */ LONG lX; /* x-axis position */
LONG lY; /* y-axis position */ LONG lY; /* y-axis position */
LONG lZ; /* z-axis position */ LONG lZ; /* z-axis position */
LONG lRx; /* x-axis rotation */ LONG lRx; /* x-axis rotation */
LONG lRy; /* y-axis rotation */ LONG lRy; /* y-axis rotation */
LONG lRz; /* z-axis rotation */ LONG lRz; /* z-axis rotation */
LONG rglSlider[2]; /* extra axes positions */ LONG[2] rglSlider; /* extra axes positions */
DWORD rgdwPOV[4]; /* POV directions */ DWORD[4] rgdwPOV; /* POV directions */
BYTE rgbButtons[32]; /* 32 buttons */ BYTE[32] rgbButtons; /* 32 buttons */
} }
struct DIPROPRANGE struct DIPROPRANGE

View File

@ -74,7 +74,7 @@ struct OLECMDTEXT {
DWORD cmdtextf; DWORD cmdtextf;
ULONG cwActual; ULONG cwActual;
ULONG cwBuf; ULONG cwBuf;
wchar rgwz[1]; wchar[1] rgwz;
} }
struct OLECMD { struct OLECMD {

10
3rdparty/win32/imm.d vendored
View File

@ -301,7 +301,7 @@ struct CANDIDATELIST{
DWORD dwSelection; DWORD dwSelection;
DWORD dwPageStart; DWORD dwPageStart;
DWORD dwPageSize; DWORD dwPageSize;
DWORD dwOffset[1]; DWORD[1] dwOffset;
} }
alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST; alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST;
@ -319,13 +319,13 @@ alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW;
struct STYLEBUFA{ struct STYLEBUFA{
DWORD dwStyle; DWORD dwStyle;
CHAR szDescription[STYLE_DESCRIPTION_SIZE]; CHAR[STYLE_DESCRIPTION_SIZE] szDescription;
} }
alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA; alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA;
struct STYLEBUFW{ struct STYLEBUFW{
DWORD dwStyle; DWORD dwStyle;
WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; WCHAR[STYLE_DESCRIPTION_SIZE] szDescription;
} }
alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW; alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW;
@ -337,7 +337,7 @@ struct IMEMENUITEMINFOA{
HBITMAP hbmpChecked; HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked; HBITMAP hbmpUnchecked;
DWORD dwItemData; DWORD dwItemData;
CHAR szString[IMEMENUITEM_STRING_SIZE]; CHAR[IMEMENUITEM_STRING_SIZE] szString;
HBITMAP hbmpItem; HBITMAP hbmpItem;
} }
alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA; alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA;
@ -350,7 +350,7 @@ struct IMEMENUITEMINFOW{
HBITMAP hbmpChecked; HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked; HBITMAP hbmpUnchecked;
DWORD dwItemData; DWORD dwItemData;
WCHAR szString[IMEMENUITEM_STRING_SIZE]; WCHAR[IMEMENUITEM_STRING_SIZE] szString;
HBITMAP hbmpItem; HBITMAP hbmpItem;
} }
alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW; alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW;

View File

@ -352,13 +352,13 @@ struct USER_INFO_20 {
alias USER_INFO_20* PUSER_INFO_20, LPUSER_INFO_20; alias USER_INFO_20* PUSER_INFO_20, LPUSER_INFO_20;
struct USER_INFO_21 { struct USER_INFO_21 {
BYTE usri21_password[ENCRYPTED_PWLEN]; BYTE[ENCRYPTED_PWLEN] usri21_password;
} }
alias USER_INFO_21* PUSER_INFO_21, LPUSER_INFO_21; alias USER_INFO_21* PUSER_INFO_21, LPUSER_INFO_21;
struct USER_INFO_22{ struct USER_INFO_22{
LPWSTR usri22_name; LPWSTR usri22_name;
BYTE usri22_password[ENCRYPTED_PWLEN]; BYTE[ENCRYPTED_PWLEN] usri22_password;
DWORD usri22_password_age; DWORD usri22_password_age;
DWORD usri22_priv; DWORD usri22_priv;
LPWSTR usri22_home_dir; LPWSTR usri22_home_dir;

View File

@ -1036,7 +1036,7 @@ struct MMTIME {
BYTE frame; BYTE frame;
BYTE fps; BYTE fps;
BYTE dummy; BYTE dummy;
BYTE pad[2]; BYTE[2] pad;
}; };
struct midi { struct midi {
DWORD songptrpos; DWORD songptrpos;
@ -1100,7 +1100,7 @@ struct WAVEOUTCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN]; CHAR[MAXPNAMELEN] szPname;
DWORD dwFormats; DWORD dwFormats;
WORD wChannels; WORD wChannels;
WORD wReserved1; WORD wReserved1;
@ -1112,7 +1112,7 @@ struct WAVEOUTCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
WCHAR szPname[MAXPNAMELEN]; WCHAR[MAXPNAMELEN] szPname;
DWORD dwFormats; DWORD dwFormats;
WORD wChannels; WORD wChannels;
WORD wReserved1; WORD wReserved1;
@ -1124,7 +1124,7 @@ struct WAVEINCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN]; CHAR[MAXPNAMELEN] szPname;
DWORD dwFormats; DWORD dwFormats;
WORD wChannels; WORD wChannels;
WORD wReserved1; WORD wReserved1;
@ -1135,7 +1135,7 @@ struct WAVEINCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
WCHAR szPname[MAXPNAMELEN]; WCHAR[MAXPNAMELEN] szPname;
DWORD dwFormats; DWORD dwFormats;
WORD wChannels; WORD wChannels;
WORD wReserved1; WORD wReserved1;
@ -1179,16 +1179,16 @@ alias HMIDIIN* LPHMIDIIN;
alias HMIDIOUT* LPHMIDIOUT; alias HMIDIOUT* LPHMIDIOUT;
alias HMIDISTRM* LPHMIDISTRM; alias HMIDISTRM* LPHMIDISTRM;
alias WORD PATCHARRAY[MIDIPATCHSIZE]; alias WORD[MIDIPATCHSIZE] PATCHARRAY;
alias WORD* LPPATCHARRAY; alias WORD* LPPATCHARRAY;
alias WORD KEYARRAY[MIDIPATCHSIZE]; alias WORD[MIDIPATCHSIZE] KEYARRAY;
alias WORD* LPKEYARRAY; alias WORD* LPKEYARRAY;
struct MIDIOUTCAPSA { struct MIDIOUTCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN]; CHAR[MAXPNAMELEN] szPname;
WORD wTechnology; WORD wTechnology;
WORD wVoices; WORD wVoices;
WORD wNotes; WORD wNotes;
@ -1201,7 +1201,7 @@ struct MIDIOUTCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
WCHAR szPname[MAXPNAMELEN]; WCHAR[MAXPNAMELEN] szPname;
WORD wTechnology; WORD wTechnology;
WORD wVoices; WORD wVoices;
WORD wNotes; WORD wNotes;
@ -1214,7 +1214,7 @@ struct MIDIINCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN]; CHAR[MAXPNAMELEN] szPname;
DWORD dwSupport; DWORD dwSupport;
} }
alias MIDIINCAPSA* PMIDIINCAPSA, LPMIDIINCAPSA; alias MIDIINCAPSA* PMIDIINCAPSA, LPMIDIINCAPSA;
@ -1223,7 +1223,7 @@ struct MIDIINCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
WCHAR szPname[MAXPNAMELEN]; WCHAR[MAXPNAMELEN] szPname;
DWORD dwSupport; DWORD dwSupport;
} }
alias MIDIINCAPSW* PMIDIINCAPSW, LPMIDIINCAPSW; alias MIDIINCAPSW* PMIDIINCAPSW, LPMIDIINCAPSW;
@ -1237,7 +1237,7 @@ struct MIDIHDR {
MIDIHDR *lpNext; MIDIHDR *lpNext;
DWORD reserved; DWORD reserved;
DWORD dwOffset; DWORD dwOffset;
DWORD dwReserved[8]; DWORD[8] dwReserved;
} }
alias MIDIHDR* PMIDIHDR, LPMIDIHDR; alias MIDIHDR* PMIDIHDR, LPMIDIHDR;
@ -1245,7 +1245,7 @@ struct MIDIEVENT {
DWORD dwDeltaTime; DWORD dwDeltaTime;
DWORD dwStreamID; DWORD dwStreamID;
DWORD dwEvent; DWORD dwEvent;
DWORD dwParms[1]; DWORD[1] dwParms;
} }
struct MIDISTRMBUFFVER { struct MIDISTRMBUFFVER {
@ -1270,7 +1270,7 @@ struct AUXCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN]; CHAR[MAXPNAMELEN] szPname;
WORD wTechnology; WORD wTechnology;
WORD wReserved1; WORD wReserved1;
DWORD dwSupport; DWORD dwSupport;
@ -1281,7 +1281,7 @@ struct AUXCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
WCHAR szPname[MAXPNAMELEN]; WCHAR[MAXPNAMELEN] szPname;
WORD wTechnology; WORD wTechnology;
WORD wReserved1; WORD wReserved1;
DWORD dwSupport; DWORD dwSupport;
@ -1298,7 +1298,7 @@ struct MIXERCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN]; CHAR[MAXPNAMELEN] szPname;
DWORD fdwSupport; DWORD fdwSupport;
DWORD cDestinations; DWORD cDestinations;
} }
@ -1308,7 +1308,7 @@ struct MIXERCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
WCHAR szPname[MAXPNAMELEN]; WCHAR[MAXPNAMELEN] szPname;
DWORD fdwSupport; DWORD fdwSupport;
DWORD cDestinations; DWORD cDestinations;
} }
@ -1325,15 +1325,15 @@ struct MIXERLINEA {
DWORD cChannels; DWORD cChannels;
DWORD cConnections; DWORD cConnections;
DWORD cControls; DWORD cControls;
CHAR szShortName[MIXER_SHORT_NAME_CHARS]; CHAR[MIXER_SHORT_NAME_CHARS] szShortName;
CHAR szName[MIXER_LONG_NAME_CHARS]; CHAR[MIXER_LONG_NAME_CHARS] szName;
struct Target { struct Target {
DWORD dwType; DWORD dwType;
DWORD dwDeviceID; DWORD dwDeviceID;
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN]; CHAR[MAXPNAMELEN] szPname;
} }
} }
alias MIXERLINEA* PMIXERLINEA, LPMIXERLINEA; alias MIXERLINEA* PMIXERLINEA, LPMIXERLINEA;
@ -1349,15 +1349,15 @@ struct MIXERLINEW {
DWORD cChannels; DWORD cChannels;
DWORD cConnections; DWORD cConnections;
DWORD cControls; DWORD cControls;
WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; WCHAR[MIXER_SHORT_NAME_CHARS] szShortName;
WCHAR szName[MIXER_LONG_NAME_CHARS]; WCHAR[MIXER_LONG_NAME_CHARS] szName;
struct Target { struct Target {
DWORD dwType; DWORD dwType;
DWORD dwDeviceID; DWORD dwDeviceID;
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
MMVERSION vDriverVersion; MMVERSION vDriverVersion;
WCHAR szPname[MAXPNAMELEN]; WCHAR[MAXPNAMELEN] szPname;
} }
} }
alias MIXERLINEW* PMIXERLINEW, LPMIXERLINEW; alias MIXERLINEW* PMIXERLINEW, LPMIXERLINEW;
@ -1368,8 +1368,8 @@ struct MIXERCONTROLA {
DWORD dwControlType; DWORD dwControlType;
DWORD fdwControl; DWORD fdwControl;
DWORD cMultipleItems; DWORD cMultipleItems;
CHAR szShortName[MIXER_SHORT_NAME_CHARS]; CHAR[MIXER_SHORT_NAME_CHARS] szShortName;
CHAR szName[MIXER_LONG_NAME_CHARS]; CHAR[MIXER_LONG_NAME_CHARS] szName;
union _Bounds { union _Bounds {
struct { struct {
LONG lMinimum; LONG lMinimum;
@ -1379,13 +1379,13 @@ struct MIXERCONTROLA {
DWORD dwMinimum; DWORD dwMinimum;
DWORD dwMaximum; DWORD dwMaximum;
} }
DWORD dwReserved[6]; DWORD[6] dwReserved;
} }
_Bounds Bounds; _Bounds Bounds;
union _Metrics { union _Metrics {
DWORD cSteps; DWORD cSteps;
DWORD cbCustomData; DWORD cbCustomData;
DWORD dwReserved[6]; DWORD[6] dwReserved;
} }
_Metrics Metrics; _Metrics Metrics;
} }
@ -1397,8 +1397,8 @@ struct MIXERCONTROLW {
DWORD dwControlType; DWORD dwControlType;
DWORD fdwControl; DWORD fdwControl;
DWORD cMultipleItems; DWORD cMultipleItems;
WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; WCHAR[MIXER_SHORT_NAME_CHARS] szShortName;
WCHAR szName[MIXER_LONG_NAME_CHARS]; WCHAR[MIXER_LONG_NAME_CHARS] szName;
union _Bounds { union _Bounds {
struct { struct {
LONG lMinimum; LONG lMinimum;
@ -1408,13 +1408,13 @@ struct MIXERCONTROLW {
DWORD dwMinimum; DWORD dwMinimum;
DWORD dwMaximum; DWORD dwMaximum;
} }
DWORD dwReserved[6]; DWORD[6] dwReserved;
} }
_Bounds Bounds; _Bounds Bounds;
union _Metrics { union _Metrics {
DWORD cSteps; DWORD cSteps;
DWORD cbCustomData; DWORD cbCustomData;
DWORD dwReserved[6]; DWORD[6] dwReserved;
} }
_Metrics Metrics; _Metrics Metrics;
} }
@ -1463,14 +1463,14 @@ alias MIXERCONTROLDETAILS* PMIXERCONTROLDETAILS, LPMIXERCONTROLDETAILS;
struct MIXERCONTROLDETAILS_LISTTEXTA { struct MIXERCONTROLDETAILS_LISTTEXTA {
DWORD dwParam1; DWORD dwParam1;
DWORD dwParam2; DWORD dwParam2;
CHAR szName[MIXER_LONG_NAME_CHARS]; CHAR[MIXER_LONG_NAME_CHARS] szName;
} }
alias MIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA, LPMIXERCONTROLDETAILS_LISTTEXTA; alias MIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA, LPMIXERCONTROLDETAILS_LISTTEXTA;
struct MIXERCONTROLDETAILS_LISTTEXTW { struct MIXERCONTROLDETAILS_LISTTEXTW {
DWORD dwParam1; DWORD dwParam1;
DWORD dwParam2; DWORD dwParam2;
WCHAR szName[MIXER_LONG_NAME_CHARS]; WCHAR[MIXER_LONG_NAME_CHARS] szName;
} }
alias MIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW, LPMIXERCONTROLDETAILS_LISTTEXTW; alias MIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW, LPMIXERCONTROLDETAILS_LISTTEXTW;
@ -1500,7 +1500,7 @@ alias TIMECAPS* PTIMECAPS, LPTIMECAPS;
struct JOYCAPSA { struct JOYCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
CHAR szPname[MAXPNAMELEN]; CHAR[MAXPNAMELEN] szPname;
UINT wXmin; UINT wXmin;
UINT wXmax; UINT wXmax;
UINT wYmin; UINT wYmin;
@ -1520,15 +1520,15 @@ struct JOYCAPSA {
UINT wMaxAxes; UINT wMaxAxes;
UINT wNumAxes; UINT wNumAxes;
UINT wMaxButtons; UINT wMaxButtons;
CHAR szRegKey[MAXPNAMELEN]; CHAR[MAXPNAMELEN] szRegKey;
CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; CHAR[MAX_JOYSTICKOEMVXDNAME] szOEMVxD;
} }
alias JOYCAPSA* PJOYCAPSA, LPJOYCAPSA; alias JOYCAPSA* PJOYCAPSA, LPJOYCAPSA;
struct JOYCAPSW { struct JOYCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
WCHAR szPname[MAXPNAMELEN]; WCHAR[MAXPNAMELEN] szPname;
UINT wXmin; UINT wXmin;
UINT wXmax; UINT wXmax;
UINT wYmin; UINT wYmin;
@ -1548,8 +1548,8 @@ struct JOYCAPSW {
UINT wMaxAxes; UINT wMaxAxes;
UINT wNumAxes; UINT wNumAxes;
UINT wMaxButtons; UINT wMaxButtons;
WCHAR szRegKey[MAXPNAMELEN]; WCHAR[MAXPNAMELEN] szRegKey;
WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; WCHAR[MAX_JOYSTICKOEMVXDNAME] szOEMVxD;
} }
alias JOYCAPSW* PJOYCAPSW, LPJOYCAPSW; alias JOYCAPSW* PJOYCAPSW, LPJOYCAPSW;
@ -1598,7 +1598,7 @@ struct MMIOINFO {
HPSTR pchEndWrite; HPSTR pchEndWrite;
LONG lBufOffset; LONG lBufOffset;
LONG lDiskOffset; LONG lDiskOffset;
DWORD adwInfo[3]; DWORD[3] adwInfo;
DWORD dwReserved1; DWORD dwReserved1;
DWORD dwReserved2; DWORD dwReserved2;
HMMIO hmmio; HMMIO hmmio;

View File

@ -212,7 +212,7 @@ struct NCB {
extern (Windows) void function(NCB*) ncb_post; extern (Windows) void function(NCB*) ncb_post;
UCHAR ncb_lana_num; UCHAR ncb_lana_num;
UCHAR ncb_cmd_cplt; UCHAR ncb_cmd_cplt;
UCHAR ncb_reserve[10]; UCHAR[10] ncb_reserve;
HANDLE ncb_event; HANDLE ncb_event;
} }
alias NCB* PNCB; alias NCB* PNCB;

View File

@ -112,7 +112,7 @@ struct SECPKG_SUPPLEMENTAL_CRED {
alias SECPKG_SUPPLEMENTAL_CRED* PSECPKG_SUPPLEMENTAL_CRED; alias SECPKG_SUPPLEMENTAL_CRED* PSECPKG_SUPPLEMENTAL_CRED;
struct SECPKG_SUPPLEMENTAL_CRED_ARRAY { struct SECPKG_SUPPLEMENTAL_CRED_ARRAY {
ULONG CredentialCount; ULONG CredentialCount;
SECPKG_SUPPLEMENTAL_CRED Credentials[1]; SECPKG_SUPPLEMENTAL_CRED[1] Credentials;
} }
alias SECPKG_SUPPLEMENTAL_CRED_ARRAY* PSECPKG_SUPPLEMENTAL_CRED_ARRAY; alias SECPKG_SUPPLEMENTAL_CRED_ARRAY* PSECPKG_SUPPLEMENTAL_CRED_ARRAY;
struct SECPKG_PARAMETERS { struct SECPKG_PARAMETERS {
@ -145,12 +145,12 @@ alias SECURITY_USER_DATA* PSECURITY_USER_DATA,PSecurityUserData;
alias SECURITY_USER_DATA SecurityUserData; alias SECURITY_USER_DATA SecurityUserData;
struct SECPKG_GSS_INFO { struct SECPKG_GSS_INFO {
ULONG EncodedIdLength; ULONG EncodedIdLength;
UCHAR EncodedId[4]; UCHAR[4] EncodedId;
} }
alias SECPKG_GSS_INFO* PSECPKG_GSS_INFO; alias SECPKG_GSS_INFO* PSECPKG_GSS_INFO;
struct SECPKG_CONTEXT_THUNKS { struct SECPKG_CONTEXT_THUNKS {
ULONG InfoLevelCount; ULONG InfoLevelCount;
ULONG Levels[1]; ULONG[1] Levels;
} }
alias SECPKG_CONTEXT_THUNKS* PSECPKG_CONTEXT_THUNKS; alias SECPKG_CONTEXT_THUNKS* PSECPKG_CONTEXT_THUNKS;
struct SECPKG_MUTUAL_AUTH_LEVEL { struct SECPKG_MUTUAL_AUTH_LEVEL {

View File

@ -161,7 +161,7 @@ struct _wireSAFEARRAY {
ULONG cbElements; ULONG cbElements;
ULONG cLocks; ULONG cLocks;
SAFEARRAYUNION uArrayStructs; SAFEARRAYUNION uArrayStructs;
SAFEARRAYBOUND rgsabound[1]; SAFEARRAYBOUND[1] rgsabound;
} }
alias _wireSAFEARRAY* wireSAFEARRAY; alias _wireSAFEARRAY* wireSAFEARRAY;
@ -173,7 +173,7 @@ struct SAFEARRAY {
ULONG cbElements; ULONG cbElements;
ULONG cLocks; ULONG cLocks;
PVOID pvData; PVOID pvData;
SAFEARRAYBOUND rgsabound[1]; SAFEARRAYBOUND[1] rgsabound;
} }
alias SAFEARRAY* LPSAFEARRAY; alias SAFEARRAY* LPSAFEARRAY;
@ -316,7 +316,7 @@ struct TYPEDESC {
struct ARRAYDESC { struct ARRAYDESC {
TYPEDESC tdescElem; TYPEDESC tdescElem;
USHORT cDims; USHORT cDims;
SAFEARRAYBOUND rgbounds[1]; SAFEARRAYBOUND[1] rgbounds;
} }
struct PARAMDESCEX { struct PARAMDESCEX {

View File

@ -91,7 +91,7 @@ struct DVTARGETDEVICE {
WORD tdDeviceNameOffset; WORD tdDeviceNameOffset;
WORD tdPortNameOffset; WORD tdPortNameOffset;
WORD tdExtDevmodeOffset; WORD tdExtDevmodeOffset;
BYTE tdData[1]; BYTE[1] tdData;
} }
struct FORMATETC { struct FORMATETC {
@ -109,7 +109,7 @@ struct RemSTGMEDIUM {
ULONG pData; ULONG pData;
uint pUnkForRelease; uint pUnkForRelease;
uint cbData; uint cbData;
BYTE data[1]; BYTE[1] data;
} }
struct HLITEM { struct HLITEM {
@ -226,7 +226,7 @@ struct RPCOLEMESSAGE {
PVOID Buffer; PVOID Buffer;
ULONG cbBuffer; ULONG cbBuffer;
ULONG iMethod; ULONG iMethod;
PVOID reserved2[5]; PVOID[5] reserved2;
ULONG rpcFlags; ULONG rpcFlags;
} }
alias RPCOLEMESSAGE* PRPCOLEMESSAGE; alias RPCOLEMESSAGE* PRPCOLEMESSAGE;
@ -250,7 +250,7 @@ enum MKREDUCE {
struct RemSNB { struct RemSNB {
uint ulCntStr; uint ulCntStr;
uint ulCntChar; uint ulCntChar;
OLECHAR rgString[1]; OLECHAR[1] rgString;
} }
enum ADVF { enum ADVF {

View File

@ -543,7 +543,7 @@ struct OLEUICHANGEICONW {
HRSRC hResource; HRSRC hResource;
HGLOBAL hMetaPict; HGLOBAL hMetaPict;
CLSID clsid; CLSID clsid;
WCHAR szIconExe[MAX_PATH]; WCHAR[MAX_PATH] szIconExe;
int cchIconExe; int cchIconExe;
} }
alias OLEUICHANGEICONW* POLEUICHANGEICONW, LPOLEUICHANGEICONW; alias OLEUICHANGEICONW* POLEUICHANGEICONW, LPOLEUICHANGEICONW;
@ -560,7 +560,7 @@ struct OLEUICHANGEICONA {
HRSRC hResource; HRSRC hResource;
HGLOBAL hMetaPict; HGLOBAL hMetaPict;
CLSID clsid; CLSID clsid;
CHAR szIconExe[MAX_PATH]; CHAR[MAX_PATH] szIconExe;
int cchIconExe; int cchIconExe;
} }
alias OLEUICHANGEICONA* POLEUICHANGEICONA, LPOLEUICHANGEICONA; alias OLEUICHANGEICONA* POLEUICHANGEICONA, LPOLEUICHANGEICONA;
@ -658,7 +658,7 @@ struct OLEUICHANGESOURCEW {
LPCWSTR lpszTemplate; LPCWSTR lpszTemplate;
HRSRC hResource; HRSRC hResource;
OPENFILENAMEW* lpOFN; OPENFILENAMEW* lpOFN;
DWORD dwReserved1[4]; DWORD[4] dwReserved1;
LPOLEUILINKCONTAINERW lpOleUILinkContainer; LPOLEUILINKCONTAINERW lpOleUILinkContainer;
DWORD dwLink; DWORD dwLink;
LPWSTR lpszDisplayName; LPWSTR lpszDisplayName;
@ -679,7 +679,7 @@ struct OLEUICHANGESOURCEA {
LPCSTR lpszTemplate; LPCSTR lpszTemplate;
HRSRC hResource; HRSRC hResource;
OPENFILENAMEA *lpOFN; OPENFILENAMEA *lpOFN;
DWORD dwReserved1[4]; DWORD[4] dwReserved1;
LPOLEUILINKCONTAINERA lpOleUILinkContainer; LPOLEUILINKCONTAINERA lpOleUILinkContainer;
DWORD dwLink; DWORD dwLink;
LPSTR lpszDisplayName; LPSTR lpszDisplayName;
@ -752,10 +752,10 @@ alias IOleUILinkInfoA LPOLEUILINKINFOA;
struct OLEUIGNRLPROPSW { struct OLEUIGNRLPROPSW {
DWORD cbStruct; DWORD cbStruct;
DWORD dwFlags; DWORD dwFlags;
DWORD dwReserved1[2]; DWORD[2] dwReserved1;
LPFNOLEUIHOOK lpfnHook; LPFNOLEUIHOOK lpfnHook;
LPARAM lCustData; LPARAM lCustData;
DWORD dwReserved2[3]; DWORD[3] dwReserved2;
OLEUIOBJECTPROPSW* lpOP; OLEUIOBJECTPROPSW* lpOP;
} }
alias OLEUIGNRLPROPSW* POLEUIGNRLPROPSW, LPOLEUIGNRLPROPSW; alias OLEUIGNRLPROPSW* POLEUIGNRLPROPSW, LPOLEUIGNRLPROPSW;
@ -763,10 +763,10 @@ alias OLEUIGNRLPROPSW* POLEUIGNRLPROPSW, LPOLEUIGNRLPROPSW;
struct OLEUIGNRLPROPSA { struct OLEUIGNRLPROPSA {
DWORD cbStruct; DWORD cbStruct;
DWORD dwFlags; DWORD dwFlags;
DWORD dwReserved1[2]; DWORD[2] dwReserved1;
LPFNOLEUIHOOK lpfnHook; LPFNOLEUIHOOK lpfnHook;
LPARAM lCustData; LPARAM lCustData;
DWORD dwReserved2[3]; DWORD[3] dwReserved2;
OLEUIOBJECTPROPSA* lpOP; OLEUIOBJECTPROPSA* lpOP;
} }
alias OLEUIGNRLPROPSA* POLEUIGNRLPROPSA, LPOLEUIGNRLPROPSA; alias OLEUIGNRLPROPSA* POLEUIGNRLPROPSA, LPOLEUIGNRLPROPSA;
@ -774,10 +774,10 @@ alias OLEUIGNRLPROPSA* POLEUIGNRLPROPSA, LPOLEUIGNRLPROPSA;
struct OLEUIVIEWPROPSW { struct OLEUIVIEWPROPSW {
DWORD cbStruct; DWORD cbStruct;
DWORD dwFlags; DWORD dwFlags;
DWORD dwReserved1[2]; DWORD[2] dwReserved1;
LPFNOLEUIHOOK lpfnHook; LPFNOLEUIHOOK lpfnHook;
LPARAM lCustData; LPARAM lCustData;
DWORD dwReserved2[3]; DWORD[3] dwReserved2;
OLEUIOBJECTPROPSW* lpOP; OLEUIOBJECTPROPSW* lpOP;
int nScaleMin; int nScaleMin;
int nScaleMax; int nScaleMax;
@ -787,10 +787,10 @@ alias OLEUIVIEWPROPSW* POLEUIVIEWPROPSW, LPOLEUIVIEWPROPSW;
struct OLEUIVIEWPROPSA { struct OLEUIVIEWPROPSA {
DWORD cbStruct; DWORD cbStruct;
DWORD dwFlags; DWORD dwFlags;
DWORD dwReserved1[2]; DWORD[2] dwReserved1;
LPFNOLEUIHOOK lpfnHook; LPFNOLEUIHOOK lpfnHook;
LPARAM lCustData; LPARAM lCustData;
DWORD dwReserved2[3]; DWORD[3] dwReserved2;
OLEUIOBJECTPROPSA *lpOP; OLEUIOBJECTPROPSA *lpOP;
int nScaleMin; int nScaleMin;
int nScaleMax; int nScaleMax;
@ -800,10 +800,10 @@ alias OLEUIVIEWPROPSA* POLEUIVIEWPROPSA, LPOLEUIVIEWPROPSA;
struct OLEUILINKPROPSW { struct OLEUILINKPROPSW {
DWORD cbStruct; DWORD cbStruct;
DWORD dwFlags; DWORD dwFlags;
DWORD dwReserved1[2]; DWORD[2] dwReserved1;
LPFNOLEUIHOOK lpfnHook; LPFNOLEUIHOOK lpfnHook;
LPARAM lCustData; LPARAM lCustData;
DWORD dwReserved2[3]; DWORD[3] dwReserved2;
OLEUIOBJECTPROPSW *lpOP; OLEUIOBJECTPROPSW *lpOP;
} }
alias OLEUILINKPROPSW* POLEUILINKPROPSW, LPOLEUILINKPROPSW; alias OLEUILINKPROPSW* POLEUILINKPROPSW, LPOLEUILINKPROPSW;
@ -811,10 +811,10 @@ alias OLEUILINKPROPSW* POLEUILINKPROPSW, LPOLEUILINKPROPSW;
struct OLEUILINKPROPSA { struct OLEUILINKPROPSA {
DWORD cbStruct; DWORD cbStruct;
DWORD dwFlags; DWORD dwFlags;
DWORD dwReserved1[2]; DWORD[2] dwReserved1;
LPFNOLEUIHOOK lpfnHook; LPFNOLEUIHOOK lpfnHook;
LPARAM lCustData; LPARAM lCustData;
DWORD dwReserved2[3]; DWORD[3] dwReserved2;
OLEUIOBJECTPROPSA* lpOP; OLEUIOBJECTPROPSA* lpOP;
} }
alias OLEUILINKPROPSA* POLEUILINKPROPSA, LPOLEUILINKPROPSA; alias OLEUILINKPROPSA* POLEUILINKPROPSA, LPOLEUILINKPROPSA;

View File

@ -55,7 +55,7 @@ enum DROPEFFECT {
} }
struct OLEMENUGROUPWIDTHS { struct OLEMENUGROUPWIDTHS {
LONG width[6]; LONG[6] width;
} }
alias OLEMENUGROUPWIDTHS* LPOLEMENUGROUPWIDTHS; alias OLEMENUGROUPWIDTHS* LPOLEMENUGROUPWIDTHS;

28
3rdparty/win32/ras.d vendored
View File

@ -233,7 +233,7 @@ struct RASCONNW {
WCHAR szDeviceType[RAS_MaxDeviceType + 1]; WCHAR szDeviceType[RAS_MaxDeviceType + 1];
WCHAR szDeviceName[RAS_MaxDeviceName + 1]; WCHAR szDeviceName[RAS_MaxDeviceName + 1];
static if (_WIN32_WINNT >= 0x401) { static if (_WIN32_WINNT >= 0x401) {
WCHAR szPhonebook[MAX_PATH]; WCHAR[MAX_PATH] szPhonebook;
DWORD dwSubEntry; DWORD dwSubEntry;
} }
static if (_WIN32_WINNT >= 0x500) { static if (_WIN32_WINNT >= 0x500) {
@ -253,7 +253,7 @@ struct RASCONNA {
CHAR szDeviceType[RAS_MaxDeviceType + 1]; CHAR szDeviceType[RAS_MaxDeviceType + 1];
CHAR szDeviceName[RAS_MaxDeviceName + 1]; CHAR szDeviceName[RAS_MaxDeviceName + 1];
static if (_WIN32_WINNT >= 0x401) { static if (_WIN32_WINNT >= 0x401) {
CHAR szPhonebook[MAX_PATH]; CHAR[MAX_PATH] szPhonebook;
DWORD dwSubEntry; DWORD dwSubEntry;
} }
static if (_WIN32_WINNT >= 0x500) { static if (_WIN32_WINNT >= 0x500) {
@ -451,7 +451,7 @@ struct RASPPPLCPW{
BOOL fMultilink; BOOL fMultilink;
DWORD dwTerminateReason; DWORD dwTerminateReason;
DWORD dwServerTerminateReason; DWORD dwServerTerminateReason;
WCHAR szReplyMessage[RAS_MaxReplyMessage]; WCHAR[RAS_MaxReplyMessage] szReplyMessage;
DWORD dwOptions; DWORD dwOptions;
DWORD dwServerOptions; DWORD dwServerOptions;
} }
@ -472,7 +472,7 @@ struct RASPPPLCPA{
BOOL fMultilink; BOOL fMultilink;
DWORD dwTerminateReason; DWORD dwTerminateReason;
DWORD dwServerTerminateReason; DWORD dwServerTerminateReason;
CHAR szReplyMessage[RAS_MaxReplyMessage]; CHAR[RAS_MaxReplyMessage] szReplyMessage;
DWORD dwOptions; DWORD dwOptions;
DWORD dwServerOptions; DWORD dwServerOptions;
} }
@ -542,9 +542,9 @@ struct RASENTRYW {
DWORD dwFrameSize; DWORD dwFrameSize;
DWORD dwfNetProtocols; DWORD dwfNetProtocols;
DWORD dwFramingProtocol; DWORD dwFramingProtocol;
WCHAR szScript[MAX_PATH]; WCHAR[MAX_PATH] szScript;
WCHAR szAutodialDll[MAX_PATH]; WCHAR[MAX_PATH] szAutodialDll;
WCHAR szAutodialFunc[MAX_PATH]; WCHAR[MAX_PATH] szAutodialFunc;
WCHAR szDeviceType[RAS_MaxDeviceType + 1]; WCHAR szDeviceType[RAS_MaxDeviceType + 1];
WCHAR szDeviceName[RAS_MaxDeviceName + 1]; WCHAR szDeviceName[RAS_MaxDeviceName + 1];
WCHAR szX25PadType[RAS_MaxPadType + 1]; WCHAR szX25PadType[RAS_MaxPadType + 1];
@ -568,7 +568,7 @@ struct RASENTRYW {
DWORD dwEncryptionType; DWORD dwEncryptionType;
DWORD dwCustomAuthKey; DWORD dwCustomAuthKey;
GUID guidId; GUID guidId;
WCHAR szCustomDialDll[MAX_PATH]; WCHAR[MAX_PATH] szCustomDialDll;
DWORD dwVpnStrategy; DWORD dwVpnStrategy;
} }
} }
@ -590,9 +590,9 @@ struct RASENTRYA {
DWORD dwFrameSize; DWORD dwFrameSize;
DWORD dwfNetProtocols; DWORD dwfNetProtocols;
DWORD dwFramingProtocol; DWORD dwFramingProtocol;
CHAR szScript[MAX_PATH]; CHAR[MAX_PATH] szScript;
CHAR szAutodialDll[MAX_PATH]; CHAR[MAX_PATH] szAutodialDll;
CHAR szAutodialFunc[MAX_PATH]; CHAR[MAX_PATH] szAutodialFunc;
CHAR szDeviceType[RAS_MaxDeviceType + 1]; CHAR szDeviceType[RAS_MaxDeviceType + 1];
CHAR szDeviceName[RAS_MaxDeviceName + 1]; CHAR szDeviceName[RAS_MaxDeviceName + 1];
CHAR szX25PadType[RAS_MaxPadType + 1]; CHAR szX25PadType[RAS_MaxPadType + 1];
@ -616,7 +616,7 @@ struct RASENTRYA {
DWORD dwEncryptionType; DWORD dwEncryptionType;
DWORD dwCustomAuthKey; DWORD dwCustomAuthKey;
GUID guidId; GUID guidId;
CHAR szCustomDialDll[MAX_PATH]; CHAR[MAX_PATH] szCustomDialDll;
DWORD dwVpnStrategy; DWORD dwVpnStrategy;
} }
} }
@ -702,14 +702,14 @@ static if (_WIN32_WINNT >= 0x500) {
struct RASEAPUSERIDENTITYW{ struct RASEAPUSERIDENTITYW{
WCHAR szUserName[UNLEN + 1]; WCHAR szUserName[UNLEN + 1];
DWORD dwSizeofEapInfo; DWORD dwSizeofEapInfo;
BYTE pbEapInfo[1]; BYTE[1] pbEapInfo;
} }
alias RASEAPUSERIDENTITYW* LPRASEAPUSERIDENTITYW; alias RASEAPUSERIDENTITYW* LPRASEAPUSERIDENTITYW;
struct RASEAPUSERIDENTITYA{ struct RASEAPUSERIDENTITYA{
CHAR szUserName[UNLEN + 1]; CHAR szUserName[UNLEN + 1];
DWORD dwSizeofEapInfo; DWORD dwSizeofEapInfo;
BYTE pbEapInfo[1]; BYTE[1] pbEapInfo;
} }
alias RASEAPUSERIDENTITYA* LPRASEAPUSERIDENTITYA; alias RASEAPUSERIDENTITYA* LPRASEAPUSERIDENTITYA;

View File

@ -317,7 +317,7 @@ struct CHARFORMATA {
COLORREF crTextColor; COLORREF crTextColor;
BYTE bCharSet; BYTE bCharSet;
BYTE bPitchAndFamily; BYTE bPitchAndFamily;
char szFaceName[LF_FACESIZE]; char[LF_FACESIZE] szFaceName;
} }
struct CHARFORMATW { struct CHARFORMATW {
UINT cbSize = this.sizeof; UINT cbSize = this.sizeof;
@ -328,7 +328,7 @@ struct CHARFORMATW {
COLORREF crTextColor; COLORREF crTextColor;
BYTE bCharSet; BYTE bCharSet;
BYTE bPitchAndFamily; BYTE bPitchAndFamily;
WCHAR szFaceName[LF_FACESIZE]; WCHAR[LF_FACESIZE] szFaceName;
} }
struct CHARFORMAT2A { struct CHARFORMAT2A {
@ -340,7 +340,7 @@ struct CHARFORMAT2A {
COLORREF crTextColor; COLORREF crTextColor;
BYTE bCharSet; BYTE bCharSet;
BYTE bPitchAndFamily; BYTE bPitchAndFamily;
char szFaceName[LF_FACESIZE]; char[LF_FACESIZE] szFaceName;
WORD wWeight; WORD wWeight;
SHORT sSpacing; SHORT sSpacing;
COLORREF crBackColor; COLORREF crBackColor;
@ -362,7 +362,7 @@ struct CHARFORMAT2W {
COLORREF crTextColor; COLORREF crTextColor;
BYTE bCharSet; BYTE bCharSet;
BYTE bPitchAndFamily; BYTE bPitchAndFamily;
WCHAR szFaceName[LF_FACESIZE]; WCHAR[LF_FACESIZE] szFaceName;
WORD wWeight; WORD wWeight;
SHORT sSpacing; SHORT sSpacing;
COLORREF crBackColor; COLORREF crBackColor;
@ -486,7 +486,7 @@ struct PARAFORMAT {
LONG dxOffset; LONG dxOffset;
WORD wAlignment; WORD wAlignment;
SHORT cTabCount; SHORT cTabCount;
LONG rgxTabs[MAX_TAB_STOPS]; LONG[MAX_TAB_STOPS] rgxTabs;
} }
struct PARAFORMAT2 { struct PARAFORMAT2 {
@ -499,7 +499,7 @@ struct PARAFORMAT2 {
LONG dxOffset; LONG dxOffset;
WORD wAlignment; WORD wAlignment;
SHORT cTabCount; SHORT cTabCount;
LONG rgxTabs[MAX_TAB_STOPS]; LONG[MAX_TAB_STOPS] rgxTabs;
LONG dySpaceBefore; LONG dySpaceBefore;
LONG dySpaceAfter; LONG dySpaceAfter;
LONG dyLineSpacing; LONG dyLineSpacing;

View File

@ -118,7 +118,7 @@ alias RPC_BINDING_HANDLE handle_t;
struct RPC_BINDING_VECTOR { struct RPC_BINDING_VECTOR {
uint Count; uint Count;
RPC_BINDING_HANDLE BindingH[1]; RPC_BINDING_HANDLE[1] BindingH;
} }
alias RPC_BINDING_HANDLE rpc_binding_handle_t; alias RPC_BINDING_HANDLE rpc_binding_handle_t;
@ -127,7 +127,7 @@ alias RPC_BINDING_VECTOR rpc_binding_vector_t;
struct UUID_VECTOR { struct UUID_VECTOR {
uint Count; uint Count;
UUID* Uuid[1]; UUID*[1] Uuid;
} }
alias void* RPC_IF_HANDLE; alias void* RPC_IF_HANDLE;

View File

@ -100,8 +100,8 @@ const cbNDRContext=20;
alias void * NDR_CCONTEXT; alias void * NDR_CCONTEXT;
struct tagNDR_SCONTEXT { struct tagNDR_SCONTEXT {
void *pad[2]; void*[2] pad;
void *userContext; void* userContext;
} }
alias tagNDR_SCONTEXT * NDR_SCONTEXT; alias tagNDR_SCONTEXT * NDR_SCONTEXT;
@ -211,7 +211,7 @@ struct MIDL_STUB_MESSAGE {
uint * SizePtrLengthArray; uint * SizePtrLengthArray;
void* pArgQueue; void* pArgQueue;
uint dwStubPhase; uint dwStubPhase;
uint w2kReserved[5]; uint[5] w2kReserved;
} }
alias MIDL_STUB_MESSAGE * PMIDL_STUB_MESSAGE; alias MIDL_STUB_MESSAGE * PMIDL_STUB_MESSAGE;
@ -317,7 +317,7 @@ alias void * PMIDL_XMIT_TYPE;
struct MIDL_FORMAT_STRING { struct MIDL_FORMAT_STRING {
short Pad; short Pad;
ubyte Format[1]; ubyte[1] Format;
} }
struct MIDL_SERVER_INFO { struct MIDL_SERVER_INFO {

View File

@ -881,10 +881,10 @@ struct INFCONTEXT {
alias INFCONTEXT* PINFCONTEXT; alias INFCONTEXT* PINFCONTEXT;
struct SP_INF_INFORMATION { struct SP_INF_INFORMATION {
DWORD InfStyle; DWORD InfStyle;
DWORD InfCount; DWORD InfCount;
BYTE _VersionData[1]; BYTE[1] _VersionData;
BYTE* VersionData() { return _VersionData.ptr; } BYTE* VersionData() { return _VersionData.ptr; }
} }
alias SP_INF_INFORMATION* PSP_INF_INFORMATION; alias SP_INF_INFORMATION* PSP_INF_INFORMATION;
@ -899,16 +899,16 @@ struct SP_ALTPLATFORM_INFO {
alias SP_ALTPLATFORM_INFO* PSP_ALTPLATFORM_INFO; alias SP_ALTPLATFORM_INFO* PSP_ALTPLATFORM_INFO;
struct SP_ORIGINAL_FILE_INFO_A { struct SP_ORIGINAL_FILE_INFO_A {
DWORD cbSize = SP_ORIGINAL_FILE_INFO_A.sizeof; DWORD cbSize = SP_ORIGINAL_FILE_INFO_A.sizeof;
CHAR OriginalInfName[MAX_PATH]; CHAR[MAX_PATH] OriginalInfName;
CHAR OriginalCatalogName[MAX_PATH]; CHAR[MAX_PATH] OriginalCatalogName;
} }
alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO_A; alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO_A;
struct SP_ORIGINAL_FILE_INFO_W { struct SP_ORIGINAL_FILE_INFO_W {
DWORD cbSize = SP_ORIGINAL_FILE_INFO_W.sizeof; DWORD cbSize = SP_ORIGINAL_FILE_INFO_W.sizeof;
WCHAR OriginalInfName[MAX_PATH]; WCHAR[MAX_PATH] OriginalInfName;
WCHAR OriginalCatalogName[MAX_PATH]; WCHAR[MAX_PATH] OriginalCatalogName;
} }
alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO_W; alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO_W;
@ -967,24 +967,24 @@ struct CABINET_INFO_W {
alias CABINET_INFO_W* PCABINET_INFO_W; alias CABINET_INFO_W* PCABINET_INFO_W;
struct FILE_IN_CABINET_INFO_A { struct FILE_IN_CABINET_INFO_A {
PCSTR NameInCabinet; PCSTR NameInCabinet;
DWORD FileSize; DWORD FileSize;
DWORD Win32Error; DWORD Win32Error;
WORD DosDate; WORD DosDate;
WORD DosTime; WORD DosTime;
WORD DosAttribs; WORD DosAttribs;
CHAR FullTargetName[MAX_PATH]; CHAR[MAX_PATH] FullTargetName;
} }
alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO_A; alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO_A;
struct FILE_IN_CABINET_INFO_W { struct FILE_IN_CABINET_INFO_W {
PCWSTR NameInCabinet; PCWSTR NameInCabinet;
DWORD FileSize; DWORD FileSize;
DWORD Win32Error; DWORD Win32Error;
WORD DosDate; WORD DosDate;
WORD DosTime; WORD DosTime;
WORD DosAttribs; WORD DosAttribs;
WCHAR FullTargetName[MAX_PATH]; WCHAR[MAX_PATH] FullTargetName;
} }
alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO_W; alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO_W;
@ -1039,16 +1039,16 @@ deprecated alias SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA;
deprecated alias SP_DEVICE_INTERFACE_DATA* PSP_INTERFACE_DEVICE_DATA; deprecated alias SP_DEVICE_INTERFACE_DATA* PSP_INTERFACE_DEVICE_DATA;
struct SP_DEVICE_INTERFACE_DETAIL_DATA_A { struct SP_DEVICE_INTERFACE_DETAIL_DATA_A {
DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_A.sizeof; DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_A.sizeof;
CHAR _DevicePath[1]; CHAR[1] _DevicePath;
CHAR* DevicePath() { return _DevicePath.ptr; } CHAR* DevicePath() { return _DevicePath.ptr; }
} }
alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA_A; alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA_A;
struct SP_DEVICE_INTERFACE_DETAIL_DATA_W { struct SP_DEVICE_INTERFACE_DETAIL_DATA_W {
DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_W.sizeof; DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_W.sizeof;
WCHAR _DevicePath[1]; WCHAR[1] _DevicePath;
WCHAR* DevicePath() { return _DevicePath.ptr; } WCHAR* DevicePath() { return _DevicePath.ptr; }
} }
alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA_W; alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA_W;
@ -1058,18 +1058,18 @@ deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DA
deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_DATA_W; deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_DATA_W;
struct SP_DEVINFO_LIST_DETAIL_DATA_A { struct SP_DEVINFO_LIST_DETAIL_DATA_A {
DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_A.sizeof; DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_A.sizeof;
GUID ClassGuid; GUID ClassGuid;
HANDLE RemoteMachineHandle; HANDLE RemoteMachineHandle;
CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; CHAR[SP_MAX_MACHINENAME_LENGTH] RemoteMachineName;
} }
alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA_A; alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA_A;
struct SP_DEVINFO_LIST_DETAIL_DATA_W { struct SP_DEVINFO_LIST_DETAIL_DATA_W {
DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_W.sizeof; DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_W.sizeof;
GUID ClassGuid; GUID ClassGuid;
HANDLE RemoteMachineHandle; HANDLE RemoteMachineHandle;
WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; WCHAR[SP_MAX_MACHINENAME_LENGTH] RemoteMachineName;
} }
alias SP_DEVINFO_LIST_DETAIL_DATA_W* PSP_DEVINFO_LIST_DETAIL_DATA_W; alias SP_DEVINFO_LIST_DETAIL_DATA_W* PSP_DEVINFO_LIST_DETAIL_DATA_W;
@ -1086,7 +1086,7 @@ struct SP_DEVINSTALL_PARAMS_A {
HSPFILEQ FileQueue; HSPFILEQ FileQueue;
ULONG_PTR ClassInstallReserved; ULONG_PTR ClassInstallReserved;
DWORD Reserved; DWORD Reserved;
CHAR DriverPath[MAX_PATH]; CHAR[MAX_PATH] DriverPath;
} }
alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS_A; alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS_A;
@ -1100,7 +1100,7 @@ struct SP_DEVINSTALL_PARAMS_W {
HSPFILEQ FileQueue; HSPFILEQ FileQueue;
ULONG_PTR ClassInstallReserved; ULONG_PTR ClassInstallReserved;
DWORD Reserved; DWORD Reserved;
WCHAR DriverPath[MAX_PATH]; WCHAR[MAX_PATH] DriverPath;
} }
alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS_W; alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS_W;
@ -1146,21 +1146,21 @@ struct SP_UNREMOVEDEVICE_PARAMS {
alias SP_UNREMOVEDEVICE_PARAMS* PSP_UNREMOVEDEVICE_PARAMS; alias SP_UNREMOVEDEVICE_PARAMS* PSP_UNREMOVEDEVICE_PARAMS;
struct SP_SELECTDEVICE_PARAMS_A { struct SP_SELECTDEVICE_PARAMS_A {
SP_CLASSINSTALL_HEADER ClassInstallHeader; SP_CLASSINSTALL_HEADER ClassInstallHeader;
CHAR Title[MAX_TITLE_LEN]; CHAR[MAX_TITLE_LEN] Title;
CHAR Instructions[MAX_INSTRUCTION_LEN]; CHAR[MAX_INSTRUCTION_LEN] Instructions;
CHAR ListLabel[MAX_LABEL_LEN]; CHAR[MAX_LABEL_LEN] ListLabel;
CHAR SubTitle[MAX_SUBTITLE_LEN]; CHAR[MAX_SUBTITLE_LEN] SubTitle;
BYTE Reserved[2]; BYTE[2] Reserved;
} }
alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS_A; alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS_A;
struct SP_SELECTDEVICE_PARAMS_W { struct SP_SELECTDEVICE_PARAMS_W {
SP_CLASSINSTALL_HEADER ClassInstallHeader; SP_CLASSINSTALL_HEADER ClassInstallHeader;
WCHAR Title[MAX_TITLE_LEN]; WCHAR[MAX_TITLE_LEN] Title;
WCHAR Instructions[MAX_INSTRUCTION_LEN]; WCHAR[MAX_INSTRUCTION_LEN] Instructions;
WCHAR ListLabel[MAX_LABEL_LEN]; WCHAR[MAX_LABEL_LEN] ListLabel;
WCHAR SubTitle[MAX_SUBTITLE_LEN]; WCHAR[MAX_SUBTITLE_LEN] SubTitle;
} }
alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS_W; alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS_W;
@ -1174,23 +1174,23 @@ struct SP_DETECTDEVICE_PARAMS {
alias SP_DETECTDEVICE_PARAMS* PSP_DETECTDEVICE_PARAMS; alias SP_DETECTDEVICE_PARAMS* PSP_DETECTDEVICE_PARAMS;
struct SP_INSTALLWIZARD_DATA { struct SP_INSTALLWIZARD_DATA {
SP_CLASSINSTALL_HEADER ClassInstallHeader; SP_CLASSINSTALL_HEADER ClassInstallHeader;
DWORD Flags; DWORD Flags;
HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; HPROPSHEETPAGE[MAX_INSTALLWIZARD_DYNAPAGES] DynamicPages;
DWORD NumDynamicPages; DWORD NumDynamicPages;
DWORD DynamicPageFlags; DWORD DynamicPageFlags;
DWORD PrivateFlags; DWORD PrivateFlags;
LPARAM PrivateData; LPARAM PrivateData;
HWND hwndWizardDlg; HWND hwndWizardDlg;
} }
alias SP_INSTALLWIZARD_DATA* PSP_INSTALLWIZARD_DATA; alias SP_INSTALLWIZARD_DATA* PSP_INSTALLWIZARD_DATA;
struct SP_NEWDEVICEWIZARD_DATA { struct SP_NEWDEVICEWIZARD_DATA {
SP_CLASSINSTALL_HEADER ClassInstallHeader; SP_CLASSINSTALL_HEADER ClassInstallHeader;
DWORD Flags; DWORD Flags;
HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; HPROPSHEETPAGE[MAX_INSTALLWIZARD_DYNAPAGES] DynamicPages;
DWORD NumDynamicPages; DWORD NumDynamicPages;
HWND hwndWizardDlg; HWND hwndWizardDlg;
} }
alias SP_NEWDEVICEWIZARD_DATA* PSP_NEWDEVICEWIZARD_DATA; alias SP_NEWDEVICEWIZARD_DATA* PSP_NEWDEVICEWIZARD_DATA;
alias SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA; alias SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA;
@ -1198,15 +1198,15 @@ alias SP_NEWDEVICEWIZARD_DATA* PSP_ADDPROPERTYPAGE_DATA;
struct SP_TROUBLESHOOTER_PARAMS_A { struct SP_TROUBLESHOOTER_PARAMS_A {
SP_CLASSINSTALL_HEADER ClassInstallHeader; SP_CLASSINSTALL_HEADER ClassInstallHeader;
CHAR ChmFile[MAX_PATH]; CHAR[MAX_PATH] ChmFile;
CHAR HtmlTroubleShooter[MAX_PATH]; CHAR[MAX_PATH] HtmlTroubleShooter;
} }
alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS_A; alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS_A;
struct SP_TROUBLESHOOTER_PARAMS_W { struct SP_TROUBLESHOOTER_PARAMS_W {
SP_CLASSINSTALL_HEADER ClassInstallHeader; SP_CLASSINSTALL_HEADER ClassInstallHeader;
WCHAR ChmFile[MAX_PATH]; WCHAR[MAX_PATH] ChmFile;
WCHAR HtmlTroubleShooter[MAX_PATH]; WCHAR[MAX_PATH] HtmlTroubleShooter;
} }
alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS_W; alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS_W;
@ -1223,46 +1223,46 @@ struct SP_POWERMESSAGEWAKE_PARAMS_W {
alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS_W; alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS_W;
struct SP_DRVINFO_DATA_V2_A { struct SP_DRVINFO_DATA_V2_A {
DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof;
DWORD DriverType; DWORD DriverType;
ULONG_PTR Reserved; ULONG_PTR Reserved;
CHAR Description[LINE_LEN]; CHAR[LINE_LEN] Description;
CHAR MfgName[LINE_LEN]; CHAR[LINE_LEN] MfgName;
CHAR ProviderName[LINE_LEN]; CHAR[LINE_LEN] ProviderName;
FILETIME DriverDate; FILETIME DriverDate;
DWORDLONG DriverVersion; DWORDLONG DriverVersion;
} }
alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_V2_A; alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_V2_A;
struct SP_DRVINFO_DATA_V2_W { struct SP_DRVINFO_DATA_V2_W {
DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof;
DWORD DriverType; DWORD DriverType;
ULONG_PTR Reserved; ULONG_PTR Reserved;
WCHAR Description[LINE_LEN]; WCHAR[LINE_LEN] Description;
WCHAR MfgName[LINE_LEN]; WCHAR[LINE_LEN] MfgName;
WCHAR ProviderName[LINE_LEN]; WCHAR[LINE_LEN] ProviderName;
FILETIME DriverDate; FILETIME DriverDate;
DWORDLONG DriverVersion; DWORDLONG DriverVersion;
} }
alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_V2_W; alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_V2_W;
struct SP_DRVINFO_DATA_V1_A { struct SP_DRVINFO_DATA_V1_A {
DWORD cbSize = SP_DRVINFO_DATA_V1_A.sizeof; DWORD cbSize = SP_DRVINFO_DATA_V1_A.sizeof;
DWORD DriverType; DWORD DriverType;
ULONG_PTR Reserved; ULONG_PTR Reserved;
CHAR Description[LINE_LEN]; CHAR[LINE_LEN] Description;
CHAR MfgName[LINE_LEN]; CHAR[LINE_LEN] MfgName;
CHAR ProviderName[LINE_LEN]; CHAR[LINE_LEN] ProviderName;
} }
alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_V1_A; alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_V1_A;
struct SP_DRVINFO_DATA_V1_W { struct SP_DRVINFO_DATA_V1_W {
DWORD cbSize = SP_DRVINFO_DATA_V1_W.sizeof; DWORD cbSize = SP_DRVINFO_DATA_V1_W.sizeof;
DWORD DriverType; DWORD DriverType;
ULONG_PTR Reserved; ULONG_PTR Reserved;
WCHAR Description[LINE_LEN]; WCHAR[LINE_LEN] Description;
WCHAR MfgName[LINE_LEN]; WCHAR[LINE_LEN] MfgName;
WCHAR ProviderName[LINE_LEN]; WCHAR[LINE_LEN] ProviderName;
} }
alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_V1_W; alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_V1_W;
@ -1295,29 +1295,29 @@ static if(USE_SP_DRVINFO_DATA_V1) {
extern(Windows) alias DWORD function(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINFO_DATA, PVOID) PSP_DETSIG_CMPPROC; extern(Windows) alias DWORD function(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINFO_DATA, PVOID) PSP_DETSIG_CMPPROC;
struct SP_DRVINFO_DETAIL_DATA_A { struct SP_DRVINFO_DETAIL_DATA_A {
DWORD cbSize = SP_DRVINFO_DETAIL_DATA_A.sizeof; DWORD cbSize = SP_DRVINFO_DETAIL_DATA_A.sizeof;
FILETIME InfDate; FILETIME InfDate;
DWORD CompatIDsOffset; DWORD CompatIDsOffset;
DWORD CompatIDsLength; DWORD CompatIDsLength;
ULONG_PTR Reserved; ULONG_PTR Reserved;
CHAR SectionName[LINE_LEN]; CHAR[LINE_LEN] SectionName;
CHAR InfFileName[MAX_PATH]; CHAR[MAX_PATH] InfFileName;
CHAR DrvDescription[LINE_LEN]; CHAR[LINE_LEN] DrvDescription;
CHAR _HardwareID[1]; CHAR[1] _HardwareID;
CHAR* HardwareID() { return _HardwareID.ptr; } CHAR* HardwareID() { return _HardwareID.ptr; }
} }
alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA_A; alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA_A;
struct SP_DRVINFO_DETAIL_DATA_W { struct SP_DRVINFO_DETAIL_DATA_W {
DWORD cbSize = SP_DRVINFO_DETAIL_DATA_W.sizeof; DWORD cbSize = SP_DRVINFO_DETAIL_DATA_W.sizeof;
FILETIME InfDate; FILETIME InfDate;
DWORD CompatIDsOffset; DWORD CompatIDsOffset;
DWORD CompatIDsLength; DWORD CompatIDsLength;
ULONG_PTR Reserved; ULONG_PTR Reserved;
WCHAR SectionName[LINE_LEN]; WCHAR[LINE_LEN] SectionName;
WCHAR InfFileName[MAX_PATH]; WCHAR[MAX_PATH] InfFileName;
WCHAR DrvDescription[LINE_LEN]; WCHAR[LINE_LEN] DrvDescription;
WCHAR _HardwareID[1]; WCHAR[1] _HardwareID;
WCHAR* HardwareID() { return _HardwareID.ptr; } WCHAR* HardwareID() { return _HardwareID.ptr; }
} }
alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA_W; alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA_W;
@ -1354,16 +1354,16 @@ struct SP_PROPSHEETPAGE_REQUEST {
alias SP_PROPSHEETPAGE_REQUEST* PSP_PROPSHEETPAGE_REQUEST; alias SP_PROPSHEETPAGE_REQUEST* PSP_PROPSHEETPAGE_REQUEST;
struct SP_BACKUP_QUEUE_PARAMS_A { struct SP_BACKUP_QUEUE_PARAMS_A {
DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_A.sizeof; DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_A.sizeof;
CHAR FullInfPath[MAX_PATH]; CHAR[MAX_PATH] FullInfPath;
INT FilenameOffset; INT FilenameOffset;
} }
alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS_A; alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS_A;
struct SP_BACKUP_QUEUE_PARAMS_W { struct SP_BACKUP_QUEUE_PARAMS_W {
DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_W.sizeof; DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_W.sizeof;
WCHAR FullInfPath[MAX_PATH]; WCHAR[MAX_PATH] FullInfPath;
INT FilenameOffset; INT FilenameOffset;
} }
alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS_W; alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS_W;

View File

@ -477,7 +477,7 @@ struct STRRET {
union { union {
LPWSTR pOleStr; LPWSTR pOleStr;
UINT uOffset; UINT uOffset;
char cStr[MAX_PATH]; char[MAX_PATH] cStr;
} }
} }
alias STRRET* LPSTRRET; alias STRRET* LPSTRRET;
@ -504,7 +504,7 @@ struct FILEDESCRIPTORA {
FILETIME ftLastWriteTime; FILETIME ftLastWriteTime;
DWORD nFileSizeHigh; DWORD nFileSizeHigh;
DWORD nFileSizeLow; DWORD nFileSizeLow;
CHAR cFileName[MAX_PATH]; CHAR[MAX_PATH] cFileName;
} }
alias FILEDESCRIPTORA* LPFILEDESCRIPTORA; alias FILEDESCRIPTORA* LPFILEDESCRIPTORA;
@ -519,19 +519,19 @@ struct FILEDESCRIPTORW {
FILETIME ftLastWriteTime; FILETIME ftLastWriteTime;
DWORD nFileSizeHigh; DWORD nFileSizeHigh;
DWORD nFileSizeLow; DWORD nFileSizeLow;
WCHAR cFileName[MAX_PATH]; WCHAR[MAX_PATH] cFileName;
} }
alias FILEDESCRIPTORW* LPFILEDESCRIPTORW; alias FILEDESCRIPTORW* LPFILEDESCRIPTORW;
struct FILEGROUPDESCRIPTORA { struct FILEGROUPDESCRIPTORA {
UINT cItems; UINT cItems;
FILEDESCRIPTORA fgd[1]; FILEDESCRIPTORA[1] fgd;
} }
alias FILEGROUPDESCRIPTORA* LPFILEGROUPDESCRIPTORA; alias FILEGROUPDESCRIPTORA* LPFILEGROUPDESCRIPTORA;
struct FILEGROUPDESCRIPTORW { struct FILEGROUPDESCRIPTORW {
UINT cItems; UINT cItems;
FILEDESCRIPTORW fgd[1]; FILEDESCRIPTORW[1] fgd;
} }
alias FILEGROUPDESCRIPTORW* LPFILEGROUPDESCRIPTORW; alias FILEGROUPDESCRIPTORW* LPFILEGROUPDESCRIPTORW;
@ -591,13 +591,13 @@ struct FVSHOWINFO {
DWORD dwFlags; DWORD dwFlags;
RECT rect; RECT rect;
LPUNKNOWN punkRel; LPUNKNOWN punkRel;
OLECHAR strNewFile[MAX_PATH]; OLECHAR[MAX_PATH] strNewFile;
} }
alias FVSHOWINFO* LPFVSHOWINFO; alias FVSHOWINFO* LPFVSHOWINFO;
struct NRESARRAY { struct NRESARRAY {
UINT cItems; UINT cItems;
NETRESOURCE nr[1]; NETRESOURCE[1] nr;
} }
alias NRESARRAY* LPNRESARRAY; alias NRESARRAY* LPNRESARRAY;
@ -629,8 +629,8 @@ static if (_WIN32_IE >= 0x500) {
struct EXTRASEARCH struct EXTRASEARCH
{ {
GUID guidSearch; GUID guidSearch;
WCHAR wszFriendlyName[80]; WCHAR[80] wszFriendlyName;
WCHAR wszUrl[2084]; WCHAR[2084] wszUrl;
} }
alias EXTRASEARCH* LPEXTRASEARCH; alias EXTRASEARCH* LPEXTRASEARCH;
@ -653,8 +653,8 @@ static if (_WIN32_IE >= 0x500) {
struct PERSIST_FOLDER_TARGET_INFO struct PERSIST_FOLDER_TARGET_INFO
{ {
LPITEMIDLIST pidlTargetFolder; LPITEMIDLIST pidlTargetFolder;
WCHAR szTargetParsingName[MAX_PATH]; WCHAR[MAX_PATH] szTargetParsingName;
WCHAR szNetworkProvider[MAX_PATH]; WCHAR[MAX_PATH] szNetworkProvider;
DWORD dwAttributes; DWORD dwAttributes;
int csidl; int csidl;
} }
@ -696,7 +696,7 @@ static if (_WIN32_IE >= 0x500) {
struct SHCOLUMNINIT { struct SHCOLUMNINIT {
ULONG dwFlags; ULONG dwFlags;
ULONG dwReserved; ULONG dwReserved;
WCHAR wszFolder[MAX_PATH]; WCHAR[MAX_PATH] wszFolder;
} }
alias SHCOLUMNINIT* LPSHCOLUMNINIT; alias SHCOLUMNINIT* LPSHCOLUMNINIT;
alias const(SHCOLUMNINIT)* LPCSHCOLUMNINIT; alias const(SHCOLUMNINIT)* LPCSHCOLUMNINIT;
@ -706,7 +706,7 @@ static if (_WIN32_IE >= 0x500) {
DWORD dwFileAttributes; DWORD dwFileAttributes;
ULONG dwReserved; ULONG dwReserved;
WCHAR *pwszExt; WCHAR *pwszExt;
WCHAR wszFile[MAX_PATH]; WCHAR[MAX_PATH] wszFile;
} }
alias SHCOLUMNDATA* LPSHCOLUMNDATA; alias SHCOLUMNDATA* LPSHCOLUMNDATA;
alias const(SHCOLUMNDATA)* LPCSHCOLUMNDATA; alias const(SHCOLUMNDATA)* LPCSHCOLUMNDATA;
@ -721,8 +721,8 @@ static if (_WIN32_IE >= 0x500) {
DWORD fmt; DWORD fmt;
UINT cChars; UINT cChars;
DWORD csFlags; DWORD csFlags;
WCHAR wszTitle[MAX_COLUMN_NAME_LEN]; WCHAR[MAX_COLUMN_NAME_LEN] wszTitle;
WCHAR wszDescription[MAX_COLUMN_DESC_LEN]; WCHAR[MAX_COLUMN_DESC_LEN] wszDescription;
} }
alias SHCOLUMNINFO* LPSHCOLUMNINFO; alias SHCOLUMNINFO* LPSHCOLUMNINFO;
alias const(SHCOLUMNINFO)* LPCSHCOLUMNINFO; alias const(SHCOLUMNINFO)* LPCSHCOLUMNINFO;

View File

@ -137,7 +137,7 @@ struct SQL_NUMERIC_STRUCT {
SQLCHAR precision; SQLCHAR precision;
SQLSCHAR scale; SQLSCHAR scale;
SQLCHAR sign; SQLCHAR sign;
SQLCHAR val[SQL_MAX_NUMERIC_LEN]; SQLCHAR[SQL_MAX_NUMERIC_LEN] val;
} }
// } ODBCVER >= 0x0300 // } ODBCVER >= 0x0300
alias GUID SQLGUID; alias GUID SQLGUID;

View File

@ -132,22 +132,22 @@ const USER_SESSION_KEY_LENGTH = CYPHER_BLOCK_LENGTH * 2;
const CLEAR_BLOCK_LENGTH = 8; const CLEAR_BLOCK_LENGTH = 8;
struct CYPHER_BLOCK { struct CYPHER_BLOCK {
CHAR data[CYPHER_BLOCK_LENGTH]; CHAR[CYPHER_BLOCK_LENGTH] data;
} }
alias CYPHER_BLOCK* PCYPHER_BLOCK; alias CYPHER_BLOCK* PCYPHER_BLOCK;
struct CLEAR_BLOCK { struct CLEAR_BLOCK {
CHAR data[CLEAR_BLOCK_LENGTH]; CHAR[CLEAR_BLOCK_LENGTH] data;
} }
alias CLEAR_BLOCK* PCLEAR_BLOCK; alias CLEAR_BLOCK* PCLEAR_BLOCK;
struct LM_OWF_PASSWORD { struct LM_OWF_PASSWORD {
CYPHER_BLOCK data[2]; CYPHER_BLOCK[2] data;
} }
alias LM_OWF_PASSWORD* PLM_OWF_PASSWORD; alias LM_OWF_PASSWORD* PLM_OWF_PASSWORD;
struct USER_SESSION_KEY { struct USER_SESSION_KEY {
CYPHER_BLOCK data[2]; CYPHER_BLOCK[2] data;
} }
alias USER_SESSION_KEY* PUSER_SESSION_KEY; alias USER_SESSION_KEY* PUSER_SESSION_KEY;

View File

@ -67,7 +67,7 @@ struct PROCESSENTRY32W {
DWORD th32ParentProcessID; DWORD th32ParentProcessID;
LONG pcPriClassBase; LONG pcPriClassBase;
DWORD dwFlags; DWORD dwFlags;
WCHAR szExeFile[MAX_PATH]; WCHAR[MAX_PATH] szExeFile;
} }
alias PROCESSENTRY32W* PPROCESSENTRY32W; alias PROCESSENTRY32W* PPROCESSENTRY32W;
alias PROCESSENTRY32W* LPPROCESSENTRY32W; alias PROCESSENTRY32W* LPPROCESSENTRY32W;
@ -94,7 +94,7 @@ struct MODULEENTRY32W {
DWORD modBaseSize; DWORD modBaseSize;
HMODULE hModule; HMODULE hModule;
WCHAR szModule[MAX_MODULE_NAME32 + 1]; WCHAR szModule[MAX_MODULE_NAME32 + 1];
WCHAR szExePath[MAX_PATH]; WCHAR[MAX_PATH] szExePath;
} }
alias MODULEENTRY32W* PMODULEENTRY32W; alias MODULEENTRY32W* PMODULEENTRY32W;
alias MODULEENTRY32W* LPMODULEENTRY32W; alias MODULEENTRY32W* LPMODULEENTRY32W;
@ -118,7 +118,7 @@ version(Unicode) {
DWORD th32ParentProcessID; DWORD th32ParentProcessID;
LONG pcPriClassBase; LONG pcPriClassBase;
DWORD dwFlags; DWORD dwFlags;
CHAR szExeFile[MAX_PATH]; CHAR[MAX_PATH] szExeFile;
} }
alias PROCESSENTRY32* PPROCESSENTRY32; alias PROCESSENTRY32* PPROCESSENTRY32;
alias PROCESSENTRY32* LPPROCESSENTRY32; alias PROCESSENTRY32* LPPROCESSENTRY32;
@ -133,7 +133,7 @@ version(Unicode) {
DWORD modBaseSize; DWORD modBaseSize;
HMODULE hModule; HMODULE hModule;
char szModule[MAX_MODULE_NAME32 + 1]; char szModule[MAX_MODULE_NAME32 + 1];
char szExePath[MAX_PATH]; char[MAX_PATH] szExePath;
} }
alias MODULEENTRY32* PMODULEENTRY32; alias MODULEENTRY32* PMODULEENTRY32;
alias MODULEENTRY32* LPMODULEENTRY32; alias MODULEENTRY32* LPMODULEENTRY32;

30
3rdparty/win32/vfw.d vendored
View File

@ -181,15 +181,15 @@ struct ICOPEN {
} }
struct ICINFO { struct ICINFO {
DWORD dwSize; DWORD dwSize;
DWORD fccType; DWORD fccType;
DWORD fccHandler; DWORD fccHandler;
DWORD dwFlags; DWORD dwFlags;
DWORD dwVersion; DWORD dwVersion;
DWORD dwVersionICM; DWORD dwVersionICM;
WCHAR szName[16]; WCHAR[16] szName;
WCHAR szDescription[128]; WCHAR[128] szDescription;
WCHAR szDriver[128]; WCHAR[128] szDriver;
} }
enum { enum {
@ -819,7 +819,7 @@ struct MainAVIHeader {
DWORD dwSuggestedBufferSize; DWORD dwSuggestedBufferSize;
DWORD dwWidth; DWORD dwWidth;
DWORD dwHeight; DWORD dwHeight;
DWORD dwReserved[4]; DWORD[4] dwReserved;
} }
const AVISF_DISABLED = 0x00000001; const AVISF_DISABLED = 0x00000001;
@ -885,7 +885,7 @@ struct AVISTREAMINFOW {
RECT rcFrame; RECT rcFrame;
DWORD dwEditCount; DWORD dwEditCount;
DWORD dwFormatChangeCount; DWORD dwFormatChangeCount;
WCHAR szName[64]; WCHAR[64] szName;
} }
alias AVISTREAMINFOW* LPAVISTREAMINFOW; alias AVISTREAMINFOW* LPAVISTREAMINFOW;
@ -907,7 +907,7 @@ struct AVISTREAMINFOA {
RECT rcFrame; RECT rcFrame;
DWORD dwEditCount; DWORD dwEditCount;
DWORD dwFormatChangeCount; DWORD dwFormatChangeCount;
char szName[64]; char[64] szName;
} }
alias AVISTREAMINFOA* LPAVISTREAMINFOA; alias AVISTREAMINFOA* LPAVISTREAMINFOA;
@ -934,7 +934,7 @@ struct AVIFILEINFOW {
DWORD dwRate; DWORD dwRate;
DWORD dwLength; DWORD dwLength;
DWORD dwEditCount; DWORD dwEditCount;
WCHAR szFileType[64]; WCHAR[64] szFileType;
} }
alias AVIFILEINFOW* LPAVIFILEINFOW; alias AVIFILEINFOW* LPAVIFILEINFOW;
@ -950,7 +950,7 @@ struct AVIFILEINFOA {
DWORD dwRate; DWORD dwRate;
DWORD dwLength; DWORD dwLength;
DWORD dwEditCount; DWORD dwEditCount;
char szFileType[64]; char[64] szFileType;
} }
alias AVIFILEINFOA* LPAVIFILEINFOA; alias AVIFILEINFOA* LPAVIFILEINFOA;
@ -1887,7 +1887,7 @@ struct VIDEOHDR {
DWORD dwTimeCaptured; DWORD dwTimeCaptured;
DWORD_PTR dwUser; DWORD_PTR dwUser;
DWORD dwFlags; DWORD dwFlags;
DWORD_PTR dwReserved[4]; DWORD_PTR[4] dwReserved;
} }
alias VIDEOHDR* PVIDEOHDR, LPVIDEOHDR; alias VIDEOHDR* PVIDEOHDR, LPVIDEOHDR;

View File

@ -1960,7 +1960,7 @@ struct GUID {
uint Data1; uint Data1;
ushort Data2; ushort Data2;
ushort Data3; ushort Data3;
ubyte Data4[8]; ubyte[8] Data4;
} }
alias GUID* REFGUID, LPGUID; alias GUID* REFGUID, LPGUID;
*/ */
@ -2164,9 +2164,9 @@ version (X86) {
WORD Reserved3; WORD Reserved3;
DWORD MxCsr; DWORD MxCsr;
DWORD MxCsr_Mask; DWORD MxCsr_Mask;
M128A FloatRegisters[8]; M128A[8] FloatRegisters;
M128A XmmRegisters[16]; M128A[16] XmmRegisters;
BYTE Reserved4[96]; BYTE[96] Reserved4;
} }
alias XMM_SAVE_AREA32 PXMM_SAVE_AREA32; alias XMM_SAVE_AREA32 PXMM_SAVE_AREA32;
const LEGACY_SAVE_AREA_LENGTH = XMM_SAVE_AREA32.sizeof; const LEGACY_SAVE_AREA_LENGTH = XMM_SAVE_AREA32.sizeof;
@ -2217,8 +2217,8 @@ version (X86) {
XMM_SAVE_AREA32 FloatSave; XMM_SAVE_AREA32 FloatSave;
struct struct
{ {
M128A Header[2]; M128A[2] Header;
M128A Legacy[8]; M128A[8] Legacy;
M128A Xmm0; M128A Xmm0;
M128A Xmm1; M128A Xmm1;
M128A Xmm2; M128A Xmm2;
@ -2237,7 +2237,7 @@ version (X86) {
M128A Xmm15; M128A Xmm15;
}; };
}; };
M128A VectorRegister[26]; M128A[26] VectorRegister;
DWORD64 VectorControl; DWORD64 VectorControl;
DWORD64 DebugControl; DWORD64 DebugControl;
DWORD64 LastBranchToRip; DWORD64 LastBranchToRip;

View File

@ -83,7 +83,7 @@ const PERF_RAW_BASE=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DI
const PERF_ELAPSED_TIME=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS); const PERF_ELAPSED_TIME=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS);
struct PERF_DATA_BLOCK { struct PERF_DATA_BLOCK {
WCHAR Signature[4]; WCHAR[4] Signature;
DWORD LittleEndian; DWORD LittleEndian;
DWORD Version; DWORD Version;
DWORD Revision; DWORD Revision;

View File

@ -636,7 +636,7 @@ struct PRINTER_NOTIFY_INFO_DATA {
DWORD Reserved; DWORD Reserved;
DWORD Id; DWORD Id;
union _NotifyData { union _NotifyData {
DWORD adwData[2]; DWORD[2] adwData;
struct Data { struct Data {
DWORD cbBuf; DWORD cbBuf;
PVOID pBuf; PVOID pBuf;
@ -650,7 +650,7 @@ struct PRINTER_NOTIFY_INFO {
DWORD Version; DWORD Version;
DWORD Flags; DWORD Flags;
DWORD Count; DWORD Count;
PRINTER_NOTIFY_INFO_DATA aData[1]; PRINTER_NOTIFY_INFO_DATA[1] aData;
} }
alias PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO, LPPRINTER_NOTIFY_INFO; alias PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO, LPPRINTER_NOTIFY_INFO;

View File

@ -3051,7 +3051,7 @@ struct MENUITEMTEMPLATEHEADER {
struct MENUITEMTEMPLATE { struct MENUITEMTEMPLATE {
WORD mtOption; WORD mtOption;
WORD mtID; WORD mtID;
WCHAR mtString[1]; WCHAR[1] mtString;
} }
alias void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW; alias void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW;
@ -3309,7 +3309,7 @@ struct WINDOWPOS {
alias WINDOWPOS* PWINDOWPOS, LPWINDOWPOS; alias WINDOWPOS* PWINDOWPOS, LPWINDOWPOS;
struct NCCALCSIZE_PARAMS { struct NCCALCSIZE_PARAMS {
RECT rgrc[3]; RECT[3] rgrc;
PWINDOWPOS lppos; PWINDOWPOS lppos;
} }
alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS;
@ -3381,14 +3381,14 @@ alias DWORD HELPPOLY;
struct MULTIKEYHELPA { struct MULTIKEYHELPA {
DWORD mkSize; DWORD mkSize;
CHAR mkKeylist; CHAR mkKeylist;
CHAR szKeyphrase[1]; CHAR[1] szKeyphrase;
} }
alias MULTIKEYHELPA* PMULTIKEYHELPA, LPMULTIKEYHELPA; alias MULTIKEYHELPA* PMULTIKEYHELPA, LPMULTIKEYHELPA;
struct MULTIKEYHELPW { struct MULTIKEYHELPW {
DWORD mkSize; DWORD mkSize;
WCHAR mkKeylist; WCHAR mkKeylist;
WCHAR szKeyphrase[1]; WCHAR[1] szKeyphrase;
} }
alias MULTIKEYHELPW* PMULTIKEYHELPW, LPMULTIKEYHELPW; alias MULTIKEYHELPW* PMULTIKEYHELPW, LPMULTIKEYHELPW;
@ -3399,7 +3399,7 @@ struct HELPWININFOA {
int dx; int dx;
int dy; int dy;
int wMax; int wMax;
CHAR rgchMember[2]; CHAR[2] rgchMember;
} }
alias HELPWININFOA* PHELPWININFOA, LPHELPWININFOA; alias HELPWININFOA* PHELPWININFOA, LPHELPWININFOA;
@ -3410,7 +3410,7 @@ struct HELPWININFOW {
int dx; int dx;
int dy; int dy;
int wMax; int wMax;
WCHAR rgchMember[2]; WCHAR[2] rgchMember;
} }
alias HELPWININFOW* PHELPWININFOW, LPHELPWININFOW; alias HELPWININFOW* PHELPWININFOW, LPHELPWININFOW;
@ -3489,7 +3489,7 @@ struct SCROLLBARINFO {
int xyThumbTop; int xyThumbTop;
int xyThumbBottom; int xyThumbBottom;
int reserved; int reserved;
DWORD rgstate[CCHILDREN_SCROLLBAR+1]; DWORD[CCHILDREN_SCROLLBAR+1] rgstate;
} }
alias SCROLLBARINFO* PSCROLLBARINFO, LPSCROLLBARINFO; alias SCROLLBARINFO* PSCROLLBARINFO, LPSCROLLBARINFO;

View File

@ -326,38 +326,38 @@ static if (_WIN32_WINNT >= 0x600) {
} }
struct WTSINFOW { struct WTSINFOW {
WTS_CONNECTSTATE_CLASS State; WTS_CONNECTSTATE_CLASS State;
DWORD SessionId; DWORD SessionId;
DWORD IncomingBytes; DWORD IncomingBytes;
DWORD OutgoingBytes; DWORD OutgoingBytes;
DWORD IncomingCompressedBytes; DWORD IncomingCompressedBytes;
DWORD OutgoingCompressedBytes; DWORD OutgoingCompressedBytes;
WCHAR WinStationName[WINSTATIONNAME_LENGTH]; WCHAR[WINSTATIONNAME_LENGTH] WinStationName;
WCHAR Domain[DOMAIN_LENGTH]; WCHAR[DOMAIN_LENGTH] Domain;
WCHAR UserName[USERNAME_LENGTH+1]; WCHAR UserName[USERNAME_LENGTH+1];
LARGE_INTEGER ConnectTime; LARGE_INTEGER ConnectTime;
LARGE_INTEGER DisconnectTime; LARGE_INTEGER DisconnectTime;
LARGE_INTEGER LastInputTime; LARGE_INTEGER LastInputTime;
LARGE_INTEGER LogonTime; LARGE_INTEGER LogonTime;
LARGE_INTEGER CurrentTime; LARGE_INTEGER CurrentTime;
} }
alias WTSINFOW* PWTSINFOW; alias WTSINFOW* PWTSINFOW;
struct WTSINFOA { struct WTSINFOA {
WTS_CONNECTSTATE_CLASS State; WTS_CONNECTSTATE_CLASS State;
DWORD SessionId; DWORD SessionId;
DWORD IncomingBytes; DWORD IncomingBytes;
DWORD OutgoingBytes; DWORD OutgoingBytes;
DWORD IncomingCompressedBytes; DWORD IncomingCompressedBytes;
DWORD OutgoingCompressedBytes; DWORD OutgoingCompressedBytes;
CHAR WinStationName[WINSTATIONNAME_LENGTH]; CHAR[WINSTATIONNAME_LENGTH] WinStationName;
CHAR Domain[DOMAIN_LENGTH]; CHAR[DOMAIN_LENGTH] Domain;
CHAR UserName[USERNAME_LENGTH+1]; CHAR UserName[USERNAME_LENGTH+1];
LARGE_INTEGER ConnectTime; LARGE_INTEGER ConnectTime;
LARGE_INTEGER DisconnectTime; LARGE_INTEGER DisconnectTime;
LARGE_INTEGER LastInputTime; LARGE_INTEGER LastInputTime;
LARGE_INTEGER LogonTime; LARGE_INTEGER LogonTime;
LARGE_INTEGER CurrentTime; LARGE_INTEGER CurrentTime;
} }
alias WTSINFOA* PWTSINFOA; alias WTSINFOA* PWTSINFOA;

View File

@ -77,7 +77,7 @@ enum MSHLFLAGS {
struct FLAGGED_WORD_BLOB { struct FLAGGED_WORD_BLOB {
uint fFlags; uint fFlags;
uint clSize; uint clSize;
ushort asData[1]; ushort[1] asData;
} }
alias WCHAR OLECHAR; alias WCHAR OLECHAR;

View File

@ -107,7 +107,7 @@ void drawColorAndTextureRect(uint textureId, int tdx, int tdy, Rect srcrc, Rect
} }
void drawColorAndTextureRect(uint textureId, int tdx, int tdy, int srcx, int srcy, int srcdx, int srcdy, int xx, int yy, int dx, int dy, uint color, bool linear) { void drawColorAndTextureRect(uint textureId, int tdx, int tdy, int srcx, int srcy, int srcdx, int srcdy, int xx, int yy, int dx, int dy, uint color, bool linear) {
float colors[6*4]; float[6*4] colors;
LVGLFillColor(color, colors.ptr, 6); LVGLFillColor(color, colors.ptr, 6);
float dstx0 = cast(float)xx; float dstx0 = cast(float)xx;
float dsty0 = cast(float)(bufferDy - (yy)); float dsty0 = cast(float)(bufferDy - (yy));

View File

@ -142,8 +142,8 @@ version (USE_FREEIMAGE) {
FREE_IMAGE_LOADED = true; FREE_IMAGE_LOADED = true;
} }
ubyte imagebuf[]; ubyte[] imagebuf;
ubyte readbuf[4096]; ubyte[4096] readbuf;
for (;;) { for (;;) {
size_t bytesRead = stream.read(readbuf); size_t bytesRead = stream.read(readbuf);
if (!bytesRead) if (!bytesRead)

View File

@ -452,7 +452,7 @@ class StateDrawable : Drawable {
private static uint colorTransformFromStringAdd(string value) { private static uint colorTransformFromStringAdd(string value) {
if (value is null) if (value is null)
return COLOR_TRANSFORM_OFFSET_NONE; return COLOR_TRANSFORM_OFFSET_NONE;
int n[4]; int [4]n;
if (!parseList4(value, n)) if (!parseList4(value, n))
return COLOR_TRANSFORM_OFFSET_NONE; return COLOR_TRANSFORM_OFFSET_NONE;
foreach (ref item; n) { foreach (ref item; n) {
@ -467,8 +467,8 @@ class StateDrawable : Drawable {
private static uint colorTransformFromStringMult(string value) { private static uint colorTransformFromStringMult(string value) {
if (value is null) if (value is null)
return COLOR_TRANSFORM_MULTIPLY_NONE; return COLOR_TRANSFORM_MULTIPLY_NONE;
float n[4]; float[4] n;
uint nn[4]; uint[4] nn;
if (!parseList4!float(value, n)) if (!parseList4!float(value, n))
return COLOR_TRANSFORM_MULTIPLY_NONE; return COLOR_TRANSFORM_MULTIPLY_NONE;
for(int i = 0; i < 4; i++) { for(int i = 0; i < 4; i++) {

View File

@ -167,7 +167,7 @@ class Win32Font : Font {
g.glyph = new ubyte[g.blackBoxX * g.blackBoxY]; g.glyph = new ubyte[g.blackBoxX * g.blackBoxY];
if (gs>0) if (gs>0)
{ {
ubyte glyph[] = new ubyte[gs]; ubyte[] glyph = new ubyte[gs];
res = GetGlyphOutlineW( _drawbuf.dc, cast(wchar)ch, res = GetGlyphOutlineW( _drawbuf.dc, cast(wchar)ch,
GGO_GRAY8_BITMAP, //GGO_METRICS GGO_GRAY8_BITMAP, //GGO_METRICS
&metrics, &metrics,

View File

@ -1,24 +1,24 @@
// Written in the D programming language. // Written in the D programming language.
/** /**
This module contains implementation of Win32 platform support This module contains implementation of Win32 platform support
Provides Win32Window and Win32Platform classes. Provides Win32Window and Win32Platform classes.
Usually you don't need to use this module directly. Usually you don't need to use this module directly.
Synopsis: Synopsis:
---- ----
import dlangui.platforms.windows.winapp; import dlangui.platforms.windows.winapp;
---- ----
Copyright: Vadim Lopatin, 2014 Copyright: Vadim Lopatin, 2014
License: Boost License 1.0 License: Boost License 1.0
Authors: Vadim Lopatin, coolreader.org@gmail.com Authors: Vadim Lopatin, coolreader.org@gmail.com
*/ */
module dlangui.platforms.windows.winapp; module dlangui.platforms.windows.winapp;
version (USE_SDL) { } version (USE_SDL) { }
else version (Windows) { else version (Windows) {
@ -39,15 +39,15 @@ import dlangui.graphics.drawbuf;
import dlangui.graphics.images; import dlangui.graphics.images;
import dlangui.graphics.fonts; import dlangui.graphics.fonts;
import dlangui.core.logger; import dlangui.core.logger;
import dlangui.core.files; import dlangui.core.files;
version (USE_OPENGL) { version (USE_OPENGL) {
import dlangui.graphics.glsupport; import dlangui.graphics.glsupport;
} }
// specify debug=DebugMouseEvents for logging mouse handling // specify debug=DebugMouseEvents for logging mouse handling
// specify debug=DebugRedraw for logging drawing and layouts handling // specify debug=DebugRedraw for logging drawing and layouts handling
// specify debug=DebugKeys for logging of key events // specify debug=DebugKeys for logging of key events
pragma(lib, "gdi32.lib"); pragma(lib, "gdi32.lib");
pragma(lib, "user32.lib"); pragma(lib, "user32.lib");
@ -370,59 +370,59 @@ class Win32Window : Window {
void onSetCursorType() { void onSetCursorType() {
HANDLE winCursor = null; HANDLE winCursor = null;
switch (_cursorType) { switch (_cursorType) {
case CursorType.None: case CursorType.None:
winCursor = null; winCursor = null;
break; break;
case CursorType.Parent: case CursorType.Parent:
break; break;
case CursorType.Arrow: case CursorType.Arrow:
winCursor = loadCursor(IDC_ARROW); winCursor = loadCursor(IDC_ARROW);
break; break;
case CursorType.IBeam: case CursorType.IBeam:
winCursor = loadCursor(IDC_IBEAM); winCursor = loadCursor(IDC_IBEAM);
break; break;
case CursorType.Wait: case CursorType.Wait:
winCursor = loadCursor(IDC_WAIT); winCursor = loadCursor(IDC_WAIT);
break; break;
case CursorType.Crosshair: case CursorType.Crosshair:
winCursor = loadCursor(IDC_CROSS); winCursor = loadCursor(IDC_CROSS);
break; break;
case CursorType.WaitArrow: case CursorType.WaitArrow:
winCursor = loadCursor(IDC_APPSTARTING); winCursor = loadCursor(IDC_APPSTARTING);
break; break;
case CursorType.SizeNWSE: case CursorType.SizeNWSE:
winCursor = loadCursor(IDC_SIZENWSE); winCursor = loadCursor(IDC_SIZENWSE);
break; break;
case CursorType.SizeNESW: case CursorType.SizeNESW:
winCursor = loadCursor(IDC_SIZENESW); winCursor = loadCursor(IDC_SIZENESW);
break; break;
case CursorType.SizeWE: case CursorType.SizeWE:
winCursor = loadCursor(IDC_SIZEWE); winCursor = loadCursor(IDC_SIZEWE);
break; break;
case CursorType.SizeNS: case CursorType.SizeNS:
winCursor = loadCursor(IDC_SIZENS); winCursor = loadCursor(IDC_SIZENS);
break; break;
case CursorType.SizeAll: case CursorType.SizeAll:
winCursor = loadCursor(IDC_SIZEALL); winCursor = loadCursor(IDC_SIZEALL);
break; break;
case CursorType.No: case CursorType.No:
winCursor = loadCursor(IDC_NO); winCursor = loadCursor(IDC_NO);
break; break;
case CursorType.Hand: case CursorType.Hand:
winCursor = loadCursor(IDC_HAND); winCursor = loadCursor(IDC_HAND);
break; break;
default: default:
break; break;
} }
SetCursor(winCursor); SetCursor(winCursor);
} }
/// sets cursor type for window /// sets cursor type for window
override protected void setCursorType(uint cursorType) { override protected void setCursorType(uint cursorType) {
// override to support different mouse cursors // override to support different mouse cursors
_cursorType = cursorType; _cursorType = cursorType;
onSetCursorType(); onSetCursorType();
} }
/// sets window icon /// sets window icon
@property override void windowIcon(DrawBufRef buf) { @property override void windowIcon(DrawBufRef buf) {
@ -852,7 +852,7 @@ int myWinMain(void* hInstance, void* hPrevInstance, char* lpCmdLine, int iCmdSho
FreeTypeFontManager ftfontMan = new FreeTypeFontManager(); FreeTypeFontManager ftfontMan = new FreeTypeFontManager();
string fontsPath = "c:\\Windows\\Fonts\\"; string fontsPath = "c:\\Windows\\Fonts\\";
static if (false) { // SHGetFolderPathW not found in shell32.lib static if (false) { // SHGetFolderPathW not found in shell32.lib
WCHAR szPath[MAX_PATH]; WCHAR[MAX_PATH] szPath;
const CSIDL_FLAG_NO_ALIAS = 0x1000; const CSIDL_FLAG_NO_ALIAS = 0x1000;
const CSIDL_FLAG_DONT_UNEXPAND = 0x2000; const CSIDL_FLAG_DONT_UNEXPAND = 0x2000;
if(SUCCEEDED(SHGetFolderPathW(NULL, if(SUCCEEDED(SHGetFolderPathW(NULL,

View File

@ -118,7 +118,7 @@ class XCBWindow : Window {
import std.c.linux.X11.Xlib; import std.c.linux.X11.Xlib;
uint mask; uint mask;
uint values[3]; uint[3] values;
// disable opengl for testing // disable opengl for testing
_enableOpengl = false; _enableOpengl = false;
@ -139,7 +139,7 @@ class XCBWindow : Window {
Log.d("window=", _w, " gc=", _g); Log.d("window=", _w, " gc=", _g);
version (USE_OPENGL) { version (USE_OPENGL) {
if (_enableOpengl) { if (_enableOpengl) {
int visual_attribs[] = [ int[] visual_attribs = [
GLX_RENDER_TYPE, GLX_RGBA_BIT, GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT,
GLX_DOUBLEBUFFER, 1, GLX_DOUBLEBUFFER, 1,
@ -385,7 +385,7 @@ class XCBWindow : Window {
Log.e("glXCreateContextAttribsARB function is not found"); Log.e("glXCreateContextAttribsARB function is not found");
_context = glXCreateNewContext(_display, _fb_config, GLX_RGBA_TYPE, null, true); _context = glXCreateNewContext(_display, _fb_config, GLX_RGBA_TYPE, null, true);
} else { } else {
int context_attribs[] = int[] context_attribs =
[ [
GLX_CONTEXT_MAJOR_VERSION_ARB, 3, GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
GLX_CONTEXT_MINOR_VERSION_ARB, 0, GLX_CONTEXT_MINOR_VERSION_ARB, 0,