FltParseFileName 함수(fltkernel.h)
FltParseFileName은 파일 이름 문자열에서 확장명, 스트림 및 최종 구성 요소를 구문 분석합니다.
구문
NTSTATUS FLTAPI FltParseFileName(
[in] PCUNICODE_STRING FileName,
[in, out] PUNICODE_STRING Extension,
[in, out] PUNICODE_STRING Stream,
[in, out] PUNICODE_STRING FinalComponent
);
매개 변수
[in] FileName
파일 이름으로 구문 분석할 문자열을 포함하는 UNICODE_STRING 구조체에 대한 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
[in, out] Extension
FileName 문자열에서 구문 분석된 확장을 수신하는 UNICODE_STRING 구조체에 대한 포인터입니다. 확장이 없으면 FltParseFileName 은 Extension.Buffer 를 NULL 로, Extension.Length 를 0으로 설정합니다. 그렇지 않으면 Extension.Buffer 는 FileName.Buffer에서 확장의 시작 부분에 대한 포인터를 수신하고 Extension.Length 는 확장의 길이를 바이트 단위로 받습니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
[in, out] Stream
FileName 문자열에서 구문 분석된 스트림 이름을 수신하는 UNICODE_STRING 구조체에 대한 포인터입니다. 스트림 이름을 찾을 수 없으면 FltParseFileName은 Stream 설정합니다. 버퍼를 NULL로, Stream. 길이를 0으로 설정합니다. 그렇지 않으면 Stream. 버퍼는 FileName.Buffer에서 스트림 이름의 시작 부분에 대한 포인터를 수신하고 Stream. Length는 스트림 이름의 길이(바이트)를 받습니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
[in, out] FinalComponent
FileName 문자열에서 구문 분석된 최종 이름 구성 요소를 수신하는 UNICODE_STRING 구조체에 대한 포인터입니다. 최종 구성 요소가 없으면 FltParseFileName 은 FinalComponent.Buffer 를 NULL 로 설정하고 FinalComponent.Length 를 0으로 설정합니다. 그렇지 않으면 FinalComponent.Buffer 는 FileName.Buffer에서 최종 구성 요소의 시작 부분에 대한 포인터를 수신하고 FinalComponent.Length 는 최종 구성 요소의 길이를 바이트 단위로 받습니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
반환 값
FltParseFileName 은 STATUS_SUCCESS 또는 적절한 NTSTATUS 오류 코드를 반환합니다.
설명
FltParseFileName은 파일 이름 문자열에서 확장명, 스트림 이름 및 최종 구성 요소를 구문 분석합니다. 파일 이름을 정규화하거나 전체 경로 이름을 지정할 필요는 없습니다. 파일 이름이 짧은 파일 이름인 경우 FltParseFileName 은 확장명만 구문 분석합니다.
다음은 로컬 파일의 정규화된 이름의 예입니다.
\Device\HarddiskVolume1\Documents and Settings\MyUser\My Documents\Test Results.txt:stream1
FltParseFileName은 다음과 같이 정규화된 이름을 구문 분석합니다.
확장: "txt"
Stream: ":stream1"
FinalComponent: "test Results.txt:stream1"
다음은 파일에 대한 짧은 이름의 예입니다.
TestRe~1.txt
FltParseFileName은 다음과 같이 이 짧은 이름을 구문 분석합니다.
확장: "txt"
Stream: NULL
FinalComponent: "TestRe~1.txt"
파일 이름 정규화 및 파일 이름 구문 분석에 대한 자세한 내용은 FLT_FILE_NAME_INFORMATION.
FLT_FILE_NAME_INFORMATION 구조체의 내용을 구문 분석하려면 FltParseFileNameInformation을 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP SP2(서비스 팩 2) 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |