다음을 통해 공유


IoUpdateShareAccess 함수(wdm.h)

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

구문

void IoUpdateShareAccess(
  [in]      PFILE_OBJECT  FileObject,
  [in, out] PSHARE_ACCESS ShareAccess
);

매개 변수

[in] FileObject

공유 액세스를 업데이트할 파일 또는 연결된 디바이스 개체를 나타내는 참조된 파일 개체에 대한 포인터입니다.

[in, out] ShareAccess

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

반환 값

없음

설명

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

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

추가 정보

IoCheckShareAccess

IoRemoveShareAccess

IoSetShareAccess