Private Declare Function CrearFichero Lib "kernel32" Alias "CreateFileW" (ByVal Ruta As String, ByVal ModoAcceso As Long, ByVal ModeCompartido As Long, byref AttributosSeguridad As AtributosDeSeguridad, ByVal Modoapertura As AccionFichero, ByVal AtributosYBanderas As Long, ByVal Plantilla As Long) As Long
Private Type AtributosDeSeguridad
Tamaño As Long ' tamaño en bytes de la estructura 10
Descriptor As Long ' puntero a un descriptor que controla la compartición del uso del fichero. 0 = se asigna por defecto al proceso que lo llama.
Heredable As Boolean ' indica si un nuevo proceso (cuando se crea) hereda el manejador (handle)
End Type
Dim AtSeg as AtributosDeSeguridad ' declaración para esta opción
AtSeg.Tamaño= 10 ' la estructura puede pasarse vacía sin problemas...
Private Enum AccionFichero
ACCION_CREAR_NUEVO = 1 ' Crea un nuevo fichero, si existe ya, falla
ACCION_CREAR_SIEMPRE = 2 ' Crea un nuevo fichero, si existe es sobrescrito.
ACCION_ABRIR_SOLO_SI_EXISTE = 3 ' Abre un fichero, si no existe falla.
ACCION_ABRIR_SIEMPRE = 4 ' Abre un fichero, si no existe se crea
ACCION_TRUNCAR_SOLO_SI_EXISTE = 5 ' abre un fichero y lo sobrescribe (borra su contenido), si no existe falla (debe abrirse para escritura obligatoriamente, para lectura es opcional...
End Enum
dim ModoAp as AccionFichero ' declaración para esta opción
ModoAp = ACCION_ABRIR_SIEMPRE ' ejemplo de valor