diff --git a/files/tape.c b/files/tape.c
index 20a4e18..9f92d3b 100644
--- a/files/tape.c
+++ b/files/tape.c
@@ -22,7 +22,7 @@
 		LPDWORD lpNumberOfBytesRead, BOOL bAbort,
 		BOOL bProcessSecurity, LPVOID *lpContext )
 {
-  FIXME("(%04x, %p, %d, %p, %d, %d, %p) stub!\n", hFile, lpBuffer,
+  FIXME("(%04x, %p, %ld, %p, %d, %d, %p) stub!\n", hFile, lpBuffer,
     nNumberOfBytesToRead, lpNumberOfBytesRead, bAbort, bProcessSecurity,
     lpContext);
     
@@ -39,7 +39,7 @@
          	LPDWORD lpdwLowByteSeeked, LPDWORD lpdwHighByteSeeked,
 		LPVOID *lpContext )
 {
-  FIXME("(%04x, %d, %d, %p, %p, %p) stub!\n", hFile, dwLowBytesToSeek,
+  FIXME("(%04x, %ld, %ld, %p, %p, %p) stub!\n", hFile, dwLowBytesToSeek,
     dwHighBytesToSeek, lpdwLowByteSeeked, lpdwHighByteSeeked, lpContext);
 
   SetLastError( ERROR_NOT_SUPPORTED );
@@ -55,7 +55,7 @@
 		LPDWORD lpNumberOfBytesWritten, BOOL bAbort,
 		BOOL bProcessSecurity, LPVOID *lpContext )
 {
-  FIXME("(%04x, %p, %d, %p, %d, %d, %p) stub!\n", hFile, lpBuffer,
+  FIXME("(%04x, %p, %ld, %p, %d, %d, %p) stub!\n", hFile, lpBuffer,
     nNumberOfBytesToWrite, lpNumberOfBytesWritten, bAbort,
     bProcessSecurity, lpContext);
 
@@ -71,7 +71,7 @@
 DWORD WINAPI CreateTapePartition( HANDLE hDevice, DWORD dwPartitionMethod,
 			DWORD dwCount, DWORD dwSize )
 {
-  FIXME("(%04x, %d, %d, %d) stub!\n", hDevice, dwPartitionMethod, dwCount,
+  FIXME("(%04x, %ld, %ld, %ld) stub!\n", hDevice, dwPartitionMethod, dwCount,
     dwSize);
 
   SetLastError( ERROR_NOT_SUPPORTED );
@@ -85,7 +85,7 @@
  */
 DWORD WINAPI EraseTape( HANDLE hDevice, DWORD dwEraseType, BOOL bImmediate )
 {
-  FIXME("(%04x, %d, %d) stub!\n", hDevice, dwEraseType, bImmediate);
+  FIXME("(%04x, %ld, %d) stub!\n", hDevice, dwEraseType, bImmediate);
 
   SetLastError( ERROR_NOT_SUPPORTED );
 
@@ -99,7 +99,7 @@
 DWORD WINAPI GetTapeParameters( HANDLE hDevice, DWORD dwOperation,
 			LPDWORD lpdwSize, LPVOID lpTapeInformation )
 {
-  FIXME("(%04x, %d, %p, %p) stub!\n", hDevice, dwOperation, lpdwSize,
+  FIXME("(%04x, %ld, %p, %p) stub!\n", hDevice, dwOperation, lpdwSize,
     lpTapeInformation);
 
   SetLastError( ERROR_NOT_SUPPORTED );
@@ -115,7 +115,7 @@
 			LPDWORD lpdwPartition, LPDWORD lpdwOffsetLow,
 			LPDWORD lpdwOffsetHigh )
 { 
-  FIXME("(%04x, %d, %p, %p, %p) stub!\n", hDevice, dwPositionType,
+  FIXME("(%04x, %ld, %p, %p, %p) stub!\n", hDevice, dwPositionType,
     lpdwPartition, lpdwOffsetLow, lpdwOffsetHigh);
 
   SetLastError( ERROR_NOT_SUPPORTED );
@@ -142,7 +142,7 @@
  */
 DWORD WINAPI PrepareTape( HANDLE hDevice,  DWORD dwOperation,  BOOL bImmediate )
 { 
-  FIXME("(%04x, %d, %d) stub!\n", hDevice, dwOperation, bImmediate);
+  FIXME("(%04x, %ld, %d) stub!\n", hDevice, dwOperation, bImmediate);
 
   SetLastError( ERROR_NOT_SUPPORTED );
 
@@ -156,7 +156,7 @@
 DWORD WINAPI SetTapeParameters( HANDLE hDevice, DWORD dwOperation,
                          LPVOID lpTapeInformation )
 {
-  FIXME("(%04x, %d, %p) stub!\n", hDevice, dwOperation, lpTapeInformation);
+  FIXME("(%04x, %ld, %p) stub!\n", hDevice, dwOperation, lpTapeInformation);
 
   SetLastError( ERROR_NOT_SUPPORTED );
 
@@ -171,7 +171,7 @@
                        dwPartition, DWORD dwOffsetLow, DWORD dwOffsetHigh,
                        BOOL bImmediate )
 {
-  FIXME("(%04x, %d, %d, %d, %d, %d) stub!\n", hDevice, dwPositionMethod,
+  FIXME("(%04x, %ld, %ld, %ld, %ld, %d) stub!\n", hDevice, dwPositionMethod,
     dwPartition, dwOffsetLow, dwOffsetHigh, bImmediate);
 
   SetLastError( ERROR_NOT_SUPPORTED );
@@ -186,10 +186,10 @@
 DWORD WINAPI WriteTapemark( HANDLE hDevice,  DWORD dwTapemarkType, DWORD
                      dwTapemarkCount, BOOL bImmediate )
 {
-  FIXME("(%04x, %d, %d, %d) stub!\n", hDevice, dwTapemarkType,
+  FIXME("(%04x, %ld, %ld, %d) stub!\n", hDevice, dwTapemarkType,
     dwTapemarkCount, bImmediate);
 
   SetLastError( ERROR_NOT_SUPPORTED );
 
   return FALSE;
-}
\ No newline at end of file
+}
