¿Cómo utilizar la función createfile de la API de VB?
Declarar función CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName como cadena, ByVal dwDesiredAccess mientras, ByVal dwShareMode mientras, lpSecurityAttributes como SECURITY_ATTRIBUTES, ByVal dwCreationDisposition mientras, ByVal dwFlagsAndAttributes mientras, ByVal hTemplateFile As Long) As Long
Descripción
Esta es una rutina con todas las funciones que puede abrir y crear archivos, canalizaciones, ranuras de correo, servicios de comunicación, dispositivos y consolas
p>Valor de retorno
Largo, si la ejecución es exitosa, se devuelve el identificador del archivo. INVALID_HANDLE_VALUE indica un error y se establecerá GetLastError. Incluso si la función tiene éxito, si el archivo existe y se especifica CREATE_ALWAYS u OPEN_ALWAYS, GetLastError se establecerá en ERROR_ALREADY_EXISTS
Lista de parámetros
Tipo y descripción de parámetros
lpFileName Cadena, el nombre del archivo que se abrirá
dwDesiredAccess Largo, si es GENERIC_READ, significa que se permite el acceso de lectura al dispositivo, si es GENERIC_WRITE, significa que el acceso de escritura al dispositivo; está permitido (se puede utilizar en combinación) el archivo está permitido
lpSecurityAttributes SECURITY_ATTRIBUTES, un puntero a una estructura SECURITY_ATTRIBUTES, que define las características de seguridad del archivo (si lo admite el sistema operativo)
dwCreationDisposition Long, uno de los siguientes constantes:
CREATE_NEW Crea un archivo como Se producirá un error si el archivo existe
CREATE_ALWAYS crea un archivo y sobrescribirá el archivo anterior
OPEN_EXISTING El archivo ya debe existir.
Solicitado por el dispositivo
OPEN_ALWAYS Crear el archivo si no existe
TRUNCATE_EXISTING Acortar un archivo existente a longitud cero
dwFlagsAndAttributes Largo, uno o más de los siguiente Constante descrita
FILE_ATTRIBUTE_ARCHIVE Marcar atributo de archivo
FILE_ATTRIBUTE_COMPRESSED Marcar el archivo como comprimido o marcar el archivo como el método de compresión predeterminado en el directorio
FILE_ATTRIBUTE_NORMAL Atributo predeterminado
FILE_ATTRIBUTE_HIDDEN Archivos o directorios ocultos
FILE_ATTRIBUTE_READONLY Los archivos son de solo lectura
FILE_ATTRIBUTE_SYSTEM Los archivos son archivos del sistema
FILE_FLAG_WRITE_THROUGH El sistema operativo no debe diferir el acceso al archivo Operaciones de escritura
FILE_FLAG_OVERLAPPED permite operaciones superpuestas en el archivo
FILE_FLAG_NO_BUFFERING deshabilita el almacenamiento en búfer del archivo. Los archivos solo se pueden escribir en bloques sectoriales de volúmenes de disco
FILE_FLAG_RANDOM_ACCESS Optimiza el almacenamiento en búfer de archivos para acceso aleatorio
FILE_FLAG_SEQUENTIAL_SCAN Optimiza el almacenamiento en búfer de archivos para acceso secuencial
FILE_FLAG_DELETE_ON_CLOSE Elimina el archivo después de cerrar la última manija abierta. Especialmente adecuado para archivos temporales
Las siguientes etiquetas constantes también se pueden utilizar en combinación en Windows NT:
SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION, SECURITY_IMPERSONATION, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING, SECURITY_EFFECTIVE_ONLY
hTemplateFile Long, si es distinto de cero, especifica un identificador de archivo. El nuevo archivo copiará los atributos extendidos de este archivo
Notas
Al abrir un puerto de comunicación (como COM1), debe configurarse en OPEN_EXISTING de todos modos
Esta función reemplaza las funciones lOpen y lCreate y debería ser nuestra primera opción
Espero que esto te sea útil. Te he explicado completamente cómo usar esta función API y puedes usarla de acuerdo con ella. tus propias necesidades!