Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Manual de Programación en OS/2 - APENDICE A. Llamadas dosxxx del sistema de ficheros

Manual de Programación en OS/2 - APENDICE A. Llamadas dosxxx del sistema de ficheros

 ----- 
Creative Commons Curso gratis de Supertutoriales - 24 de Agosto de 2005
Temas Relacionados: OS/2
16. APENDICE A. Llamadas dosxxx del sistema de ficheros




DosBeep activa el altavoz interno.

#define INCL_BASE
#include <os2.h>

ULONG ulFrequency;
ULONG ulDuration;
APIRET rc; /* Codigo de error */

rc = DosBeep(ulFrequency, ulDuration);

||

Parámetros

|| || ulFrecuency || Frecuencia en hertzios (ciclos por segundo) en el rango 25 a 7FFF (ambos en hexadecimal). ||
|| ulDuration || Duración del sonido en milisegundos. ||

||

Codigos de error

|| || || Sin error ||
|| 395 || Frecuencia no válida ||






DosClose




DosClose cierra un handle a un fichero, cauce o dispositivo.

#define INCL_BASE
#include <os2.h>

HFILE fileHandle;
APIRET rc; /* Codigo de error */

rc = DosClose(FileHandle);

||

Parámetros

|| || FileHandle || Un HANDLE asignado a un fichero, cauce o dispositivo físico. ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 5 || Acceso denegado ||
|| 6 || HANDLE no valido ||






DosCopy




DosCopy copia el contenido de un fichero o subdirectorio al fichero o subdirectorio de destino.

#define INCL_BASE
#include <os2.h>

PSZ pszFicheroOrigen;
PSZ pszFicheroDestino;
ULONG ulModoOp;
APIRET rc; /* Codigo de error */

rc = DosCopy(pszFicheroOrigen, pszFicheroDestino,ulModoOp);

||

Parámetros

|| || pszFicheroOrigen || Puntero a una cadena con el path del fichero origen. La barra derecha (/) y la invertida (\) pueden ser usadas indistintamente. ||
|| pszFicheroDestino || Puntero a una cadena con el path del fichero destino. La barra derecha (/) y la invertida (\) pueden ser usadas indistintamente. ||
|| ulModoOp || Doble palabra de bits que define el modo de funcionamiento de la funcion. ||
|| || || Bit || Descripción || || 31-3 || Reservado. Debe ser cero || || 2 || 0: Descarta los EAs (Atributos extendidos) si el sistema de ficheros de destino no los soporta. 1: Devuelve un error si el sistema de ficheros de destino no soporta EAs y el fichero a copiar los tiene. || || 1 || 0: Sustituye el fichero destino por el fichero origen. 1: Añade el fichero origen al final del fichero destino. Es ignorado si el directorio o fichero de destino no existe. || || || 0: Si el fichero destino ya existe, devuelve un error. 1: Copia el fichero fuente incluso si ya existe el fichero destino. || ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 3 || Path no encontrado ||
|| 5 || Acceso denegado ||
|| 26 || Disco sin sistema de ficheros ||
|| 32 || Violación de compartición ||
|| 36 || Desbordamiento del buffer de compartición ||
|| 87 || Parámetro no valido ||
|| 108 || Unidad bloqueada ||
|| 112 || Disco lleno ||
|| 206 || Nombre de fichero demasiado largo ||
|| 267 || Directorio incorrecto ||
|| 282 || EAs no soportados en la unidad ||
|| 283 || Hay EAs importantes ||






DosCreateDir




DosCreateDir crea un nuevo directorio.

#define INCL_BASE
#include <os2.h>

PSZ pszDirName;
EAOP2 pEABuf;
APIRET rc; /* Codigo de error */

rc = DosCreateDir(pszDirName, pEABuf);

||

Parámetros

|| || pszDirName || Un puntero a una cadena con el nombre del directorio a crear. Puede ir acompañado de un path y una unidad. Si ésta no es especificada, se toma la unidad actual. La barra derecha (/) y la invertida (\) pueden ser usadas indistintamente. ||
|| pEABuf || Contiene información sobre los atributos extendidos que puede contener dicho directorio. Si no van a ser definidos o modificados, debe ser puesto a NULL. ||

||

Codigos de error

