DosDelete: Difference between revisions
Appearance
Created page with "==Description== Removes a file name from a directory. The deleted file may be recoverable. ==Syntax== <PRE> #define INCL_DOSFILEMGR #include <os2.h> PSZ pszFile; /* ..." |
mNo edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Removes a file name from a directory. The deleted file may be recoverable. | Removes a file name from a directory. The deleted file may be recoverable. | ||
==Syntax== | ==Syntax== | ||
DosDelete(pszFile) | |||
PSZ | ==Parameters== | ||
;pszFile (PSZ) - input: Address of the name of the file to be deleted. | |||
==Return Code== | ==Return Code== | ||
;ulrc (APIRET) - returns:DosDelete returns one of the following values: | |||
*0 NO_ERROR | |||
*2 ERROR_FILE_NOT_FOUND | |||
*3 ERROR_PATH_NOT_FOUND | |||
*5 ERROR_ACCESS_DENIED | |||
*26 ERROR_NOT_DOS_DISK | |||
*32 ERROR_SHARING_VIOLATION | |||
*36 ERROR_SHARING_BUFFER_EXCEEDED | |||
*87 ERROR_INVALID_PARAMETER | |||
*206 ERROR_FILENAME_EXCED_RANGE | |||
==Remarks== | ==Remarks== | ||
Global file-name characters are not permitted in the name of the file to be deleted. | Global file-name characters are not permitted in the name of the file to be deleted. | ||
Read-only files cannot be deleted by DosDelete. To delete a read-only file, you must first issue DosSetFileInfo to change the file's read-only attribute to zero, then delete the file. | Read-only files cannot be deleted by DosDelete. To delete a read-only file, you must first issue [[DosSetFileInfo]] to change the file's read-only attribute to zero, then delete the file. | ||
If a storage directory for the drive has been defined with the SET DELDIR command, the UNDELETE command may recover the deleted file. | If a storage directory for the drive has been defined with the SET DELDIR command, the UNDELETE command may recover the deleted file. | ||
DosDelete cannot be used to delete directories. Issue DosDeleteDir to delete a directory. | DosDelete cannot be used to delete directories. Issue [[DosDeleteDir]] to delete a directory. | ||
==Example Code== | ==Example Code== | ||
Line 87: | Line 77: | ||
return NO_ERROR; | return NO_ERROR; | ||
} | } | ||
</PRE> | |||
==Related Functions== | ==Related Functions== | ||
* [[ | *[[DosDeleteDir]] | ||
* [[ | *[[DosForceDelete]] | ||
* [[ | *[[DosSetFileInfo]] | ||
[[Category: | [[Category:Dos]] |
Latest revision as of 09:44, 28 January 2018
Removes a file name from a directory. The deleted file may be recoverable.
Syntax
DosDelete(pszFile)
Parameters
- pszFile (PSZ) - input
- Address of the name of the file to be deleted.
Return Code
- ulrc (APIRET) - returns
- DosDelete returns one of the following values:
- 0 NO_ERROR
- 2 ERROR_FILE_NOT_FOUND
- 3 ERROR_PATH_NOT_FOUND
- 5 ERROR_ACCESS_DENIED
- 26 ERROR_NOT_DOS_DISK
- 32 ERROR_SHARING_VIOLATION
- 36 ERROR_SHARING_BUFFER_EXCEEDED
- 87 ERROR_INVALID_PARAMETER
- 206 ERROR_FILENAME_EXCED_RANGE
Remarks
Global file-name characters are not permitted in the name of the file to be deleted.
Read-only files cannot be deleted by DosDelete. To delete a read-only file, you must first issue DosSetFileInfo to change the file's read-only attribute to zero, then delete the file.
If a storage directory for the drive has been defined with the SET DELDIR command, the UNDELETE command may recover the deleted file.
DosDelete cannot be used to delete directories. Issue DosDeleteDir to delete a directory.
Example Code
This example creates and deletes a file named "TEST.DAT".
#define INCL_DOSFILEMGR /* File Manager values */ #define INCL_DOSERRORS /* DOS error values */ #include <os2.h> #include <stdio.h> int main(void) { HFILE hfFileHandle = 0L; /* File Handle */ ULONG ulAction = 0; /* Action taken */ UCHAR uchFileName[20] = "test.dat"; /* File path name */ APIRET rc = NO_ERROR; /* Return code */ /* Create the file test.dat */ rc = DosOpen(uchFileName, &hfFileHandle, &ulAction, 10L, FILE_NORMAL, FILE_CREATE, OPEN_ACCESS_WRITEONLY | OPEN_SHARE_DENYNONE, 0L); if (rc != NO_ERROR) { printf("DosOpen error: return code = %u\n", rc); return 1; } else { printf("DosOpen: File created = %s\n", uchFileName); } /* endif */ rc = DosClose(hfFileHandle); /* Close the file */ if (rc != NO_ERROR) { printf("DosClose error: return code = %u\n", rc); return 1; } /* endif */ /* Delete file "test.dat" from current directory */ rc = DosDelete(uchFileName); if(rc != NO_ERROR) { printf("DosDelete error: return code = %u\n", rc); return 1; } else { printf("DosDelete: File deleted = %s\n", uchFileName); } /* endif */ return NO_ERROR; }