다음을 통해 공유


FilterAttachAtAltitude 함수(fltuser.h)

FilterAttachAtAltitude 함수는 지정된 고도의 볼륨에 새 미니 필터 instance 연결하여 미니필터의 INF(설정 정보) 파일의 모든 설정을 재정의하는 디버깅 지원 함수입니다.

구문

HRESULT FilterAttachAtAltitude(
  [in]            LPCWSTR lpFilterName,
  [in]            LPCWSTR lpVolumeName,
  [in]            LPCWSTR lpAltitude,
  [in, optional]  LPCWSTR lpInstanceName,
  [in, optional]  DWORD   dwCreatedInstanceNameLength,
  [out, optional] LPWSTR  lpCreatedInstanceName
);

매개 변수

[in] lpFilterName

instance 만들 미니필터의 이름을 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in] lpVolumeName

새로 만든 instance 연결할 볼륨의 이름을 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다.

lpVolumeName 입력 문자열은 다음 중 한 개일 수 있습니다. 후행 백슬래시(\)는 선택 사항입니다.

  • 드라이브 문자(예: "D:\"
  • 볼륨 탑재 지점의 경로(예: "c:\mnt\edrive\"
  • 고유한 볼륨 식별자( 볼륨 GUID 이름이라고도 함)(예: "\?? \Volume{7603f260-142a-11d4-ac67-806d6172696f}\"
  • "\Device\HarddiskVolume1\"과 같은 존재하지 않는 디바이스 이름(대상 이름 또는 NT 디바이스 이름이라고도 함)입니다.
이 매개 변수는 필수이며 NULL일 수 없습니다.

[in] lpAltitude

미니필터 instance 볼륨의 스택에서 차지해야 하는 대상 위치를 지정하는 숫자 값이 포함된 null로 끝나는 와이드 문자열에 대한 포인터입니다. 숫자가 높을수록 스택의 상대 위치가 높아질 수 있습니다. 고도 문자열은 0에서 9까지의 범위에서 하나 이상의 숫자로 구성되며 단일 소수점을 포함할 수 있습니다. 소수점은 선택 사항입니다. 예를 들어 "100.123456"은 유효한 고도 문자열입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in, optional] lpInstanceName

새 instance 대한 instance 이름을 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. 이 매개 변수가 NULL이면 새 instance FltAttachVolume에 대한 설명 섹션에 설명된 대로 미니필터의 기본 instance 이름을 받습니다.

[in, optional] dwCreatedInstanceNameLength

lpCreatedInstanceName 이 가리키는 버퍼의 길이(바이트)입니다. 이 매개 변수는 선택 사항이며 0일 수 있습니다.

[out, optional] lpCreatedInstanceName

instance 볼륨에 성공적으로 연결된 경우 새 instance 대한 instance 이름을 수신하는 호출자가 할당한 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. NULL이 아닌 경우 버퍼는 INSTANCE_NAME_MAX_CHARS 문자와 NULL 종결자를 포함할 수 있을 만큼 커야 합니다.

반환 값

FilterAttachAtAltitude 는 성공하면 S_OK 반환합니다. 그렇지 않으면 다음 중 하나와 같은 오류 값을 반환합니다.

반환 코드 설명
ERROR_FLT_INSTANCE_ALTITUDE_COLLISION
지정된 볼륨의 이 고도에 이미 instance 있습니다.
ERROR_FLT_INSTANCE_NAME_COLLISION
지정된 볼륨에 이 이름을 가진 instance 이미 있습니다.

설명

애플리케이션은 디버깅에 FilterAttachAtAltitude 만 사용해야 합니다. 애플리케이션의 소매 버전에서는 이 함수를 호출해서는 안 됩니다.

FilterAttachAtAltitudeFltAttachVolumeAtAltitude에 해당하는 Win32입니다.

"고도"라는 용어는 볼륨의 미니필터 instance 스택에서 instance 차지하거나 차지해야 하는 위치를 나타냅니다. 고도가 높을수록 스택의 기본 파일 시스템에서 instance 멀리 떨어져 있습니다. 지정된 볼륨의 지정된 고도에서 하나의 instance 연결할 수 있습니다.

고도는 0에서 9까지의 범위에서 하나 이상의 10진수를 포함하는 와이드 문자 배열인 고도 문자열에 의해 지정되며 단일 소수점을 포함할 수 있습니다. 소수점은 선택 사항입니다. 예를 들어 "100.123456" 및 "03333"은 유효한 고도 문자열입니다.

문자열 "03333"은 "100.123456"보다 높은 고도를 나타냅니다. 선행 및 후행 0은 무시됩니다. 즉, 고도가 "03333"인 instance 고도가 "100.123456"인 instance 기본 파일 시스템에서 더 멀리 떨어져 있습니다. 그러나 이 비교는 두 인스턴스가 동일한 볼륨에 연결된 경우에만 의미가 있습니다.

lpCreatedInstanceName에 반환된 instance 이름은 시스템 전체에서 고유합니다.

볼륨에서 미니 필터 instance 분리하려면 FilterDetach를 호출합니다.

요구 사항

   
대상 플랫폼 유니버설
헤더 fltuser.h(Fltuser.h 포함)
라이브러리 FltLib.lib
DLL FltLib.dll

추가 정보

FilterAttach

FilterDetach

FltAttachVolumeAtAltitude