|| || || Sin error ||
|| 3 || Path no encontrado ||
|| 5 || Acceso denegado ||
|| 26 || Disco sin sistema de ficheros ||
|| 87 || Parametro no válido ||
|| 108 || Unidad bloqueada ||
|| 206 || Nombre de fichero demasiado largo ||
|| 254 || Nombre de EA no válido ||
|| 255 || Lista de EAs inconsistente
Valor de EA no soportado ||






DosDelete




DosDelete borra un fichero. Este puede ser recuperado.

#define INCL_BASE
#include <os2.h>

PSZ pszFileName;
APIRET rc; /* Codigo de error */

rc = DosDelete(pszFileName);

||

Parámetros

|| || pszFileName || Un puntero a una cadena con el nombre del fichero a borrar. Puede ir acompañado de un path y una unidad. Si ésta no es especificada, se toma la unidad actual. La barra derecha (/) y la invertida (\) pueden ser usadas indistintamente. ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 3 || Path no encontrado ||
|| 5 || Acceso denegado ||
|| 26 || Disco sin sistema de ficheros ||
|| 32 || Violación de compartición ||
|| 36 || Desbordamiento del buffer de compartición ||
|| 87 || Parámetro no valido ||
|| 206 || Nombre de fichero demasiado largo ||






DosDeleteDir




DosDeleteDir borra un directorio. Es necesario que esté vacío.

#define INCL_BASE
#include <os2.h>

PSZ pszDirName;
APIRET rc; /* Codigo de error */

rc = DosDeleteDir(pszFileName);

||

Parámetros

|| || pszDirName || Un puntero a una cadena con el nombre del directorio a borrar. Puede ir acompañado de un path y una unidad. Si ésta no es especificada, se toma la unidad actual. La barra derecha (/) y la invertida (\) pueden ser usadas indistintamente. ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 3 || Path no encontrado ||
|| 5 || Acceso denegado ||
|| 16 || Intenta borrar el directorio actual ||
|| 26 || Disco sin sistema de ficheros ||
|| 87 || Parámetro no valido ||
|| 108 || Unidad bloqueada ||
|| 206 || Nombre de fichero demasiado largo ||






DosFindClose




DosFindClose cierra un cauce de busqueda de ficheros abierto con DosFindFirst; esto es, termina una búsqueda.

#define INCL_BASE
#include <os2.h>

HDIR hdirDirHandle;
APIRET rc; /* Codigo de error */

rc = DosFindClose(hdirDirHandle);

||

Parámetros

|| || hdirDirHandle || Un handle asignado por una llamada a DosFindFirst, o usado en una llamada a DosFindNext. ||

||

Codigos de error

|| || || Sin error ||
|| 6 || HANDLE no valido ||






DosFindFirst




DosFindFirst busca el primer archivo de un directorio que coincide con el patrón de búsqueda.

#define INCL_BASE
#include <os2.h>

PSZ pszFileName;
PHDIR phdirDirHandle;
ULONG ulAttribute;
PVOID pResultBuf;
ULONG ulResultBufLen;
PULONG pSearchCount;
ULONG ulFileInfoLevel;
APIRET rc; /* Codigo de error */

rc = DosFindFirst(pszFileName, phdirDirHandle, ulAttribute, pResultBuf, ulResultBufLen, pSearchCount, ulFileInfoLevel);

||

Parámetros

