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 );