IRP_MJ_QUERY_EA(FS 및 필터 드라이버)
보낸 경우
I/O 관리자, 기타 운영 체제 구성 요소 및 기타 커널 모드 드라이버는 사용자 모드 애플리케이션이 파일의 확장 특성에 대한 정보를 요청하면 IRP_MJ_QUERY_EA 요청을 보냅니다.
작업: 파일 시스템 드라이버
파일 시스템에서 확장 특성을 지원하는 경우 파일 시스템 드라이버는 쿼리를 처리하고 IRP를 완료해야 합니다. 그렇지 않으면 STATUS_EAS_NOT_SUPPORTED 반환해야 합니다.
작업: 레거시 파일 시스템 필터 드라이버
필터 드라이버는 이 IRP를 스택의 다음 하위 드라이버로 전달해야 합니다.
매개 변수
파일 시스템 또는 필터 드라이버는 지정된 IRP에 대해 IoGetCurrentIrpStackLocation 을 호출하여 IRP의 자체 스택 위치에 대한 포인터를 가져옵니다. 다음 매개 변수에서 Irp 는 IRP 를 가리키고 IrpSp 는 IO_STACK_LOCATION 가리킵니다. 드라이버는 IRP 및 IRP 스택 위치의 다음 멤버에 설정된 정보를 사용하여 IRP_MJ_QUERY_EA 요청을 처리할 수 있습니다.
DeviceObject 는 대상 디바이스 개체에 대한 포인터입니다.
Irp->ASSOCIATedIrp.SystemBuffer 는 중간 시스템 버퍼로 사용할 시스템 제공 출력 버퍼를 가리킵니다. METHOD_BUFFERED I/O에 사용됩니다.
Irp->IoStatus는 최종 완료 상태 수신하는 IO_STATUS_BLOCK 구조와 요청된 작업에 대한 정보를 가리킵니다.
Irp->MdlAddress 는 확장 특성 정보를 수신하는 출력 버퍼를 설명하는 MDL(메모리 설명자 목록)의 주소입니다. METHOD_DIRECT I/O에 사용됩니다.
Irp->UserBuffer는 확장 특성 정보를 수신하는 호출자가 제공한 FILE_FULL_EA_INFORMATION 구조화된 출력 버퍼를 가리킵니다. METHOD_NEITHER I/O에 사용됩니다.
IrpSp->FileObject 는 DeviceObject와 연결된 파일 개체를 가리킵니다.
IrpSp-FileObject> 매개 변수에는 relatedFileObject 필드에 대한 포인터가 포함되어 있으며 이는 FILE_OBJECT 구조이기도 합니다. FILE_OBJECT 구조체의 RelatedFileObject 필드는 IRP_MJ_QUERY_EA 처리하는 동안 유효하지 않으므로 사용하면 안 됩니다.
IrpSp->플래그 는 다음 값 중 하나 이상이 될 수 있습니다.
플래그 | 의미 |
---|---|
SL_INDEX_SPECIFIED | IrpSp-Parameters.QueryEa.EaIndex>에서 인덱스를 제공하는 확장 특성 목록의 항목에서 검사를 시작합니다. |
SL_RESTART_SCAN | 목록의 첫 번째 항목에서 검사를 시작합니다. 이 플래그가 설정되지 않은 경우 이전 IRP_MJ_QUERY_EA 요청에서 검사를 다시 시작합니다. |
SL_RETURN_SINGLE_ENTRY | 발견된 첫 번째 항목만 반환합니다. |
IrpSp->MajorFunction 은 IRP_MJ_QUERY_EA 설정됩니다.
IrpSp->Parameters.QueryEa.EaIndex 는 확장 특성 목록 검사를 시작할 항목의 인덱스입니다. 이 매개 변수는 SL_INDEX_SPECIFIED 플래그가 설정되지 않았거나 IrpSp-Parameters.QueryEa.EaList>가 없음 목록을 가리키는 경우 무시됩니다.
IrpSp->Parameters.QueryEa.EaList 는 쿼리할 확장 특성을 지정하는 호출자 제공 FILE_GET_EA_INFORMATION 구조화된 입력 버퍼를 가리킵니다.
IrpSp->Parameters.QueryEa.EaListLength는 IrpSp-Parameters.QueryEa.EaList>가 가리키는 버퍼의 길이(바이트)입니다.
IrpSp->Parameters.QueryEa.Length 는 출력 버퍼의 길이(바이트)입니다.
설명
짧은 버퍼가 제공되고 STATUS_BUFFER_OVERFLOW 반환되면 NTFS는 맞는 마지막 전체 FILE_FULL_EA_INFORMATION 항목을 반환합니다. 짧은 버퍼가 제공되고 STATUS_BUFFER_TOO_SMALL 반환되면 NTFS가 FILE_FULL_EA_INFORMATION 항목에 맞지 않습니다.
Windows Vista 이상에서 FAT16은 더 이상 확장 특성을 지원하지 않습니다.
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기