|| || pszFileName || Puntero a una cadena ASCIIZ que define el criterio de busqueda ||
|| phdirDirHandle || Puntero a un handle, donde OS/2 almacenará el handle correspondiente a la busqueda en curso. Si antes de la llamada, contiene h'00000001, el sistema asigna el handle a la salida estandar. Si contiene h'FFFFFFFF, OS/2 devuelve un handle nuevo. ||
|| ulAttribute || Campo de bits que determina los tipos de archivos que se deben buscar. ||
|| || || Bit || Descripción || || 31-14 || Reservados. Deben ser cero. || || 13 || 1: los ficheros que no tienen activo el bit de ARCHIVO son ignorados. 0: son buscados también los ficheros que no tienen activo el bit de ARCHIVO. || || 12 || 1: los ficheros que no tienen activo el bit de DIRECTORIO son ignorados. 0: son buscados también los ficheros que no tienen activo el bit de DIRECTORIO || || 11 || Reservado. Debe ser cero. || || 10 || 1: los ficheros que no tienen activo el bit de SISTEMA son ignorados. 0: son buscados también los ficheros que no tienen activo el bit de SISTEMA || || 9 || 1: los ficheros que no tienen activo el bit de OCULTO son ignorados. 0: son buscados también los ficheros que no tienen activo el bit de OCULTO || || 8 || 1: los ficheros que no tienen activo el bit de SOLO_LECTURA son ignorados. 0: son buscados también los ficheros que no tienen activo el bit de SOLO_LECTURA || || 7-6 || Reservados. Deben ser cero. || || 5 || 1: incluye los ficheros que tienen activo el bit de ARCHIVO. 0: excluye los ficheros que tienen activo el bit de ARCHIVO. || || 4 || 1: incluye los ficheros que tienen activo el bit de DIRECTORIO. 0: excluye los ficheros que tienen activo el bit de DIRECTORIO. || || 3 || Reservado. Debe ser cero. || || 2 || 1: incluye los ficheros que tienen activo el bit de SISTEMA. 0: excluye los ficheros que tienen activo el bit de SISTEMA. || || 1 || 1: incluye los ficheros que tienen activo el bit de OCULTO. 0: excluye los ficheros que tienen activo el bit de OCULTO. || || || 1: incluye los ficheros que tienen activo el bit de SOLO_LECTURA. 0: excluye los ficheros que tienen activo el bit de SOLO_LECTURA. || ||
|| pResultBuf || Puntero al buffer en donde se almacenarán los resultados de la búsqueda. ||
|| ulResultBufLen || Contiene la longitud, en bytes, de ResultBuf ||
|| pSearchCount || Puntero a una variable de cuenta de coincidencias. Al hacer la llamada, esta variable debe contener el número máximo de entradas que se quieren leer en ResultBuf. Al retornar, contiene el número de entradas que hay realmente. ||
|| ulFileInfoLevel || Especifica el nivel de información que se desea:
1 es el nivel estandar. Con 2 y 3 se accede a los EAs. ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 3 || Path no encontrado ||
|| 6 || HANDLE no valido ||
|| 18 || No hay más ficheros ||
|| 26 || Disco sin sistema de ficheros ||
|| 87 || Parámetro no valido ||
|| 108 || Unidad bloqueada ||
|| 111 || Desbordamiento del buffer ||
|| 113 || No hay más handles de busqueda ||
|| 206 || Nombre de fichero demasiado largo ||
|| 208 || Meta-expansion demasiado larga ||
|| 254 || Nombre de EA no válido ||
|| 275 || EAs no coinciden ||






DosFindNext




DosFindNext encuentra el siguiente archivo de un directorio que coincide con la cadena de busqueda dada en un DosFindFirst. Al usarse un handle para identificar la búsqueda, se pueden hacer varias simultáneamente.

#define INCL_BASE
#include <os2.h>

HDIR hdirDirHandle;
PVOID pResultBuf;
ULONG ulResultBufLen;
PULONG pSearchCount;
APIRET rc; /* Codigo de error */

rc = DosFindNext (hdirDirHandle, pResultBuf, ulResultBufLen, pSearchCount);

||

Parámetros

|| || hdirDirHandle || Handle de busqueda, proporcionado por DosFindFirst. ||
|| pResultBuf || Puntero al buffer donde almacenará las coincidencias encontradas. ||
|| ulResultBufLen || La longitud en bytes de ResultBuf. ||
|| pSearchCount || Antes de la llamada, debe contener el número máximo de encuentros que se deben almacenar en el buffer a la vez. Al retornar, contentrá el número de coincidencias que realmente se han encontrado. ||

||

Codigos de error

|| || || Sin error ||
|| 6 || HANDLE no valido ||
|| 18 || No hay más ficheros ||
|| 26 || Disco sin sistema de ficheros ||
|| 87 || Parámetro no valido ||
|| 111 || Desbordamiento del buffer ||
|| 275 || EAs no coinciden ||






DosForceDelete




DosForceDelete borra un fichero, de forma que es irrecuperable.

#define INCL_BASE
#include <os2.h>

PSZ pszFileName;
APIRET rc; /* Codigo de error */

rc = DosForceDelete(pszFileName);

||

Parámetros

