Mercurial > mplayer.hg
comparison libmpdvdkit2/device.c @ 15689:80494fefb7ea
mingw gcc 4.1 support patch by Gianluigi Tiesi <mplayer at netfarm.it>
author | faust3 |
---|---|
date | Tue, 07 Jun 2005 13:36:21 +0000 |
parents | c2ddedd0619e |
children | 954cdf2171f6 |
comparison
equal
deleted
inserted
replaced
15688:1349827012a9 | 15689:80494fefb7ea |
---|---|
271 * administrator priviledges so we allow for a fallback method with | 271 * administrator priviledges so we allow for a fallback method with |
272 * only read access to the device (in this case ioctl_ReadCopyright() | 272 * only read access to the device (in this case ioctl_ReadCopyright() |
273 * won't send back the right result). | 273 * won't send back the right result). |
274 * (See Microsoft Q241374: Read and Write Access Required for SCSI | 274 * (See Microsoft Q241374: Read and Write Access Required for SCSI |
275 * Pass Through Requests) */ | 275 * Pass Through Requests) */ |
276 (HANDLE) dvdcss->i_fd = | 276 dvdcss->i_fd = (int) |
277 CreateFile( psz_dvd, GENERIC_READ | GENERIC_WRITE, | 277 CreateFile( psz_dvd, GENERIC_READ | GENERIC_WRITE, |
278 FILE_SHARE_READ | FILE_SHARE_WRITE, | 278 FILE_SHARE_READ | FILE_SHARE_WRITE, |
279 NULL, OPEN_EXISTING, | 279 NULL, OPEN_EXISTING, |
280 FILE_FLAG_RANDOM_ACCESS, NULL ); | 280 FILE_FLAG_RANDOM_ACCESS, NULL ); |
281 | 281 |
282 if( (HANDLE) dvdcss->i_fd == INVALID_HANDLE_VALUE ) | 282 if( (HANDLE) dvdcss->i_fd == INVALID_HANDLE_VALUE ) |
283 (HANDLE) dvdcss->i_fd = | 283 dvdcss->i_fd = (int) |
284 CreateFile( psz_dvd, GENERIC_READ, FILE_SHARE_READ, | 284 CreateFile( psz_dvd, GENERIC_READ, FILE_SHARE_READ, |
285 NULL, OPEN_EXISTING, | 285 NULL, OPEN_EXISTING, |
286 FILE_FLAG_RANDOM_ACCESS, NULL ); | 286 FILE_FLAG_RANDOM_ACCESS, NULL ); |
287 | 287 |
288 if( (HANDLE) dvdcss->i_fd == INVALID_HANDLE_VALUE ) | 288 if( (HANDLE) dvdcss->i_fd == INVALID_HANDLE_VALUE ) |
300 { | 300 { |
301 HMODULE hASPI; | 301 HMODULE hASPI; |
302 DWORD dwSupportInfo; | 302 DWORD dwSupportInfo; |
303 struct w32_aspidev *fd; | 303 struct w32_aspidev *fd; |
304 int i, j, i_hostadapters; | 304 int i, j, i_hostadapters; |
305 long (*lpGetSupport)( void ); | 305 GETASPI32SUPPORTINFO lpGetSupport; |
306 long (*lpSendCommand)( void* ); | 306 SENDASPI32COMMAND lpSendCommand; |
307 char c_drive = psz_device[0]; | 307 char c_drive = psz_device[0]; |
308 | 308 |
309 /* load aspi and init w32_aspidev structure */ | 309 /* load aspi and init w32_aspidev structure */ |
310 hASPI = LoadLibrary( "wnaspi32.dll" ); | 310 hASPI = LoadLibrary( "wnaspi32.dll" ); |
311 if( hASPI == NULL ) | 311 if( hASPI == NULL ) |
312 { | 312 { |
313 _dvdcss_error( dvdcss, "unable to load wnaspi32.dll" ); | 313 _dvdcss_error( dvdcss, "unable to load wnaspi32.dll" ); |
314 return -1; | 314 return -1; |
315 } | 315 } |
316 | 316 |
317 (FARPROC) lpGetSupport = GetProcAddress( hASPI, "GetASPI32SupportInfo" ); | 317 lpGetSupport = (GETASPI32SUPPORTINFO) GetProcAddress( hASPI, "GetASPI32SupportInfo" ); |
318 (FARPROC) lpSendCommand = GetProcAddress( hASPI, "SendASPI32Command" ); | 318 lpSendCommand = (SENDASPI32COMMAND) GetProcAddress( hASPI, "SendASPI32Command" ); |
319 | 319 |
320 if(lpGetSupport == NULL || lpSendCommand == NULL ) | 320 if(lpGetSupport == NULL || lpSendCommand == NULL ) |
321 { | 321 { |
322 _dvdcss_error( dvdcss, "unable to get aspi function pointers" ); | 322 _dvdcss_error( dvdcss, "unable to get aspi function pointers" ); |
323 FreeLibrary( hASPI ); | 323 FreeLibrary( hASPI ); |