Condividi tramite


Funzione CreateDirectoryA (fileapi.h)

Crea una nuova directory. Se il file system sottostante supporta la sicurezza nei file e nelle directory, la funzione applica un descrittore di sicurezza specificato alla nuova directory.

Per specificare una directory modello, usare la funzione CreateDirectoryEx .

Per eseguire questa operazione come operazione transacted, usare la funzione CreateDirectoryTransacted .

Sintassi

BOOL CreateDirectoryA(
  [in]           LPCSTR                lpPathName,
  [in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

Parametri

[in] lpPathName

Percorso della directory da creare.

Per impostazione predefinita, il nome è limitato a MAX_PATH caratteri. Per estendere questo limite a 32.767 caratteri wide, prependo "\\?\" al percorso. Per altre informazioni, vedere Denominazione di file, percorsi e spazi dei nomi.

Suggerimento

A partire da Windows 10, versione 1607, è possibile scegliere di rimuovere la limitazione MAX_PATH senza pre sospeso "\\?\". Per informazioni dettagliate, vedere la sezione "Limitazione massima lunghezza percorso" di nomi, nomi, percorsi e spazi dei nomi .

[in, optional] lpSecurityAttributes

Puntatore a una struttura SECURITY_ATTRIBUTES . Il membro lpSecurityDescriptor della struttura specifica un descrittore di sicurezza per la nuova directory. Se lpSecurityAttributes è NULL, la directory ottiene un descrittore di sicurezza predefinito. Gli ACL nel descrittore di sicurezza predefinito per una directory vengono ereditati dalla directory padre.

Il file system di destinazione deve supportare la sicurezza nei file e nelle directory per questo parametro per avere un effetto. Viene indicato quando GetVolumeInformation restituisceFS_PERSISTENT_ACLS.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError. Gli errori possibili includono quanto segue.

Codice restituito Descrizione
ERROR_ALREADY_EXISTS
La directory specificata esiste già.
ERROR_PATH_NOT_FOUND
Una o più directory intermedie non esistono; questa funzione creerà solo la directory finale nel percorso.

Commenti

Alcuni file system, ad esempio il file system NTFS, supportano la compressione o la crittografia per singoli file e directory. Nei volumi formattati per tale file system, una nuova directory eredita gli attributi di compressione e crittografia della directory padre.

Un'applicazione può ottenere un handle in una directory chiamando CreateFile con il set di flag FILE_FLAG_BACKUP_SEMANTICS . Per un esempio di codice, vedere CreateFile.

Per supportare funzioni di ereditarietà che eseguono query sul descrittore di sicurezza di questo oggetto possono determinare e segnalare che l'ereditarietà è effettiva. Per altre informazioni, vedere Propagazione automatica degli ACL ereditabili .

In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.

Tecnologia Supportato
Protocollo SMB (Server Message Block) 3.0
Failover trasparente SMB 3.0 (TFO)
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO)
File system del volume condiviso del cluster (CsvFS)
File system resiliente (ReFS)
 

Esempi

Per un esempio, vedere Recupero e modifica degli attributi di file.

Nota

L'intestazione fileapi.h definisce CreateDirectory come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione fileapi.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

CreateDirectoryEx

CreateDirectoryTransacted

CreateFile

Creazione ed eliminazione di directory

Funzioni di gestione delle directory

RemoveDirectory

SECURITY_ATTRIBUTES

SECURITY_INFORMATION