Fungsi FilterAttachAtAltitude (fltuser.h)

Fungsi FilterAttachAtAltitude adalah fungsi dukungan penelusuran kesalahan yang melampirkan instans minifilter baru ke volume pada ketinggian tertentu, menggantikan pengaturan apa pun dalam file informasi penyiapan minifilter (INF).

Sintaks

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

Parameter

[in] lpFilterName

Penunjuk ke string karakter lebar yang dihentikan null yang berisi nama minifilter yang instansnya akan dibuat. Parameter ini diperlukan dan tidak boleh NULL.

[in] lpVolumeName

Penunjuk ke string karakter lebar yang dihentikan null yang berisi nama volume tempat instans yang baru dibuat akan dilampirkan.

String input lpVolumeName dapat berupa salah satu dari berikut ini. Garis miring terbelakang berikutnya (\) bersifat opsional.

  • Huruf kandar, seperti "D:\"
  • Jalur ke titik pemasangan volume, seperti "c:\mnt\edrive\"
  • Pengidentifikasi volume unik (juga disebut nama GUID volume), seperti "\?? \Volume{7603f260-142a-11d4-ac67-806d6172696f}\"
  • Nama perangkat yang tidak konsisten (juga disebut nama target atau nama perangkat NT), seperti "\Device\HarddiskVolume1\"
Parameter ini diperlukan dan tidak boleh NULL.

[in] lpAltitude

Penunjuk ke string karakter lebar yang dihentikan null yang berisi nilai numerik yang menentukan posisi target yang harus diduduki instans minifilter dalam tumpukan untuk volume. Semakin tinggi angka, semakin tinggi posisi relatif dalam tumpukan. String ketinggian terdiri dari satu atau beberapa digit dalam rentang dari 0 hingga 9, dan dapat menyertakan satu titik desimal. Titik desimal bersifat opsional. Misalnya, "100.123456" adalah string ketinggian yang valid. Parameter ini diperlukan dan tidak boleh NULL.

[in, optional] lpInstanceName

Penunjuk ke string karakter lebar yang dihentikan null yang berisi nama instans untuk instans baru. Parameter ini bersifat opsional dan dapat berupa NULL. Jika parameter ini NULL, instans baru menerima nama instans default minifilter seperti yang dijelaskan di bagian Keterangan untuk FltAttachVolume.

[in, optional] dwCreatedInstanceNameLength

Panjang, dalam byte, dari buffer yang ditunjukkan lpCreatedInstanceName . Parameter ini bersifat opsional dan bisa nol.

[out, optional] lpCreatedInstanceName

Penunjuk ke variabel yang dialokasikan pemanggil yang menerima nama instans untuk instans baru jika instans berhasil dilampirkan ke volume. Parameter ini bersifat opsional dan dapat berupa NULL. Jika bukan NULL, buffer harus cukup besar untuk menahan karakter INSTANCE_NAME_MAX_CHARS ditambah terminator NULL.

Menampilkan nilai

FilterAttachAtAltitude mengembalikan S_OK jika berhasil. Jika tidak, ia mengembalikan nilai kesalahan seperti salah satu hal berikut ini.

Menampilkan kode Deskripsi
ERROR_FLT_INSTANCE_ALTITUDE_COLLISION
Instans sudah ada pada ketinggian ini pada volume yang ditentukan.
ERROR_FLT_INSTANCE_NAME_COLLISION
Instans sudah ada dengan nama ini pada volume yang ditentukan.

Keterangan

Aplikasi hanya boleh menggunakan FilterAttachAtAltitude untuk penelusuran kesalahan. Ini tidak boleh memanggil fungsi ini dalam versi ritel aplikasi.

FilterAttachAtAltitude setara dengan Win32 dari FltAttachVolumeAtAltitude.

Istilah "ketinggian" mengacu pada posisi yang diduduki instans (atau harus menempati) di tumpukan instans minifilter untuk volume. Semakin tinggi ketinggian, semakin jauh instans berasal dari sistem file dasar di tumpukan. Hanya satu instans yang dapat dilampirkan pada ketinggian tertentu pada volume tertentu.

Ketinggian ditentukan oleh string ketinggian, yang merupakan array karakter lebar yang berisi satu atau beberapa digit desimal dalam rentang dari 0 hingga 9, dan dapat menyertakan satu titik desimal. Titik desimal bersifat opsional. Misalnya, "100.123456" dan "03333" adalah string ketinggian yang valid.

String "03333" mewakili ketinggian yang lebih tinggi daripada "100.123456". (Nol di depan dan di belakang diabaikan.) Dengan kata lain, instans yang ketinggiannya adalah "03333" lebih jauh dari sistem file dasar daripada instans yang ketinggiannya adalah "100.123456". Namun, perbandingan ini hanya bermakna jika kedua instans dilampirkan ke volume yang sama.

Nama instans yang dikembalikan dalam lpCreatedInstanceName unik di seluruh sistem.

Untuk melepaskan instans minifilter dari volume, panggil FilterDetach.

Persyaratan

   
Target Platform Universal
Header fltuser.h (termasuk Fltuser.h)
Pustaka FltLib.lib
DLL FltLib.dll

Lihat juga

FilterAttach

FilterDetach

FltAttachVolumeAtAltitude