Funzione LZOpenFileW (lzexpand.h)
Crea, apre, riapre o elimina il file specificato.
Sintassi
INT LZOpenFileW(
[in] LPWSTR lpFileName,
[out] LPOFSTRUCT lpReOpenBuf,
[in] WORD wStyle
);
Parametri
[in] lpFileName
Nome del file.
[out] lpReOpenBuf
Puntatore alla struttura OFSTRUCT che deve ricevere informazioni sul file al primo apertura del file. La struttura può essere usata nelle chiamate successive alla funzione LZOpenFile per visualizzare il file aperto.
Il membro szPathName di questa struttura contiene caratteri del set di caratteri OEM (Original Equipment Manufacturer).
[in] wStyle
Azione da eseguire. Questo parametro può essere uno o più dei valori seguenti.
Valore | Significato |
---|---|
|
Ignorato. Fornito solo per la compatibilità con Windows a 16 bit. Utilizzare lo stile OF_PROMPT per visualizzare una finestra di dialogo contenente un pulsante Annulla . |
|
Indirizza LZOpenFile per creare un nuovo file. Se il file esiste già, viene troncato a lunghezza zero. |
|
Elimina il file. |
|
Apre il file e lo chiude per verificare l'esistenza di un file. |
|
Riempie la struttura OFSTRUCT ma non esegue altre azioni. |
|
Visualizza una finestra di dialogo se il file richiesto non esiste. La finestra di dialogo informa l'utente che il sistema non riesce a trovare il file e contiene i pulsanti Riprova e Annulla . Facendo clic sul pulsante Annulla viene visualizzato il messaggio di errore LZOpenFile per restituire un file non trovato. |
|
Apre il file in sola lettura. |
|
Apre il file per la lettura e la scrittura. |
|
Apre il file usando le informazioni nel buffer di riapertura. |
|
Apre il file senza negare ad altri processi l'accesso in lettura o scrittura al file. LZOpenFile ha esito negativo se il file è stato aperto in modalità di compatibilità da qualsiasi altro processo. |
|
Apre il file e nega ad altri processi l'accesso in lettura al file. LZOpenFile ha esito negativo se il file è stato aperto in modalità di compatibilità o è stato aperto per l'accesso in lettura da qualsiasi altro processo. |
|
Apre il file e nega ad altri processi l'accesso in scrittura al file. LZOpenFile ha esito negativo se il file è stato aperto in modalità di compatibilità o è stato aperto per l'accesso in scrittura da qualsiasi altro processo. |
|
Apre il file in modalità esclusiva, negando ad altri processi l'accesso in lettura e scrittura al file. LZOpenFile ha esito negativo se il file è stato aperto in qualsiasi altra modalità per l'accesso in lettura o scrittura, anche dal processo corrente. |
|
Apre il file per la sola scrittura. |
Valore restituito
Se la funzione ha esito positivo e il valore specificato dal parametro wStyle non è OF_READ, il valore restituito è un handle che identifica il file. Se il file è compresso e aperto con wStyle impostato su OF_READ, il valore restituito è un handle di file speciale.
Se la funzione ha esito negativo, il valore restituito è un codice LZERROR_* . Questi codici hanno valori minori di zero. Non sono presenti informazioni di errore estese per questa funzione; non chiamare GetLastError.
Codice/valore restituito | Descrizione |
---|---|
|
L'handle che identifica il file di origine non è valido. Impossibile leggere il file. |
|
È stato superato il numero massimo di file compressi aperti o non è possibile allocare memoria locale. |
Commenti
Se il parametro wStyle è il flag OF_READ (o OF_READ e uno dei flag OF_SHARE_* ) e il file è compresso, LZOpenFile chiama la funzione LZInit , che esegue l'inizializzazione necessaria per le operazioni di decompressione.
L'handle restituito da questa funzione è compatibile solo con le funzioni in Lz32.dll; non deve essere usato per altre operazioni di file.
Se LZOpenFile non è in grado di aprire il file specificato da lpFileName, in alcune versioni di Windows tenta di aprire un file con lo stesso nome di file, ad eccezione dell'ultimo carattere viene sostituito con un carattere di sottolineatura (""). Pertanto, se un tentativo di apertura di "MyProgram.exe" ha esito negativo, LZOpenFile tenta di aprire "MyProgram.ex". I pacchetti di installazione spesso sostituiscono il carattere di sottolineatura per l'ultima lettera di un'estensione di file per indicare che il file è compresso. Ad esempio, "MyProgram.exe" compresso potrebbe essere denominato "MyProgram.ex_". Per determinare il nome del file aperto (se presente), esaminare il membro szPathName della struttura OFSTRUCT nel parametro lpReOpenBuf .
In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) | Sì |
File system del volume condiviso del cluster (CsvFS) | Sì |
File system resiliente (ReFS) | Sì |
CsvFs eseguirà il reindirizzamento di I/O per i file compressi.
Nota
L'intestazione lzexpand.h definisce LZOpenFile 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 [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | lzexpand.h (includere Windows.h) |
Libreria | Lz32.lib |
DLL | Lz32.dll |