IoUpdateLinkShareAccess 함수(wdm.h)

IoUpdateLinkShareAccess 루틴은 일반적으로 파일을 열 때 지정된 파일 개체에 대한 공유 액세스를 업데이트합니다.

구문

void IoUpdateLinkShareAccess(
  [in]                PFILE_OBJECT       FileObject,
  [in, out]           PSHARE_ACCESS      ShareAccess,
  [in, out, optional] PLINK_SHARE_ACCESS LinkShareAccess
);

매개 변수

[in] FileObject

일반적으로 현재 스레드에서 닫히는 파일 개체에 대한 포인터입니다.

[in, out] ShareAccess

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

[in, out, optional] LinkShareAccess

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

반환 값

없음

설명

IoUpdateLinkShareAccess 는 원자성 작업이 아닙니다. 따라서 이 루틴을 호출하는 드라이버는 공유 액세스 수의 손상을 방지하기 위해 뮤텍스 또는 리소스 잠금과 같은 일종의 잠금을 통해 IoUpdateLinkShareAccess 에 전달된 공유 파일 개체를 보호해야 합니다.

IoUpdateLinkShareAccess를 호출하기 전에 호출자는 업데이트가 False로 설정된 IoCheckLinkShareAccess를 성공적으로 호출해야 합니다. IoCheckLinkShareAccess에 대한 이러한 호출은 요청된 공유 액세스가 파일 개체가 현재 열려 있는 파일 개체에 액세스하는 방식과 호환되는지 여부를 결정하지만 SHARE_ACCESS 구조를 업데이트하지는 않습니다. IoUpdateLinkShareAccess 는 실제로 파일 개체와 연결된 SHARE_ACCESS 구조를 업데이트합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1709
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 유니버설
헤더 wdm.h
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

추가 정보

IoCheckLinkShareAccess

IoRemoveLinkShareAccess

IoSetLinkShareAccess