У меня вопрос к тем, кто разрабатывал видеоплейеры и т.д.
Пытаюсь перевести свой проект из VB6 в NET, и столкнулся с такими проблемами:
Имею примерно такой код:
<DllImport("avifil32.dll")> Public Function AVIFileInfo(ByVal pfile As Long, ByVal pfi As AVI_FILE_INFO, ByVal lSize As Byte) As Integer
End Function
Public Structure AVI_FILE_INFO
Public dwMaxBytesPerSecond As Integer
Public dwFlags As Integer
Public dwCaps As Integer
Public dwStreams As Integer
Public dwSuggestedBufferSize As Integer
Public dwWidth As Integer
Public dwHeight As Integer
Public dwScale As Integer
Public dwRate As Integer
Public dwLength As Integer
Public dwEditCount As Integer
Public szFileType As String ' (* 64 - VB6)
End Structure
....
Dim p As AVI_FILE_INFO
dim pfile as Long
hr = AVIFileOpen(pfile, "c:\myfile.avi", 0, 0)
hr = AVIFileInfo(pfile, p, Len(p))
.......
Вопросы:
1. Размер структуры AVI_FILE_INFO получается 48 байтов, тогда как в VB6 он был 108 байтов.
2. Открыть-то файл могу, а вот получить информацию - нет. А точнее, выскакивает hr<>0 и p не заполняется.