다음을 통해 공유


CreateLogFile 함수(clfsw32.h)

로그를 만들거나 엽니다. 로그는 전용 또는 멀티플렉싱할 수 있으며 로그 이름에 따라 달라집니다. CloseHandle 함수를 사용하여 로그를 닫습니다.

통사론

CLFSUSER_API HANDLE CreateLogFile(
  [in]           LPCWSTR               pszLogFileName,
  [in]           ACCESS_MASK           fDesiredAccess,
  [in]           DWORD                 dwShareMode,
  [in, optional] LPSECURITY_ATTRIBUTES psaLogFile,
  [in]           ULONG                 fCreateDisposition,
  [in]           ULONG                 fFlagsAndAttributes
);

매개 변수

[in] pszLogFileName

로그의 이름입니다.

이 이름은 CreateLogFile사용하여 로그를 만들 때 지정됩니다. 다음 예제에서는 사용할 형식을 식별합니다.

로그: logName[::LogStreamName]

예: "LOG:c:\MyDirectory\MyLog" 경로는 "c:\MyDirectory\MyLog.blf" 파일을 만듭니다. 경로 "?? \LOG:\HarddiskVolume1\MyDirectory\MyLog"는 "\clfs\Device\HarddiskVolume1\MyDirectory\MyLog" 경로와 마찬가지로 "\.\HarddiskVolume1\MyDirectory\MyLog"파일을 만듭니다.

LogName 파일 시스템의 유효한 파일 경로에 해당하며 logStreamName 로그에 있는 로그 스트림의 고유한 이름입니다. 자세한 내용은 로그 형식참조하세요.

[in] fDesiredAccess

반환된 핸들이 로그 개체에 대해 가지고 있는 액세스 유형입니다.

의미
GENERIC_READ
개체에 대한 읽기 권한을 지정합니다.
GENERIC_WRITE
개체에 대한 쓰기 액세스를 지정합니다.
DELETE
로그 삭제 액세스 지정
 

이러한 플래그 중 두 개 이상의 비트 OR 개체에 대한 읽기, 쓰기 및 삭제 액세스를 조합할 수 있습니다.

참고 로그를 삭제하려면 DELETE 액세스를 지정해야 합니다.

 
Windows Server 2003 R2: 이 매개 변수는 GENERIC_WRITE설정해야 합니다.

[in] dwShareMode

파일의 공유 모드입니다.

클라이언트는 열린 핸들이 있는 이전의 열린 요청에 지정된 모드와 충돌하는 공유 모드를 요청할 수 없습니다.

이 매개 변수가 0이고 함수가 성공하면 개체를 공유할 수 없으며 핸들을 닫을 때까지 다시 열 수 없습니다.

이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

의미
FILE_SHARE_DELETE
개체에서 열기 작업을 사용하여 삭제 액세스를 요청할 수 있습니다. 이 값이 없으면 삭제 액세스가 요청된 경우 다른 프로세스에서 개체를 열 수 없습니다.
FILE_SHARE_READ
개체에 대한 열기 작업을 사용하여 읽기 액세스를 요청할 수 있습니다. 이 값이 없으면 읽기 액세스가 요청된 경우 다른 프로세스에서 개체를 열 수 없습니다.
FILE_SHARE_WRITE
개체에 대한 열기 작업을 사용하여 쓰기 액세스를 요청할 수 있습니다. 이 값이 없으면 쓰기 액세스가 요청된 경우 다른 프로세스에서 개체를 열 수 없습니다.

[in, optional] psaLogFile

로그의 보안 특성을 지정하는 SECURITY_ATTRIBUTES 구조체에 대한 포인터입니다.

반환된 핸들을 자식 프로세스에서 상속할 수 있는지 여부를 결정합니다. 이 매개 변수가 NULL경우 핸들을 상속할 수 없습니다.

SECURITY_ATTRIBUTESlpSecurityDescriptor 멤버는 새 로그 핸들에 대한 보안 설명자 지정합니다. psaLogFile NULL경우 개체는 기본 보안 설명자를 가져옵니다. 로그에 대한 기본 보안 설명자의 ACL(액세스 제어 목록)은 작성자의 기본 또는 가장 토큰에서 가져옵니다.

[in] fCreateDisposition

수행할 작업입니다.

이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
CREATE_NEW
새 파일을 만들고 파일이 이미 있는 경우 실패합니다.
OPEN_EXISTING
기존 파일을 열고 파일이 없으면 실패합니다.
OPEN_ALWAYS
기존 파일을 열거나 파일이 없는 경우 파일을 만듭니다.

[in] fFlagsAndAttributes

파일에 대한 파일 특성 및 플래그입니다.

이 매개 변수는 다음 값을 사용할 수 있습니다.

의미
FILE_ATTRIBUTE_ARCHIVE
이 임시 로그가 아닌 로그는 보관해야 합니다.

이 플래그를 제공하지 않으면 로그를 보관할 필요가 없으며 로그 컨테이너를 재활용하기 위해 보관 꼬리가 유지되지 않습니다.

FILE_FLAG_OVERLAPPED
FILE_FLAG_OVERLAPPED 플래그가 설정되면 다른 모든 플래그 값은 무시됩니다.

FILE_FLAG_OVERLAPPED 지정하면 겹치는 I/O에 대해 파일이 열리고 로그 핸들에서 둘 이상의 I/O 작업을 수행할 수 있습니다. 로그를 만들 때 이 플래그가 설정된 경우 해당 로그에 대한 모든 비동기 I/O 호출은 겹치는 구조를 지정하고 지연된 호출 완료와 동기화해야 합니다.

반환 값

함수가 성공하면 반환 값은 로그에 대한 핸들입니다.

함수가 실패하면 반환 값이 INVALID_HANDLE_VALUE. 확장 오류 정보를 얻으려면 GetLastError호출합니다.

다음 목록에서는 가능한 오류 코드를 식별합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 clfsw32.h
라이브러리 Clfsw32.lib
DLL Clfsw32.dll

참고 항목

ACCESS_MASK

AddLogContainer

AddLogContainerSet

CLFS_CONTAINER_INFORMATION

일반적인 로그 파일 시스템 함수

CreateLogMarshallingArea

SECURITY_ATTRIBUTES