|| || pszFileName || Puntero a una cadena con el nombre del fichero a borrar. Puede ir acompañado de un path y una unidad. Si ésta no es especificada, se toma la unidad actual. La barra derecha (/) y la invertida (\) pueden ser usadas indistintamente. ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 3 || Path no encontrado ||
|| 5 || Acceso denegado ||
|| 26 || Disco sin sistema de ficheros ||
|| 32 || Violación de compartición ||
|| 36 || Desbordamiento del buffer de compartición ||
|| 87 || Parámetro no valido ||
|| 206 || Nombre de fichero demasiado largo ||






DosMove




DosMove mueve un fichero de un directorio a otro distinto.

#define INCL_BASE
#include <os2.h>

PSZ pszOldPathName;
PSZ pszNewPathName;
APIRET rc; /* Codigo de error */

rc = DosMove(pszOldPathName, pszNewPathName);

||

Parámetros

|| || pszOldPathName || Puntero a una cadena con el nombre del fichero a mover. Puede ir acompañado de un path. La barra derecha (/) y la invertida (\) pueden ser usadas indistintamente. ||
|| pszNewPathName || Puntero a una cadena con el nuevo nombre del fichero. Puede ir acompañado de un path. La barra derecha (/) y la invertida (\) pueden ser usadas indistintamente. ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 3 || Path no encontrado ||
|| 5 || Acceso denegado ||
|| 17 || Los dispositivos fuente y destino son distintos ||
|| 26 || Disco sin sistema de ficheros ||
|| 32 || Violación de compartición ||
|| 36 || Desbordamiento del buffer de compartición ||
|| 87 || Parámetro no valido ||
|| 108 || Unidad bloqueada ||
|| 206 || Nombre de fichero demasiado largo ||
|| 250 || Fichero origen y destino son el mismo ||
|| 251 || El directorio destino está dentro del fuente ||






DosOpen




DosOpen abre un fichero nuevo o uno ya existente para trabajar con él.

#define INCL_BASE
#include <os2.h>

PSZ pszFileName;
PHFILE pshfFileHandle;
PULONG pActionTaken;
ULONG ulFileSize;
ULONG ulFileAttribute;
ULONG ulOpenFlag;
ULONG ulOpenMode;
PEAOP2 pEABuf;
APIRET rc; /* Codigo de error */

rc = DosOpen(pszFileName, pshfFileHandle, pActionTaken, ulFileSize, ulFileAttribute, ulOpenFlag, ulOpenMode, pEABuf);

||

Parámetros

