ClfsMgmtHandleLogFileFull 함수(wdm.h)
ClfsMgmtHandleLogFileFull 루틴은 로그에서 더 많은 공간을 사용할 수 있도록 하려고 시도합니다. 로그에 컨테이너를 추가하여 더 많은 공간을 사용할 수 있도록 하거나 클라이언트에 로그 꼬리를 이동하도록 요청할 수 있습니다.
구문
CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
[in] CLFS_MGMT_CLIENT Client
);
매개 변수
[in] Client
로그에서 공간을 사용할 수 있도록 CLFS 관리를 요청하는 클라이언트입니다. 이 매개 변수의 값은 ClfsMgmtRegisterManagedClient 루틴에 대한 호출을 통해 가져온 CLFS_MGMT_CLIENT 구조체여야 합니다.
반환 값
ClfsMgmtHandleLogFileFull 루틴은 다음 NTSTATUS 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_INVALID_PARAMETER | 클라이언트가 로그를 관리하지 않습니다. |
STATUS_INVALID_PARAMETER_1 | Client 매개 변수에 대해 제공된 값은 NULL이거나 유효한 클라이언트를 나타내지 않습니다. |
STATUS_LOG_FULL_HANDLER_IN_PROGRESS | CLFS 관리는 이미 이 클라이언트에 대한 로그 파일 전체 조건을 resolve 하려고 합니다. |
STATUS_UNSUCCESSFUL | CLFS 관리에서 요청을 처리할 수 없습니다. |
STATUS_PENDING | CLFS 관리는 로그에 공간을 만들기 위한 요청을 처리하고 있습니다. |
STATUS_SUCCESS | 요청된 공간의 양은 로그에서 사용할 수 있습니다. |
설명
로그에서 더 많은 공간을 사용할 수 있도록 하기 위해 ClfsMgmtHandleLogFileFull 루틴은 먼저 증가율, 새 컨테이너 크기 및 최대 크기 정책에 따라 로그에 더 많은 컨테이너를 추가하려고 시도합니다. 더 많은 컨테이너를 추가할 수 없는 경우 ClfsMgmtHandleLogFileFull 루틴은 하나 이상의 클라이언트 ClfsAdvanceTailCallback 함수를 호출하여 기존 공간을 확보하려고 합니다.
ClfsMgmtHandleLogFileFull 루틴이 STATUS_PENDING 반환하는 경우 로그의 공간을 만들기 위한 요청이 완료되면 클라이언트의 ClfsLogGrowthCompleteCallback 함수가 호출됩니다.
ClfsMgmtHandleLogFileFull 루틴이 STATUS_LOG_FULL_HANDLER_IN_PROGRESS 반환하는 경우 클라이언트는 이미 로그 파일 전체 조건을 처리하기 위해 CLFS 관리를 요청했습니다. 클라이언트의 ClfsLogGrowthCompleteCallback 함수는 두 번째로 호출되지 않습니다.
ClfsMgmtHandleLogFileFull 루틴이 STATUS_SUCCESS 반환하면 호출이 동기적으로 완료되고 클라이언트의 ClfsLogGrowthCompleteCallback 함수가 호출되지 않습니다.
ClfsMgmtHandleLogFileFull 루틴이 STATUS_PENDING 반환하는 경우 CLFS 관리는 로그의 공간을 확보하려고 하는 중이며 로그 파일 전체 조건이 처리될 때 클라이언트의 ClfsLogGrowthCompleteCallback 함수를 호출합니다. 로그가 고정되면 CLFS 관리는 ClfsMgmtHandleLogFileFull 루틴이 STATUS_PENDING 반환하기 전에 LogIsPinned 매개 변수를 TRUE로 설정하여 클라이언트의 ClfsLogGrowthCompleteCallback 함수를 호출합니다.
ClfsMgmtHandleLogFileFull 호출이 반환되기 전에 클라이언트의 ClfsLogGrowthCompleteCallback 함수를 호출할 수 있습니다.
ClfsMgmtHandleLogFileFull 루틴이 STATUS_PENDING 반환하는 경우 클라이언트의 ClfsLogGrowthCompleteCallback 함수가 호출될 때까지 이 클라이언트에 대해 ClfsMgmtHandleLogFileFull 루틴을 다시 호출하면 안 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | Clfs.lib |
DLL | Clfs.sys |
IRQL | IRQL <= APC_LEVEL |