IRP_MJ_QUERY_SECURITY(FS 및 필터 드라이버)

보낸 경우

I/O 관리자는 IRP_MJ_QUERY_SECURITY 요청을 보냅니다. 예를 들어 사용자 모드 애플리케이션이 GetSecurityInfo와 같은 Win32 함수를 호출한 경우 전송할 수 있습니다.

작업: 파일 시스템 드라이버

파일 시스템 드라이버는 파일 개체가 열려 있는 사용자 파일 또는 디렉터리를 나타내는지 여부를 확인하기 위해 파일 개체를 추출하고 디코딩해야 합니다. 이 경우 드라이버는 쿼리를 처리하고 IRP를 완료해야 합니다. 그렇지 않으면 드라이버는 쿼리를 처리하지 않고 IRP를 적절하게 완료해야 합니다.

작업: 레거시 파일 시스템 필터 드라이버

필터 드라이버는 이 IRP를 스택의 다음 하위 드라이버로 전달해야 합니다.

매개 변수

파일 시스템 또는 필터 드라이버는 지정된 IRP에 대해 IoGetCurrentIrpStackLocation 을 호출하여 IRP의 자체 스택 위치에 대한 포인터를 가져옵니다. 다음 매개 변수에서 IrpIRP 를 가리키고 IrpSpIO_STACK_LOCATION 가리킵니다. 드라이버는 IRP 및 IRP 스택 위치의 다음 멤버에 설정된 정보를 사용하여 쿼리 보안 요청을 처리할 수 있습니다.

  • DeviceObject 는 대상 디바이스 개체에 대한 포인터입니다.

  • Irp->IoStatus는 최종 완료 상태 수신하는 IO_STATUS_BLOCK 구조와 요청된 작업에 대한 정보를 가리킵니다.

  • Irp->UserBuffer 는 지정된 개체의 보안 설명자 복사본을 수신하는 호출자 제공 출력 버퍼를 가리킵니다. 호출 프로세스에는 개체의 보안 상태 지정된 측면을 볼 수 있는 권한이 있어야 합니다. SECURITY_DESCRIPTOR 구조체는 자체 상대 형식으로 반환됩니다.

  • IrpSp->FileObjectDeviceObject와 연결된 파일 개체를 가리킵니다.

    Windows XP 이상에서는 파일 개체가 명명된 데이터 스트림을 나타낼 수 있습니다. 명명된 데이터 스트림에 대한 자세한 내용은 FILE_STREAM_INFORMATION 참조 하세요.

    IrpSp-FileObject> 매개 변수에는 relatedFileObject 필드에 대한 포인터가 포함되어 있으며 이는 FILE_OBJECT 구조이기도 합니다. FILE_OBJECT 구조체의 RelatedFileObject 필드는 IRP_MJ_QUERY_SECURITY 처리하는 동안 유효하지 않으므로 사용하면 안 됩니다.

  • IrpSp->MajorFunction 은 IRP_MJ_QUERY_SECURITY 설정됩니다.

  • IrpSp->Parameters.QuerySecurity.Length 는 Irp-UserBuffer 매개 변수가 가리키는 버퍼의 크기(바이트 )>입니다 .

  • IrpSp->Parameters.QuerySecurity.SecurityInformation 은 작업에 대한 SECURITY_INFORMATION 구조를 가리킵니다. 이 값은 다음 비트의 유효한 조합일 수 있습니다.

    SecurityInformation 값 의미
    OWNER_SECURITY_INFORMATION 개체의 소유자 식별자가 쿼리 중임을 나타냅니다. READ_CONTROL 액세스가 필요합니다.
    GROUP_SECURITY_INFORMATION 개체의 기본 그룹 식별자를 쿼리 중임을 나타냅니다. READ_CONTROL 액세스가 필요합니다.
    DACL_SECURITY_INFORMATION 개체의 DACL(임의 액세스 제어 목록)이 쿼리되고 있음을 나타냅니다. READ_CONTROL 액세스가 필요합니다.
    SACL_SECURITY_INFORMATION 개체의 시스템 ACL(SACL)이 쿼리되고 있음을 나타냅니다. ACCESS_SYSTEM_SECURITY 액세스가 필요합니다.

추가 정보

FILE_STREAM_INFORMATION

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_SET_SECURITY

SECURITY_DESCRIPTOR

SECURITY_INFORMATION