Condividi tramite


Funzione EngMapFile (winddi.h)

La funzione EngMapFile crea o apre un file e la esegue il mapping nello spazio di sistema.

Sintassi

ENGAPI PVOID EngMapFile(
  [in]  LPWSTR    pwsz,
  [in]  ULONG     cjSize,
  [out] ULONG_PTR *piFile
);

Parametri

[in] pwsz

Puntatore a una stringa con terminazione null contenente il nome completo del file da eseguire il mapping. Un esempio di stringa di nome file completo è L"\?? \c:\test.dat".

[in] cjSize

Specifica il numero di byte del file da mappare.

[out] piFile

Puntatore a un percorso di memoria che riceve un identificatore per il file mappato, purché il mapping abbia avuto esito positivo. Se il mapping non è riuscito, la posizione di memoria riceve il valore zero. Quando il file mappato deve essere rilasciato, questo valore deve essere passato a EngUnmapFile.

Valore restituito

EngMapFile restituisce un puntatore alla visualizzazione mappata del file se ha esito positivo. In caso contrario, restituisce NULL.

Commenti

Se il file esiste già, EngMapFile viene aperto e mappato per la lettura/scrittura. Se il file non esiste, EngMapFile crea e lo esegue il mapping per la lettura/scrittura.

Il valore di cjSize influisce sul mapping del file come indicato di seguito:

  • Quando cjSize è zero, GDI esegue il mapping del file nell'intera dimensione.
  • Quando cjSize è maggiore delle dimensioni del file, GDI espande il file in byte cjSize prima di eseguire il mapping nella memoria di sistema. Nessun presupposto deve essere fatto sul contenuto della memoria che si estende oltre le dimensioni originali del file.
  • Quando cjSize è minore delle dimensioni del file, GDI tronca il file in byte cjSize prima di eseguire il mapping nella memoria di sistema.
Un driver può leggere e scrivere nel file tramite il puntatore restituito.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Universale
Intestazione winddi.h (include Winddi.h)
Libreria Win32k.lib
DLL Win32k.sys

Vedi anche

EngDeleteFile

EngUnmapFile