|| || pszFileName || Puntero a una cadena con el nombre del fichero a abrir. Puede ir acompañado de un path. La barra derecha (/) y la invertida (\) pueden ser usadas indistintamente. ||
|| pshfFileHandle || Puntero a una variable donde OS/2 almacenará el handle asignado al fichero. ||
|| pActionTaken || Puntero a una variable donde OS/2 almacenará un valor que indica la acción tomada por DosOpen. Si la función falla, este valor no tiene significado. ||
|| || || Valor || Definición || || 1 || El fichero existía || || 2 || El fichero fue creado (no existía) || || 3 || El fichero fue truncado (existía y fue reescrito) || ||
|| ulFileSize || Nuevo tamaño lógico (fin de fichero, EOF) en bytes. Este parámetro solo es válido cuando se crea un nuevo fichero o se reescribe uno. En otro caso es ignorado. Es un error crear o reemplazar un fichero con una longitud distinta de cero si el modo de apertura está puesto en SOLO_LECTURA ||
|| ulFileAttribute || Doble palabra conteniendo el siguiente mapa de bits. Solo es válido si el fichero es creado. ||
|| || || Bit || Descripción || || 31-6 || Reservados. Deben ser cero. || || 5 || El fichero ha sido archivado (bit ARCHIVO activo) || || 4 || El fichero es un subdirectorio. || || 3 || Reservado. Debe ser cero. || || 2 || El fichero es un archivo de sistema. || || 1 || El fichero es oculto y no aparece en una lista del directorio. || || || El fichero puede ser leido, pero no escrito. SOLO_LECTURA. || || || Si está desactivado, el fichero puede ser leido y escrito. || ||
|| ulOpenFlag || Campo de bits de doble palabra que indica la acción a tomar en caso de que exista o no el fichero. ||
|| || || Bits || Descripción || || 31-8 || Reservados. Deben ser cero. || || 7-4 || 0000: Abre un fichero que ya existe; falla si no existe.
0001: Abre un fichero si existe; lo crea el fichero si no existe. || || 3-0 || 0000: Crea el fichero. Falla si ya existe.
0001: Abre el fichero si ya existe.
0010: Abre el fichero; si ya existe lo reescribe. || ||
|| ulOpenMode || Campo de bits de doble palabra que describe el modo de operación de la función. ||
|| || || Bit || Descripción || || 31-16 || Reservado. Debe ser cero. || || 15 || Apertura directa:
0: FileName representa un fichero para ser abierto normalmente.
1: FileName es 'unidad' (como C: o A:), y representa una unidad de disco o disquete para ser abierta para un acceso directo. || || 14 || 0: Las escrituras en el fichero son a través de la cache de disco. El sistema de ficheros escribe los sectores cuando ésta se llena o el fichero es cerrado.
1: Las escrituras en el fichero son a través de la cache de disco, pero los sectores son escritos antes del retorno de una llamada de escritura síncrona. Este estado del fichero lo define como un archivo síncrono. || || 13 || Bit de notificación de errores físicos.
0: Los errores van a través del manejador del sistema.
1: Los errores son notificados al thread que hizo la llamada a través de un código de retorno. || || 12 || 0: El driver de disco puede poner datos de las operaciones de I/O en su cache.
1: Las operaciones de I/O al fichero no deben ser realizadas a través del cache del sistema de ficheros. || || 11 || Reservado. Debe ser cero. || || 10-8 || Especifica el modo en que se va a acceder al fichero, de cara a la colocación de los datos en el disco:
000: Sin un modo concreto.
001: Principalmente acceso secuencial.
010: Principalmente acceso aleatorio.
011: Aleatorio concentrado en zonas concretas. || || 7 || 0: El handle del fichero puede ser heredado por procesos creados con DosExecPgm.
1: El handle del fichero es privado, y solo accesible por el proceso actual. || || 6-4 || Modos de compartición del fichero:
001: DENY_ALL; no se permite que otros procesos accedan.
010: DENY_WRITE; otros procesos pueden abrirlo para lectura, pero no para escritura.
011: DENY_READ; otros procesos pueden abrirlo para escritura, pero no para lectura.
100: DENY_NONE; otros procesos pueden abrirlo para lectura y para escritura. || || 3 || Reservado. Debe ser cero. || || 2-0 || Modo de acceso. Define como va a acceder el proceso que ha abierto el fichero:
000: READ_ONLY; solo va a realizar operaciones de lectura.
001; WRITE_ONLY; solo va a realizar operaciones de escritura.
010; READ_WRITE; va a realizar operaciones de lectura y escritura. || ||
|| pEABuf || Puntero a una variable de EAs. Antes de hacer la llamada, debe contener una estructura de atributos extendidos. A la salida, no hay cambios en ella. Si no se van a definir o modificar atributos extendidos, pEABuf debe apuntar a cero. ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 3 || Path no encontrado ||
|| 4 || Demasiados archivos abiertos ||
|| 5 || Acceso denegado ||
|| 12 || Modo de acceso no valido ||
|| 26 || Disco sin sistema de ficheros ||
|| 32 || Violación de compartición ||
|| 36 || Desbordamiento del buffer de compartición ||
|| 82 || No se puede crear fichero ||
|| 87 || Parámetro no valido ||
|| 99 || Dispositivo en uso ||
|| 108 || Unidad bloqueada ||
|| 110 || Fallo en la apertura ||
|| 112 || Disco lleno ||
|| 206 || Nombre de fichero demasiado largo ||
|| 231 || Cauce (pipe) ocupado. ||






DosQueryCurrentDir




DosQueryCurrentDir devuelve el path completo del directorio actual para el proceso que realiza la llamada. Es necesario indicar una unidad, pues para cada una de ellas hay un path distinto.

#define INCL_BASE
#include <os2.h>

ULONG ulDriveNumber;
PBYTE pbDirPath;
PULONG pDirPathLen;
APIRET rc; /* Codigo de error */

rc = DosQueryCurrentDir(ulDriveNumber, pbDirPath, pDirPathLen);

