Fungsi ClfsMgmtHandleLogFileFull (wdm.h)

Rutinitas ClfsMgmtHandleLogFileFull mencoba membuat lebih banyak ruang tersedia dalam log. Ini mungkin membuat lebih banyak ruang tersedia dengan menambahkan kontainer ke log, atau mungkin meminta klien untuk memindahkan ekor log mereka.

Sintaks

CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
  [in] CLFS_MGMT_CLIENT Client
);

Parameter

[in] Client

Klien yang meminta manajemen CLFS untuk membuat ruang tersedia di log. Nilai parameter ini harus berupa struktur CLFS_MGMT_CLIENT yang diperoleh melalui panggilan ke rutinitas ClfsMgmtRegisterManagedClient .

Nilai kembali

Rutinitas ClfsMgmtHandleLogFileFull mengembalikan salah satu nilai NTSTATUS berikut:

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER Klien tidak mengelola log.
STATUS_INVALID_PARAMETER_1 Nilai yang disediakan untuk parameter Klien adalah NULL atau tidak mewakili klien yang valid.
STATUS_LOG_FULL_HANDLER_IN_PROGRESS Manajemen CLFS sudah mencoba menyelesaikan kondisi penuh file log untuk klien ini.
STATUS_UNSUCCESSFUL Manajemen CLFS tidak dapat memproses permintaan.
STATUS_PENDING Manajemen CLFS memproses permintaan untuk membuat ruang di log.
STATUS_SUCCESS Jumlah ruang yang diminta tersedia dalam log.

Keterangan

Untuk membuat lebih banyak ruang yang tersedia di log, rutinitas ClfsMgmtHandleLogFileFull terlebih dahulu mencoba menambahkan lebih banyak kontainer ke log sesuai dengan tingkat pertumbuhan, ukuran kontainer baru, dan kebijakan ukuran maksimum. Jika lebih banyak kontainer tidak dapat ditambahkan, maka rutinitas ClfsMgmtHandleLogFileFull mencoba membebaskan ruang yang ada dengan memanggil satu atau beberapa fungsi ClfsAdvanceTailCallback klien.

Jika rutinitas ClfsMgmtHandleLogFileFull mengembalikan STATUS_PENDING, fungsi ClfsLogGrowthCompleteCallback klien akan dipanggil ketika permintaan untuk membuat ruang dalam log telah selesai.

Jika rutinitas ClfsMgmtHandleLogFileFull mengembalikan STATUS_LOG_FULL_HANDLER_IN_PROGRESS, klien telah meminta manajemen CLFS untuk menangani kondisi penuh file log. Fungsi ClfsLogGrowthCompleteCallback klien tidak akan dipanggil untuk kedua kalinya.

Jika rutinitas ClfsMgmtHandleLogFileFull mengembalikan STATUS_SUCCESS, panggilan selesai secara sinkron, dan fungsi ClfsLogGrowthCompleteCallback klien tidak akan dipanggil.

Jika rutinitas ClfsMgmtHandleLogFileFull mengembalikan STATUS_PENDING, maka manajemen CLFS sedang dalam proses mencoba membebaskan ruang dalam log, dan akan memanggil fungsi ClfsLogGrowthCompleteCallback klien ketika kondisi penuh file log telah ditangani. Jika log disematkan, manajemen CLFS akan memanggil fungsi ClfsLogGrowthCompleteCallback klien dengan parameter LogIsPinned diatur ke TRUE sebelum rutinitas ClfsMgmtHandleLogFileFull mengembalikan STATUS_PENDING.

Ada kemungkinan bahwa fungsi ClfsLogGrowthCompleteCallback klien dapat dipanggil sebelum panggilan ke ClfsMgmtHandleLogFileFull kembali.

Jika rutinitas ClfsMgmtHandleLogFileFull mengembalikan STATUS_PENDING, Anda tidak boleh memanggil rutinitas ClfsMgmtHandleLogFileFull lagi untuk klien ini sampai fungsi ClfsLogGrowthCompleteCallback klien telah dipanggil.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka Clfs.lib
DLL Clfs.sys
IRQL IRQL <= APC_LEVEL

Lihat juga

ClfsAdvanceTailCallback

ClfsLogGrowthCompleteCallback

ClfsMgmtRegisterManagedClient