Funzione FsRtlCreateSectionForDataScan (ntifs.h)
La routine FsRtlCreateSectionForDataScan crea un oggetto sezione. Usare questa routine con estrema cautela. Vedere la sezione Osservazioni seguenti.
Sintassi
NTSTATUS FsRtlCreateSectionForDataScan(
[out] PHANDLE SectionHandle,
[out] PVOID *SectionObject,
[out, optional] PLARGE_INTEGER SectionFileSize,
[in] PFILE_OBJECT FileObject,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in, optional] PLARGE_INTEGER MaximumSize,
[in] ULONG SectionPageProtection,
[in] ULONG AllocationAttributes,
[in] ULONG Flags
);
Parametri
[out] SectionHandle
Puntatore a una variabile allocata dal chiamante che riceve un handle opaco all'oggetto sezione.
[out] SectionObject
Puntatore a una variabile allocata dal chiamante che riceve un puntatore opaco all'oggetto sezione.
[out, optional] SectionFileSize
Puntatore a una variabile allocata dal chiamante che riceve le dimensioni, in byte, del file al momento della creazione dell'oggetto sezione. Questo parametro è facoltativo e può essere NULL.
[in] FileObject
Oggetto file per un file aperto. L'oggetto sezione verrà supportato dal file specificato. Questo parametro è obbligatorio e non può essere NULL.
[in] DesiredAccess
Specifica l'accesso desiderato per l'oggetto sezione come uno o più flag di ACCESS_MASK seguenti.
Flag DesiredAccess | Consente al chiamante di |
---|---|
SECTION_MAP_READ | Leggere le visualizzazioni della sezione. |
SECTION_MAP_WRITE | Scrivere visualizzazioni della sezione. |
SECTION_QUERY | Eseguire una query sull'oggetto sezione per informazioni sulla sezione. I driver devono impostare questo flag. |
SECTION_ALL_ACCESS | Tutte le azioni definite dai flag precedenti e da quella definita da STANDARD_RIGHTS_REQUIRED. Per altre informazioni sulle STANDARD_RIGHTS_REQUIRED, vedere ACCESS_MASK. |
[in, optional] ObjectAttributes
Puntatore a una struttura OBJECT_ATTRIBUTES che specifica il nome dell'oggetto e altri attributi. Usare la macro InitializeObjectAttributes per inizializzare questa struttura. Poiché FsRtlCreateSectionForDataScan inserisce questo oggetto nella tabella di handle del processo, il chiamante deve specificare l'attributo OBJ_KERNEL_HANDLE quando chiama InitializeObjectAttributes.
[in, optional] MaximumSize
Questo parametro è riservato per usi futuri.
[in] SectionPageProtection
Specifica la protezione da inserire in ogni pagina della sezione. Specificare uno dei valori seguenti. Questo parametro è obbligatorio e non può essere zero.
Contrassegno | Significato |
---|---|
PAGE_READONLY | Abilita l'accesso in sola lettura all'area di commit delle pagine. Un tentativo di scrittura nell'area di commit comporta una violazione di accesso. Se il sistema differenzia l'accesso in sola lettura ed esegui l'accesso, un tentativo di esecuzione del codice nell'area di commit comporta una violazione di accesso. |
PAGE_READWRITE | Abilita sia l'accesso in lettura che in scrittura all'area di commit delle pagine. |
[in] AllocationAttributes
I mascheramenti bit dei flag SEC_XXX determinano gli attributi di allocazione della sezione. Specificare uno o più dei valori seguenti. Questo parametro è obbligatorio e non può essere zero.
Contrassegno | Significato |
---|---|
SEC_COMMIT | Alloca l'archiviazione fisica in memoria o nel file di paging su disco per tutte le pagine di una sezione. Si tratta dell'impostazione predefinita. Si noti che questo flag è obbligatorio e non può essere omesso. |
SEC_FILE | Il file specificato dal parametro FileObject è un file mappato. |
[in] Flags
Questo parametro è riservato per usi futuri.
Valore restituito
FsRtlCreateSectionForDataScan restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
|
La dimensione del file specificata dal parametro FileObject è zero. Si tratta di un codice di errore. |
|
Il file specificato dal parametro FileObject è bloccato. Si tratta di un codice di errore. |
|
FsRtlCreateSectionForDataScan ha rilevato un errore di allocazione del pool. Si tratta di un codice di errore. |
|
Il file specificato dal parametro FileObject non supporta le sezioni. Si tratta di un codice di errore. |
|
Il valore specificato per il parametro SectionPageProtection non è valido. Si tratta di un codice di errore. |
|
Il chiamante ha specificato un valore non valido per il parametro AllocationAttributes. Si tratta di un codice di errore. |
|
Il chiamante non ha il privilegio necessario per creare un oggetto sezione con l'accesso specificato nel parametro DesiredAccess. Si tratta di un codice di errore. |
Commenti
Per altre informazioni sulla creazione di sezioni mappate e viste di memoria, vedere Oggetti e visualizzazioni della sezione. Vedere anche la documentazione per la routine CreateFileMapping nel Microsoft Windows SDK.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Aggiornamento cumulativo per Windows 2000 Service Pack 4 (SP4); Rollup di Filter Manager per Windows XP Service Pack 2 (SP2). |
Server minimo supportato | Microsoft Windows Server 2003 SP1 |
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per