Diff

Not logged in

Differences From Artifact [b5a6268e1454a5d6]:

To Artifact [754e428e88f168dc]:


4 * Windows API header module * 4 * Windows API header module * 5 * written in the D programming language * 5 * written in the D programming language * 6 * * 6 * * 7 * Placed into public domain * 7 * Placed into public domain * 8 \***********************************************************************/ 8 \***********************************************************************/ 9 9 10 module win32.vfw; 10 module win32.vfw; 11 pragma(lib, "vfw32.lib"); | 11 pragma(lib, "vfw32"); 12 12 13 private import 13 private import 14 win32.commdlg, 14 win32.commdlg, 15 win32.wingdi, 15 win32.wingdi, 16 win32.mmsystem, 16 win32.mmsystem, 17 win32.unknwn, 17 win32.unknwn, 18 win32.w32api, 18 win32.w32api, ................................................................................................................................................................................ 31 31 32 /** 32 /** 33 * COMPMAN - Installable Compression Manager. 33 * COMPMAN - Installable Compression Manager. 34 */ 34 */ 35 35 36 const ICVERSION = 0x0104; 36 const ICVERSION = 0x0104; 37 37 38 alias HANDLE HIC; | 38 alias TypeDef!(HANDLE) HIC; 39 39 40 const BI_1632 = 0x32333631; 40 const BI_1632 = 0x32333631; 41 41 42 template aviTWOCC(char c0, char c1) { 42 template aviTWOCC(char c0, char c1) { 43 const WORD aviTWOCC = c0 | (c1 << 8); 43 const WORD aviTWOCC = c0 | (c1 << 8); 44 } 44 } 45 45 ................................................................................................................................................................................ 182 struct ICINFO { 182 struct ICINFO { 183 DWORD dwSize; 183 DWORD dwSize; 184 DWORD fccType; 184 DWORD fccType; 185 DWORD fccHandler; 185 DWORD fccHandler; 186 DWORD dwFlags; 186 DWORD dwFlags; 187 DWORD dwVersion; 187 DWORD dwVersion; 188 DWORD dwVersionICM; 188 DWORD dwVersionICM; 189 WCHAR szName[16]; | 189 WCHAR[16] szName; 190 WCHAR szDescription[128]; | 190 WCHAR[128] szDescription; 191 WCHAR szDriver[128]; | 191 WCHAR[128] szDriver; 192 } 192 } 193 193 194 enum { 194 enum { 195 VIDCF_QUALITY = 0x0001, 195 VIDCF_QUALITY = 0x0001, 196 VIDCF_CRUNCH = 0x0002, 196 VIDCF_CRUNCH = 0x0002, 197 VIDCF_TEMPORAL = 0x0004, 197 VIDCF_TEMPORAL = 0x0004, 198 VIDCF_COMPRESSFRAMES = 0x0008, 198 VIDCF_COMPRESSFRAMES = 0x0008, ................................................................................................................................................................................ 379 const ICMF_ABOUT_QUERY = 0x00000001; 379 const ICMF_ABOUT_QUERY = 0x00000001; 380 380 381 DWORD ICQueryAbout(HIC hic) { 381 DWORD ICQueryAbout(HIC hic) { 382 return ICSendMessage(hic, ICM_ABOUT, -1, ICMF_ABOUT_QUERY) == ICERR_OK; 382 return ICSendMessage(hic, ICM_ABOUT, -1, ICMF_ABOUT_QUERY) == ICERR_OK; 383 } 383 } 384 384 385 DWORD ICAbout(HIC hic, HWND hwnd) { 385 DWORD ICAbout(HIC hic, HWND hwnd) { 386 return ICSendMessage(hic, ICM_ABOUT, cast(UINT)hwnd, 0); | 386 return cast(DWORD) ICSendMessage(hic, ICM_ABOUT, cast(DWORD_PTR) cast(UI 387 } 387 } 388 388 389 DWORD ICQueryConfigure(HIC hic) { 389 DWORD ICQueryConfigure(HIC hic) { 390 return (ICSendMessage(hic, ICM_CONFIGURE, -1, ICMF_CONFIGURE_QUERY) == I 390 return (ICSendMessage(hic, ICM_CONFIGURE, -1, ICMF_CONFIGURE_QUERY) == I 391 } 391 } 392 392 393 DWORD ICConfigure(HIC hic, HWND hwnd) { 393 DWORD ICConfigure(HIC hic, HWND hwnd) { 394 return ICSendMessage(hic, ICM_CONFIGURE, cast(UINT)hwnd, 0); | 394 return cast(DWORD) ICSendMessage(hic, ICM_CONFIGURE, cast(DWORD_PTR) cas 395 } 395 } 396 396 397 DWORD ICGetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 397 DWORD ICGetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 398 return ICSendMessage(hic, ICM_GETSTATE, cast(DWORD)pv, cast(DWORD)cb); | 398 return cast(DWORD) ICSendMessage(hic, ICM_GETSTATE, cast(DWORD_PTR) pv, 399 } 399 } 400 400 401 DWORD ICSetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 401 DWORD ICSetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 402 return ICSendMessage(hic, ICM_SETSTATE, cast(DWORD)pv, cast(DWORD)cb); | 402 return cast(DWORD) ICSendMessage(hic, ICM_SETSTATE, cast(DWORD_PTR) pv, 403 } 403 } 404 404 405 DWORD ICGetStateSize(HIC hic) { 405 DWORD ICGetStateSize(HIC hic) { 406 return ICGetState(hic, null, 0); 406 return ICGetState(hic, null, 0); 407 } 407 } 408 408 409 DWORD dwICValue; 409 DWORD dwICValue; ................................................................................................................................................................................ 415 415 416 DWORD ICGetDefaultKeyFrameRate(HIC hic) { 416 DWORD ICGetDefaultKeyFrameRate(HIC hic) { 417 ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, cast(DWORD_PTR)&dwICValue 417 ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, cast(DWORD_PTR)&dwICValue 418 return dwICValue; 418 return dwICValue; 419 } 419 } 420 420 421 DWORD ICDrawWindow(HIC hic, LPVOID prc) { 421 DWORD ICDrawWindow(HIC hic, LPVOID prc) { 422 return ICSendMessage(hic, ICM_DRAW_WINDOW, cast(DWORD)prc, RECT.sizeof); | 422 return cast(DWORD) ICSendMessage(hic, ICM_DRAW_WINDOW, cast(DWORD_PTR) p 423 } 423 } 424 424 425 extern (Windows) { 425 extern (Windows) { 426 DWORD ICCompress(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiOutput, 426 DWORD ICCompress(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiOutput, 427 LPBITMAPINFOHEADER lpbiInput, LPVOID lpBits, LPDWORD lpckid, LPD 427 LPBITMAPINFOHEADER lpbiInput, LPVOID lpBits, LPDWORD lpckid, LPD 428 LONG lFrameNum, DWORD dwFrameSize, DWORD dwQuality, LPBITMAPINFO 428 LONG lFrameNum, DWORD dwFrameSize, DWORD dwQuality, LPBITMAPINFO 429 } 429 } ................................................................................................................................................................................ 669 extern (Windows) { 669 extern (Windows) { 670 BOOL ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn); 670 BOOL ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn); 671 void ICSeqCompressFrameEnd(PCOMPVARS pc); 671 void ICSeqCompressFrameEnd(PCOMPVARS pc); 672 LPVOID ICSeqCompressFrame(PCOMPVARS pc, UINT uiFlags, LPVOID lpBits, BOO 672 LPVOID ICSeqCompressFrame(PCOMPVARS pc, UINT uiFlags, LPVOID lpBits, BOO 673 void ICCompressorFree(PCOMPVARS pc); 673 void ICCompressorFree(PCOMPVARS pc); 674 } 674 } 675 675 676 alias HANDLE HDRAWDIB; | 676 mixin DECLARE_HANDLE!("HDRAWDIB"); 677 677 678 enum { 678 enum { 679 DDF_0001 = 0x0001, 679 DDF_0001 = 0x0001, 680 DDF_UPDATE = 0x0002, 680 DDF_UPDATE = 0x0002, 681 DDF_SAME_HDC = 0x0004, 681 DDF_SAME_HDC = 0x0004, 682 DDF_SAME_DRAW = 0x0008, 682 DDF_SAME_DRAW = 0x0008, 683 DDF_DONTDRAW = 0x0010, 683 DDF_DONTDRAW = 0x0010, ................................................................................................................................................................................ 814 DWORD dwFlags; 814 DWORD dwFlags; 815 DWORD dwTotalFrames; 815 DWORD dwTotalFrames; 816 DWORD dwInitialFrames; 816 DWORD dwInitialFrames; 817 DWORD dwStreams; 817 DWORD dwStreams; 818 DWORD dwSuggestedBufferSize; 818 DWORD dwSuggestedBufferSize; 819 DWORD dwWidth; 819 DWORD dwWidth; 820 DWORD dwHeight; 820 DWORD dwHeight; 821 DWORD dwReserved[4]; | 821 DWORD[4] dwReserved; 822 } 822 } 823 823 824 const AVISF_DISABLED = 0x00000001; 824 const AVISF_DISABLED = 0x00000001; 825 825 826 const AVISF_VIDEO_PALCHANGES = 0x00010000; 826 const AVISF_VIDEO_PALCHANGES = 0x00010000; 827 827 828 struct AVIStreamHeader { 828 struct AVIStreamHeader { ................................................................................................................................................................................ 857 DWORD dwChunkLength; 857 DWORD dwChunkLength; 858 } 858 } 859 859 860 struct AVIPALCHANGE { 860 struct AVIPALCHANGE { 861 BYTE bFirstEntry; 861 BYTE bFirstEntry; 862 BYTE bNumEntries; 862 BYTE bNumEntries; 863 WORD wFlags; 863 WORD wFlags; 864 PALETTEENTRY peNew[]; | 864 PALETTEENTRY[1] _peNew; > 865 PALETTEENTRY* peNew() { return _peNew.ptr; } 865 } 866 } 866 867 867 const AVIGETFRAMEF_BESTDISPLAYFMT = 1; 868 const AVIGETFRAMEF_BESTDISPLAYFMT = 1; 868 869 869 struct AVISTREAMINFOW { 870 struct AVISTREAMINFOW { 870 DWORD fccType; 871 DWORD fccType; 871 DWORD fccHandler; 872 DWORD fccHandler; ................................................................................................................................................................................ 880 DWORD dwInitialFrames; 881 DWORD dwInitialFrames; 881 DWORD dwSuggestedBufferSize; 882 DWORD dwSuggestedBufferSize; 882 DWORD dwQuality; 883 DWORD dwQuality; 883 DWORD dwSampleSize; 884 DWORD dwSampleSize; 884 RECT rcFrame; 885 RECT rcFrame; 885 DWORD dwEditCount; 886 DWORD dwEditCount; 886 DWORD dwFormatChangeCount; 887 DWORD dwFormatChangeCount; 887 WCHAR szName[64]; | 888 WCHAR[64] szName; 888 } 889 } 889 alias AVISTREAMINFOW* LPAVISTREAMINFOW; 890 alias AVISTREAMINFOW* LPAVISTREAMINFOW; 890 891 891 struct AVISTREAMINFOA { 892 struct AVISTREAMINFOA { 892 DWORD fccType; 893 DWORD fccType; 893 DWORD fccHandler; 894 DWORD fccHandler; 894 DWORD dwFlags; 895 DWORD dwFlags; ................................................................................................................................................................................ 902 DWORD dwInitialFrames; 903 DWORD dwInitialFrames; 903 DWORD dwSuggestedBufferSize; 904 DWORD dwSuggestedBufferSize; 904 DWORD dwQuality; 905 DWORD dwQuality; 905 DWORD dwSampleSize; 906 DWORD dwSampleSize; 906 RECT rcFrame; 907 RECT rcFrame; 907 DWORD dwEditCount; 908 DWORD dwEditCount; 908 DWORD dwFormatChangeCount; 909 DWORD dwFormatChangeCount; 909 char szName[64]; | 910 char[64] szName; 910 } 911 } 911 alias AVISTREAMINFOA* LPAVISTREAMINFOA; 912 alias AVISTREAMINFOA* LPAVISTREAMINFOA; 912 913 913 version(Unicode) { 914 version(Unicode) { 914 alias AVISTREAMINFOW AVISTREAMINFO; 915 alias AVISTREAMINFOW AVISTREAMINFO; 915 alias LPAVISTREAMINFOW LPAVISTREAMINFO; 916 alias LPAVISTREAMINFOW LPAVISTREAMINFO; 916 } else { // Unicode 917 } else { // Unicode ................................................................................................................................................................................ 929 DWORD dwSuggestedBufferSize; 930 DWORD dwSuggestedBufferSize; 930 DWORD dwWidth; 931 DWORD dwWidth; 931 DWORD dwHeight; 932 DWORD dwHeight; 932 DWORD dwScale; 933 DWORD dwScale; 933 DWORD dwRate; 934 DWORD dwRate; 934 DWORD dwLength; 935 DWORD dwLength; 935 DWORD dwEditCount; 936 DWORD dwEditCount; 936 WCHAR szFileType[64]; | 937 WCHAR[64] szFileType; 937 } 938 } 938 alias AVIFILEINFOW* LPAVIFILEINFOW; 939 alias AVIFILEINFOW* LPAVIFILEINFOW; 939 940 940 struct AVIFILEINFOA { 941 struct AVIFILEINFOA { 941 DWORD dwMaxBytesPerSec; 942 DWORD dwMaxBytesPerSec; 942 DWORD dwFlags; 943 DWORD dwFlags; 943 DWORD dwCaps; 944 DWORD dwCaps; ................................................................................................................................................................................ 945 DWORD dwSuggestedBufferSize; 946 DWORD dwSuggestedBufferSize; 946 DWORD dwWidth; 947 DWORD dwWidth; 947 DWORD dwHeight; 948 DWORD dwHeight; 948 DWORD dwScale; 949 DWORD dwScale; 949 DWORD dwRate; 950 DWORD dwRate; 950 DWORD dwLength; 951 DWORD dwLength; 951 DWORD dwEditCount; 952 DWORD dwEditCount; 952 char szFileType[64]; | 953 char[64] szFileType; 953 } 954 } 954 alias AVIFILEINFOA* LPAVIFILEINFOA; 955 alias AVIFILEINFOA* LPAVIFILEINFOA; 955 956 956 version(Unicode) { 957 version(Unicode) { 957 alias AVIFILEINFOW AVIFILEINFO; 958 alias AVIFILEINFOW AVIFILEINFO; 958 alias LPAVIFILEINFOW LPAVIFILEINFO; 959 alias LPAVIFILEINFOW LPAVIFILEINFO; 959 } else { // Unicode 960 } else { // Unicode ................................................................................................................................................................................ 1035 STDMETHOD(Reserved2) (THIS) PURE; 1036 STDMETHOD(Reserved2) (THIS) PURE; 1036 STDMETHOD(Reserved3) (THIS) PURE; 1037 STDMETHOD(Reserved3) (THIS) PURE; 1037 STDMETHOD(Reserved4) (THIS) PURE; 1038 STDMETHOD(Reserved4) (THIS) PURE; 1038 STDMETHOD(Reserved5) (THIS) PURE; 1039 STDMETHOD(Reserved5) (THIS) PURE; 1039 #endif 1040 #endif 1040 }; 1041 }; 1041 1042 1042 typedef IAVIStream FAR* PAVISTREAM; | 1043 alias TypeDef!(IAVIStream FAR*) PAVISTREAM; 1043 1044 1044 #undef INTERFACE 1045 #undef INTERFACE 1045 #define INTERFACE IAVIStreaming 1046 #define INTERFACE IAVIStreaming 1046 1047 1047 DECLARE_INTERFACE_(IAVIStreaming, IUnknown) 1048 DECLARE_INTERFACE_(IAVIStreaming, IUnknown) 1048 { 1049 { 1049 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; 1050 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; ................................................................................................................................................................................ 1053 STDMETHOD(Begin) (THIS_ 1054 STDMETHOD(Begin) (THIS_ 1054 LONG lStart, 1055 LONG lStart, 1055 LONG lEnd, 1056 LONG lEnd, 1056 LONG lRate) PURE; 1057 LONG lRate) PURE; 1057 STDMETHOD(End) (THIS) PURE; 1058 STDMETHOD(End) (THIS) PURE; 1058 }; 1059 }; 1059 1060 1060 typedef IAVIStreaming FAR* PAVISTREAMING; | 1061 alias TypeDef!(IAVIStreaming FAR*) PAVISTREAMING; 1061 1062 1062 1063 1063 #undef INTERFACE 1064 #undef INTERFACE 1064 #define INTERFACE IAVIEditStream 1065 #define INTERFACE IAVIEditStream 1065 1066 1066 DECLARE_INTERFACE_(IAVIEditStream, IUnknown) 1067 DECLARE_INTERFACE_(IAVIEditStream, IUnknown) 1067 { 1068 { ................................................................................................................................................................................ 1081 LONG lStart, 1082 LONG lStart, 1082 LONG lEnd) PURE; 1083 LONG lEnd) PURE; 1083 STDMETHOD(Clone) (THIS_ PAVISTREAM FAR *ppResult) PURE; 1084 STDMETHOD(Clone) (THIS_ PAVISTREAM FAR *ppResult) PURE; 1084 STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo, 1085 STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo, 1085 LONG cbInfo) PURE; 1086 LONG cbInfo) PURE; 1086 }; 1087 }; 1087 1088 1088 typedef IAVIEditStream FAR* PAVIEDITSTREAM; | 1089 alias TypeDef!(IAVIEditStream FAR*) PAVIEDITSTREAM; 1089 1090 1090 #undef INTERFACE 1091 #undef INTERFACE 1091 #define INTERFACE IAVIPersistFile 1092 #define INTERFACE IAVIPersistFile 1092 1093 1093 DECLARE_INTERFACE_(IAVIPersistFile, IPersistFile) 1094 DECLARE_INTERFACE_(IAVIPersistFile, IPersistFile) 1094 { 1095 { 1095 STDMETHOD(Reserved1)(THIS) PURE; 1096 STDMETHOD(Reserved1)(THIS) PURE; 1096 }; 1097 }; 1097 1098 1098 typedef IAVIPersistFile FAR* PAVIPERSISTFILE; | 1099 alias TypeDef!(IAVIPersistFile FAR*) PAVIPERSISTFILE; 1099 1100 1100 #undef INTERFACE 1101 #undef INTERFACE 1101 #define INTERFACE IAVIFile 1102 #define INTERFACE IAVIFile 1102 #define PAVIFILE IAVIFile FAR* 1103 #define PAVIFILE IAVIFile FAR* 1103 1104 1104 DECLARE_INTERFACE_(IAVIFile, IUnknown) 1105 DECLARE_INTERFACE_(IAVIFile, IUnknown) 1105 { 1106 { ................................................................................................................................................................................ 1128 STDMETHOD(EndRecord) (THIS) PURE; 1129 STDMETHOD(EndRecord) (THIS) PURE; 1129 STDMETHOD(DeleteStream) (THIS_ 1130 STDMETHOD(DeleteStream) (THIS_ 1130 DWORD fccType, 1131 DWORD fccType, 1131 LONG lParam) PURE; 1132 LONG lParam) PURE; 1132 }; 1133 }; 1133 1134 1134 #undef PAVIFILE 1135 #undef PAVIFILE 1135 typedef IAVIFile FAR* PAVIFILE; | 1136 alias TypeDef!(IAVIFile FAR*) PAVIFILE; 1136 1137 1137 #undef INTERFACE 1138 #undef INTERFACE 1138 #define INTERFACE IGetFrame 1139 #define INTERFACE IGetFrame 1139 #define PGETFRAME IGetFrame FAR* 1140 #define PGETFRAME IGetFrame FAR* 1140 1141 1141 DECLARE_INTERFACE_(IGetFrame, IUnknown) 1142 DECLARE_INTERFACE_(IGetFrame, IUnknown) 1142 { 1143 { ................................................................................................................................................................................ 1149 STDMETHOD(Begin) (THIS_ LONG lStart, LONG lEnd, LONG lRate) PURE; 1150 STDMETHOD(Begin) (THIS_ LONG lStart, LONG lEnd, LONG lRate) PURE; 1150 STDMETHOD(End) (THIS) PURE; 1151 STDMETHOD(End) (THIS) PURE; 1151 1152 1152 STDMETHOD(SetFormat) (THIS_ LPBITMAPINFOHEADER lpbi, LPVOID lpBits, int x, i 1153 STDMETHOD(SetFormat) (THIS_ LPBITMAPINFOHEADER lpbi, LPVOID lpBits, int x, i 1153 }; 1154 }; 1154 1155 1155 #undef PGETFRAME 1156 #undef PGETFRAME 1156 typedef IGetFrame FAR* PGETFRAME; | 1157 alias TypeDef!(IGetFrame FAR*) PGETFRAME; 1157 1158 1158 #define DEFINE_AVIGUID(name, l, w1, w2) DEFINE_GUID(name, l, w1, w2, 0xC0,0,0 1159 #define DEFINE_AVIGUID(name, l, w1, w2) DEFINE_GUID(name, l, w1, w2, 0xC0,0,0 1159 1160 1160 DEFINE_AVIGUID(IID_IAVIFile, 0x00020020, 0, 0); 1161 DEFINE_AVIGUID(IID_IAVIFile, 0x00020020, 0, 0); 1161 DEFINE_AVIGUID(IID_IAVIStream, 0x00020021, 0, 0); 1162 DEFINE_AVIGUID(IID_IAVIStream, 0x00020021, 0, 0); 1162 DEFINE_AVIGUID(IID_IAVIStreaming, 0x00020022, 0, 0); 1163 DEFINE_AVIGUID(IID_IAVIStreaming, 0x00020022, 0, 0); 1163 DEFINE_AVIGUID(IID_IGetFrame, 0x00020023, 0, 0); 1164 DEFINE_AVIGUID(IID_IGetFrame, 0x00020023, 0, 0); ................................................................................................................................................................................ 1662 void MCIWndSetTimers(HWND hwnd, UINT active, UINT inactive) 1663 void MCIWndSetTimers(HWND hwnd, UINT active, UINT inactive) 1663 { SendMessage(hwnd, MCIWNDM_SETTIMERS, cast(WPARAM)active, cast(LPARAM)i 1664 { SendMessage(hwnd, MCIWNDM_SETTIMERS, cast(WPARAM)active, cast(LPARAM)i 1664 UINT MCIWndGetActiveTimer(HWND hwnd) 1665 UINT MCIWndGetActiveTimer(HWND hwnd) 1665 { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETACTIVETIMER, 0, 0); } 1666 { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETACTIVETIMER, 0, 0); } 1666 UINT MCIWndGetInactiveTimer(HWND hwnd) 1667 UINT MCIWndGetInactiveTimer(HWND hwnd) 1667 { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETINACTIVETIMER, 0, 0); } 1668 { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETINACTIVETIMER, 0, 0); } 1668 LONG MCIWndRealize(HWND hwnd, BOOL fBkgnd) 1669 LONG MCIWndRealize(HWND hwnd, BOOL fBkgnd) 1669 { return SendMessage(hwnd, MCIWNDM_REALIZE, cast(WPARAM)fBkgnd, 0); } | 1670 { return cast(LONG) SendMessage(hwnd, MCIWNDM_REALIZE, cast(WPARAM)fBkgn 1670 LONG MCIWndSendString(HWND hwnd, LPTSTR sz) 1671 LONG MCIWndSendString(HWND hwnd, LPTSTR sz) 1671 { return SendMessage(hwnd, MCIWNDM_SENDSTRING, 0, cast(LPARAM)sz); } | 1672 { return cast(LONG) SendMessage(hwnd, MCIWNDM_SENDSTRING, 0, cast(LPARAM 1672 LONG MCIWndReturnString(HWND hwnd, LPVOID lp, UINT len) 1673 LONG MCIWndReturnString(HWND hwnd, LPVOID lp, UINT len) 1673 { return SendMessage(hwnd, MCIWNDM_RETURNSTRING, cast(WPARAM)len, cast(L | 1674 { return cast(LONG) SendMessage(hwnd, MCIWNDM_RETURNSTRING, cast(WPARAM) 1674 LONG MCIWndGetError(HWND hwnd, LPVOID lp, UINT len) 1675 LONG MCIWndGetError(HWND hwnd, LPVOID lp, UINT len) 1675 { return SendMessage(hwnd, MCIWNDM_GETERROR, cast(WPARAM)len, cast(LPARA | 1676 { return cast(LONG) SendMessage(hwnd, MCIWNDM_GETERROR, cast(WPARAM)len, 1676 HPALETTE MCIWndGetPalette(HWND hwnd) 1677 HPALETTE MCIWndGetPalette(HWND hwnd) 1677 { return cast(HPALETTE)SendMessage(hwnd, MCIWNDM_GETPALETTE, 0, 0); } 1678 { return cast(HPALETTE)SendMessage(hwnd, MCIWNDM_GETPALETTE, 0, 0); } 1678 LONG MCIWndSetPalette(HWND hwnd, HPALETTE hpal) 1679 LONG MCIWndSetPalette(HWND hwnd, HPALETTE hpal) 1679 { return SendMessage(hwnd, MCIWNDM_SETPALETTE, cast(WPARAM)hpal, 0); } | 1680 { return cast(LONG) SendMessage(hwnd, MCIWNDM_SETPALETTE, cast(WPARAM)hp 1680 LONG MCIWndGetFileName(HWND hwnd, LPVOID lp, UINT len) 1681 LONG MCIWndGetFileName(HWND hwnd, LPVOID lp, UINT len) 1681 { return SendMessage(hwnd, MCIWNDM_GETFILENAME, cast(WPARAM)len, cast(LP | 1682 { return cast(LONG) SendMessage(hwnd, MCIWNDM_GETFILENAME, cast(WPARAM)l 1682 LONG MCIWndGetDevice(HWND hwnd, LPVOID lp, UINT len) 1683 LONG MCIWndGetDevice(HWND hwnd, LPVOID lp, UINT len) 1683 { return SendMessage(hwnd, MCIWNDM_GETDEVICE, cast(WPARAM)len, cast(LPAR | 1684 { return cast(LONG) SendMessage(hwnd, MCIWNDM_GETDEVICE, cast(WPARAM)len 1684 UINT MCIWndGetStyles(HWND hwnd) 1685 UINT MCIWndGetStyles(HWND hwnd) 1685 { return SendMessage(hwnd, MCIWNDM_GETSTYLES, 0, 0); } | 1686 { return cast(UINT) SendMessage(hwnd, MCIWNDM_GETSTYLES, 0, 0); } 1686 LONG MCIWndChangeStyles(HWND hwnd, UINT mask, LONG value) 1687 LONG MCIWndChangeStyles(HWND hwnd, UINT mask, LONG value) 1687 { return SendMessage(hwnd, MCIWNDM_CHANGESTYLES, cast(WPARAM)mask, cast( | 1688 { return cast(LONG) SendMessage(hwnd, MCIWNDM_CHANGESTYLES, cast(WPARAM) 1688 LONG MCIWndOpenInterface(HWND hwnd, LPUNKNOWN pUnk) 1689 LONG MCIWndOpenInterface(HWND hwnd, LPUNKNOWN pUnk) 1689 { return SendMessage(hwnd, MCIWNDM_OPENINTERFACE, 0, cast(LPARAM)cast(vo | 1690 { return cast(LONG) SendMessage(hwnd, MCIWNDM_OPENINTERFACE, 0, cast(LPA 1690 LONG MCIWndSetOwner(HWND hwnd, HWND hwndP) 1691 LONG MCIWndSetOwner(HWND hwnd, HWND hwndP) 1691 { return SendMessage(hwnd, MCIWNDM_SETOWNER, cast(WPARAM)hwndP, 0); } | 1692 { return cast(LONG) SendMessage(hwnd, MCIWNDM_SETOWNER, cast(WPARAM)hwnd 1692 1693 1693 enum { 1694 enum { 1694 MCIWNDM_GETDEVICEID = WM_USER + 100, 1695 MCIWNDM_GETDEVICEID = WM_USER + 100, 1695 MCIWNDM_SENDSTRINGA = WM_USER + 101, 1696 MCIWNDM_SENDSTRINGA = WM_USER + 101, 1696 MCIWNDM_GETPOSITIONA = WM_USER + 102, 1697 MCIWNDM_GETPOSITIONA = WM_USER + 102, 1697 MCIWNDM_GETSTART = WM_USER + 103, 1698 MCIWNDM_GETSTART = WM_USER + 103, 1698 MCIWNDM_GETLENGTH = WM_USER + 104, 1699 MCIWNDM_GETLENGTH = WM_USER + 104, ................................................................................................................................................................................ 1815 MCI_MODE_PLAY, 1816 MCI_MODE_PLAY, 1816 MCI_MODE_RECORD, 1817 MCI_MODE_RECORD, 1817 MCI_MODE_SEEK, 1818 MCI_MODE_SEEK, 1818 MCI_MODE_PAUSE, 1819 MCI_MODE_PAUSE, 1819 MCI_MODE_OPEN, 1820 MCI_MODE_OPEN, 1820 } 1821 } 1821 1822 1822 alias HANDLE HVIDEO; | 1823 alias TypeDef!(HANDLE) HVIDEO; 1823 alias HVIDEO* LPHVIDEO; 1824 alias HVIDEO* LPHVIDEO; 1824 1825 1825 // Error Return Values 1826 // Error Return Values 1826 1827 1827 enum { 1828 enum { 1828 DV_ERR_OK = 0, 1829 DV_ERR_OK = 0, 1829 DV_ERR_BASE = 1, 1830 DV_ERR_BASE = 1, ................................................................................................................................................................................ 1882 struct VIDEOHDR { 1883 struct VIDEOHDR { 1883 LPBYTE lpData; 1884 LPBYTE lpData; 1884 DWORD dwBufferLength; 1885 DWORD dwBufferLength; 1885 DWORD dwBytesUsed; 1886 DWORD dwBytesUsed; 1886 DWORD dwTimeCaptured; 1887 DWORD dwTimeCaptured; 1887 DWORD_PTR dwUser; 1888 DWORD_PTR dwUser; 1888 DWORD dwFlags; 1889 DWORD dwFlags; 1889 DWORD_PTR dwReserved[4]; | 1890 DWORD_PTR[4]dwReserved; 1890 } 1891 } 1891 alias VIDEOHDR* PVIDEOHDR, LPVIDEOHDR; 1892 alias VIDEOHDR* PVIDEOHDR, LPVIDEOHDR; 1892 1893 1893 enum { 1894 enum { 1894 VHDR_DONE = 0x00000001, 1895 VHDR_DONE = 0x00000001, 1895 VHDR_PREPARED = 0x00000002, 1896 VHDR_PREPARED = 0x00000002, 1896 VHDR_INQUEUE = 0x00000004, 1897 VHDR_INQUEUE = 0x00000004,