||

Parámetros

|| || ulDriveNumber || Numero de unidad. El valor 0 indica la unidad actual, 1 es la unidad A, 2 es la unidad B, 3 la unidad C, etc. ||
|| pbDirPath || Puntero al buffer en donde OS/2 devolverá el path completo. ||
|| pDirPathLen || Puntero a una variable. Antes de la llamada debe contener la longitud del buffer. A la salida, si ocurre un error por ser un buffer muy pequeño, contendrá la longitud mínima necesaria en bytes. ||

||

Codigos de error

|| || || Sin error ||
|| 15 || Unidad no válida ||
|| 26 || Disco sin sistema de ficheros ||
|| 108 || Unidad bloqueada ||
|| 111 || Desbordamiento del buffer ||






DosQueryCurrentDisk




DosQueryCurrentDisk devuelve la unidad por defecto para el proceso que hace la llamada.

#define INCL_BASE
#include <os2.h>

PULONG pDriveNumber;
PULONG pLogicalDriveMap;
APIRET rc; /* Codigo de error */

rc = DosQueryCurrentDisk(pDriveNumber, pLogicalDriveMap);

||

Parámetros

|| || pDriveNumber || Puntero a una variable donde OS/2 devolverá el número de la unidad por defecto. El valor 1 es la unidad A, el 2 la unidad B, el 3 la unidad C, etc. ||
|| pLogicalDriveMap || Puntero a un mapa de bits donde el sistema devuelve un mapa de las unidades lógicas disponibles. Las unidades de la A a la Z tienen cada una un bit asignado, desde el 0 al 25, del mapa. Por ejemplo, el bit 0 representa la unidad A, el 1 la unidad B, etc. El significado de dicho bit es el siguiente: ||
|| || || Valor || Definición || || || La unidad lógica no existe || || 1 || La unidad lógica sí existe || ||

||

Codigos de error

|| || || Sin error ||






DosRead




DosRead lee el número especificado de bytes a un buffer, desde un fichero, cauce o dispositivo.

#define INCL_BASE
#include <os2.h>

HFILE FileHandle;
PVOID pBufferArea;
ULONG ulBufferLength;
PULONG pBytesRead;
APIRET rc; /* Codigo de error */

rc = DosRead(FileHandle, pBufferArea, ulBufferLength, pBytesRead);

||

Parámetros

|| || FileHandle || Handle obtenido de DosOpen. ||
|| pBufferArea || Puntero a un buffer donde recibir los bytes leidos. ||
|| ulBufferLength || Longitud en bytes del buffer. Es el número de bytes a leer. ||
|| pBytesRead || Puntero a una variable donde OS/2 escribe el número de bytes leidos realmente. ||

||

Codigos de error

|| || || Sin error ||
|| 5 || Acceso denegado ||
|| 6 || HANDLE no valido ||
|| 26 || Disco sin sistema de ficheros ||
|| 33 || Violación del bloqueo ||
|| 109 || El cauce (pipe) está cerrado ||
|| 234 || Demasiados datos ||






DosResetBuffer




DosResetBuffer escribe los buffers de escritura del fichero indicado. Cuando se escriben caracteres en un fichero, estos son almacenados en un buffer de, al menos, un sector, el cual se escribe cuando se llena o cuando se cierra el fichero. Esta llamada fuerza una escritura de dicho buffer aun cuando no esté lleno.

#define INCL_BASE
#include <os2.h>

HFILE FileHandle;
APIRET rc; /* Codigo de error */

rc = DosResetBuffer(FileHandle);

||

Parámetros

|| || FileHandle || Un handle al fichero cuyo buffer se quiere almacenar. ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 5 || Acceso denegado ||
|| 6 || HANDLE no valido ||






DosScanEnv




DosScanEnv busca una variable de entorno (asignada con SET en el CONFIG.SYS o desde la línea de comandos) y devuelve su contenido.

#define INCL_BASE
#include <os2.h>

PSZ pszEnvVarName;
PSZ pszResultPointer;
APIRET rc; /* Codigo de error */

rc = DosScanEnv(pszEnvVarName, &pszResultPointer);

||

Parámetros

