IoCheckShareAccessEx 함수(wdm.h)

IoCheckShareAccessEx 루틴은 파일 시스템 드라이버(FSD) 또는 기타 최상위 드라이버에서 호출되어 파일 개체에 대한 공유 액세스가 허용되는지 여부를 확인합니다.

통사론

C++
NTSTATUS IoCheckShareAccessEx(
  [in]      ACCESS_MASK   DesiredAccess,
  [in]      ULONG         DesiredShareAccess,
  [in, out] PFILE_OBJECT  FileObject,
  [in, out] PSHARE_ACCESS ShareAccess,
  [in]      BOOLEAN       Update,
  [in]      PBOOLEAN      WritePermission
);

매개 변수

[in] DesiredAccess

지정된 파일 개체에 대한 원하는 액세스 형식을 나타내는 ACCESS_MASK 값을 지정합니다.

[in] DesiredShareAccess

현재 열린 요청에 대한 파일 개체에 대한 공유 액세스의 원하는 형식을 지정합니다. 이 매개 변수의 값은 일반적으로 파일 시스템에 전달되는 ShareAccess 매개 변수와 동일하거나 열려 있는 요청이 수행될 때 I/O 관리자가 최상위 드라이버로 전달합니다. 이 값은 0이거나 다음의 조합일 수 있습니다.

FILE_SHARE_READ

FILE_SHARE_WRITE

FILE_SHARE_DELETE

[in, out] FileObject

현재 열린 요청에 대한 액세스를 확인할 파일 개체에 대한 포인터입니다.

[in, out] ShareAccess

FileObject연결된 공통 공유 액세스 데이터 구조에 대한 포인터입니다. 드라이버는 이 구조를 불투명한 것으로 처리해야 합니다.

[in] Update

FileObject대한 공유 액세스 상태를 업데이트할지 여부를 지정합니다. TRUE 부울 값은 열려 있는 요청이 허용되는 경우 이 루틴이 파일 개체에 대한 공유 액세스 정보를 업데이트한다는 것을 의미합니다.

[in] WritePermission

공유 액세스에 쓰기 권한이 있는지 여부를 지정합니다. 공유에 쓰기 권한이 있는 경우 이 값은 TRUE입니다. 그렇지 않으면 FALSE입니다. 값이 FALSE이고 공유 액세스에 쓰기 권한이 있고 호출자가 단독 읽기 액세스를 시도하면 쓰기 권한이 FILE_SHARE_READ 다운그레이드됩니다. 공유 액세스에 대한 쓰기 권한 검사가 수행되지 않은 경우 이 값은 NULL입니다.

반환 값

IoCheckShareAccessEx 루틴은 요청자의 파일 개체 액세스가 현재 열려 있는 방식과 호환되는 경우 STATUS_SUCCESS 반환합니다. 공유 위반으로 인해 요청이 거부되면 STATUS_SHARING_VIOLATION 반환됩니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 7 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 보편적
헤더 wdm.h
라이브러리 Ntoskrnl.lib

참고 항목

I/O 관리자 루틴