Funzione LZOpenFileA (lzexpand.h)
Crea, apre, riapri o elimina il file specificato.
Sintassi
INT LZOpenFileA(
[in] LPSTR 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 quando il file viene aperto per la prima volta. La struttura può essere usata nelle chiamate successive alla funzione LZOpenFile per visualizzare il file aperto.
Il membro szPathName di questa struttura contiene caratteri dal set di caratteri OEM (Original Equipment Manufacturer).
[in] wStyle
Azione da intraprendere. Questo parametro può essere uno o più dei valori seguenti.
Valore | Significato |
---|---|
|
Ignorato. Fornito solo per la compatibilità con Windows a 16 bit. Usare 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 quindi lo chiude per verificare l'esistenza di un file. |
|
Riempie la struttura OFSTRUCT ma non esegue alcuna altra azione. |
|
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 pulsanti Retry e Cancel . Facendo clic sul pulsante Annulla viene diretto LZOpenFile per restituire un file non trovato messaggio di errore. |
|
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 l'accesso in scrittura ad altri processi 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 non riesce 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 viene 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 inferiori a 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. |
|
Il numero massimo di file compressi aperti è stato superato 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 viene 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 quasi lo stesso nome di file, ad eccezione dell'ultimo carattere viene sostituito con un carattere di sottolineatura (""). Pertanto, se un tentativo di apertura "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 del nome 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 con scalabilità orizzontale (SO) | Sì |
File system del volume condiviso cluster (CsvFS) | Sì |
Resilient File System (ReFS) | Sì |
CsvFs eseguirà operazioni di I/O reindirizzate 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | lzexpand.h (include Windows.h) |
Libreria | Lz32.lib |
DLL | Lz32.dll |