|| || pszEnvVarName || Puntero a una cadena con la variable de entorno a buscar. No se debe incluir el signo igual (=) pues no es parte del nombre. ||
|| pszResultPointer || Puntero a una variable donde el sistema devuelve un puntero a una cadena con el contenido de la variable de entorno. ResultPointer apunta al primer caracter de dicha cadena. ||

||

Codigos de error

|| || || Sin error ||
|| 203 || Variable de entorno no encontrada ||






DosSetCurrentDir




DosSetCurrentDir permite cambiar el directorio por defecto. Solo afecta al proceso que realiza la llamada.

#define INCL_BASE
#include <os2.h>

PSZ pszDirName;
APIRET rc; /* Codigo de error */

rc = DosSetCurrentDir(pszDirName);

||

Parámetros

|| || pszDirName || Puntero a una cadena con el nuevo Path. ||

||

Codigos de error

|| || || Sin error ||
|| 2 || Fichero no encontrado ||
|| 3 || Path no encontrado ||
|| 5 || Acceso denegado ||
|| 8 || No hay suficiente memoria ||
|| 26 || Disco sin sistema de ficheros ||
|| 87 || Parámetro no valido ||
|| 108 || Unidad bloqueada ||
|| 206 || Nombre de fichero demasiado largo ||






DosSetDefaultDisk




DosSetDefaultDisk cambia la unidad por defecto. Solo afecta al proceso que hace la llamada.

#define INCL_BASE
#include <os2.h>

ulDriveNumber;
APIRET rc; /* Codigo de error */

rc = DosSetDefaultDisk(ulDriveNumber);

||

Parámetros

|| || ulDriveNumber || Nueva unidad por defecto. El valor 1 representa a la unidad A, 2 es la unidad B, 3 es la unidad C, etc. ||

||

Codigos de error

|| || || Sin error ||
|| 15 || Unidad no válida ||






DosShutdown




DosShutdown graba todos los buffers del sistema, cierra los ficheros abiertos y graba la cache, preparando el sistema para apagarlo. Puede tardar varios segundos en ejecutarse.

#define INCL_BASE
#include <os2.h>

ULONG ulReserved;
APIRET rc; /* Codigo de error */

rc = DosShutdown(ulReserved);

||

Parámetros

|| || ulReserved || Doble palabra. Debe valer cero. ||

||

Codigos de error

|| || || Sin error ||
|| 87 || Parámetro no valido ||
|| 274 || Ya se está ejecutando un ShutDown ||






DosWrite




DosWrite escribe un determinado grupo de bytes desde un buffer al fichero especificado.

#define INCL_BASE
#include <os2.h>

HFILE FileHandle;
PVOID pBufferArea;
ULONG ulBufferLength;
PULONG pBytesWritten;
APIRET rc; /* Codigo de error */

rc = DosWrite(FileHandle, pBufferArea, ulBufferLength, pBytesWritten);

||

Parámetros

|| || FileHandle || Contiene un handle obtenido con DosOpen ||
|| pBufferArea || Puntero al buffer que contiene los datos a escribir ||
|| ulBufferLength || Numero de bytes a escribir ||
|| pBytesWritten || Puntero a una variable donde OS/2 devolverá el número de bytes escritos realmente ||

||

Codigos de error

|| || || Sin error ||
|| 5 || Acceso denegado ||
|| 6 || HANDLE no valido ||
|| 19 || El sistema es de solo lectura o está protegido contra escritura ||
|| 26 || Disco sin sistema de ficheros ||
|| 29 || Ha fallado la escritura ||
|| 33 || Violación del bloqueo ||
|| 109 || El cauce (pipe) está cerrado ||
Autor y licencia de 'Manual de Programación en OS/2 - APENDICE A. Llamadas dosxxx del sistema de ficheros'
Supertutoriales Extraído de: http://www.publispain.com/supertutoriales

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Manual de Programación en OS/2 - APENDICE A. Llamadas dosxxx del sistema de ficheros'

El objetivo de este documento es mostrar las características básicas del Sistema de Ficheros Distribuido... Más »
Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien... Más »
El sistema inmune es el sistema de defensa que tienen los organismos superiores. Es un... Más »
Este documento describe cómo usar el sistema de spooling para impresoras de líneas que provee... Más »
En el presente trabajo los autores presentan una reflexión sobre los factores que inciden en... Más »
¿Estás seguro de que deseas eliminar este capítulo?