Mengelola Kebijakan Switch

Ekstensi pemfilteran dan penerusan sakelar yang dapat diperluas Hyper-V dapat disediakan dengan properti properti sakelar kustom. Setelah disediakan, ekstensi ini memberlakukan kebijakan ketika mereka memfilter paket yang diperoleh pada jalur data ingress sakelar yang dapat diperluas. Untuk informasi selengkapnya tentang kebijakan ini, lihat Beralih Kebijakan.

Antarmuka sakelar yang dapat diperluas Hyper-V menggunakan pengidentifikasi objek (OID) berikut untuk menyediakan ekstensi pemfilteran dan penerusan dengan properti kebijakan pengalihan kustom:

OID_SWITCH_PROPERTY_ADD
Permintaan set OID ini dikeluarkan oleh tepi protokol sakelar yang dapat diperluas untuk memberi tahu ekstensi yang mendasar tentang penambahan properti di lapisan manajemen WMI. InformationBuffer dari struktur NDIS_OID_REQUEST berisi penunjuk ke struktur NDIS_SWITCH_PROPERTY_PARAMETERS.

Catatan Properti sakelar kustom ditentukan oleh nilai enumerasi NDIS_SWITCH_PROPERTY_TYPENdisSwitchPropertyTypeCustom.

OID_SWITCH_PROPERTY_UPDATE
Permintaan set OID ini dikeluarkan oleh tepi protokol sakelar yang dapat diperluas untuk memberi tahu ekstensi yang mendasar tentang pembaruan properti di lapisan manajemen WMI. InformationBuffer dari struktur NDIS_OID_REQUEST berisi penunjuk ke struktur NDIS_SWITCH_PROPERTY_PARAMETERS.

OID_SWITCH_PROPERTY_DELETE
Permintaan set OID ini dikeluarkan oleh tepi protokol sakelar yang dapat diperluas untuk memberi tahu ekstensi yang mendasar tentang penghapusan properti di lapisan manajemen WMI. InformationBuffer dari struktur NDIS_OID_REQUEST berisi penunjuk ke struktur NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS.

OID_SWITCH_PROPERTY_ENUM
Permintaan metode OID ini dikirim oleh ekstensi untuk mengkueri tepi miniport yang mendasar dari sakelar yang dapat diperluas tentang properti sakelar yang saat ini dikonfigurasi pada sakelar yang dapat diperluas. InformationBuffer dari struktur NDIS_OID_REQUEST berisi penunjuk ke buffer. Buffer ini berisi data berikut:

Catatan Ekstensi tidak boleh berasal dari permintaan set OID dari OID_SWITCH_PROPERTY_ADD. OID_SWITCH_PROPERTY_UPDATE, atau OID_SWITCH_PROPERTY_DELETE.

Ekstensi sakelar yang dapat diperluas harus mengikuti panduan ini saat menangani permintaan set OID OID_SWITCH_PROPERTY_ADD, OID_SWITCH_PROPERTY_UPDATE, atau OID_SWITCH_PROPERTY_DELETE:

  • Ekstensi tidak boleh mengubah struktur NDIS_SWITCH_PROPERTY_PARAMETERS atau NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS yang terkait dengan permintaan OID.

  • Ekstensi harus menangani permintaan set OID_SWITCH_PROPERTY_UPDATE atau OID_SWITCH_PROPERTY_DELETE jika ekstensi sebelumnya telah disediakan dengan properti switch yang cocok dengan anggota struktur NDIS_SWITCH_PROPERTY_PARAMETERS atau NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS berikut:

    • Anggota PropertyType yang menentukan jenis properti switch.

      Catatan Dimulai dengan NDIS 6.30, hanya properti switch NdisSwitchPropertyTypeCustom yang ditentukan oleh struktur NDIS_SWITCH_PROPERTY_PARAMETERS atau NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS .

    • Anggota PropertyId yang menentukan nilai GUID kepemilikan yang dikenali ekstensi. Nilai GUID ini dibuat oleh vendor perangkat lunak independen (ISV) yang juga mendefinisikan format properti kebijakan sakelar yang dapat diperluas kustom.

      Catatan Properti kebijakan sakelar yang dapat diperluas kustom terkandung dalam struktur NDIS_SWITCH_PROPERTY_CUSTOM .

  • Jika ekstensi menangani permintaan set OID ini, ekstensi harus memperbarui atau menghapus kebijakan pengalihan yang cocok dengan anggota struktur NDIS_SWITCH_PROPERTY_PARAMETERS berikut:

    • Anggota PropertyVersion yang menentukan versi kebijakan sakelar yang dapat diperluas.

    • Anggota PropertyInstanceId yang menentukan instans kebijakan sakelar yang dapat diperluas.

    Jika nilai anggota ini tidak cocok dengan properti kebijakan pengalihan yang ekstensinya telah disediakan sebelumnya, ekstensi harus gagal dalam permintaan set OID dengan NDIS_STATUS_INVALID_PARAMETER. Jika tidak, ekstensi harus menyelesaikan permintaan set OID dan mengembalikan NDIS_STATUS_SUCCESS.

  • Ekstensi pemfilteran atau penerusan dapat mem-veto penambahan, penghapusan, atau pembaruan kebijakan pengalihan. Ekstensi melakukan ini dengan menyelesaikan permintaan OID dengan STATUS_DATA_NOT_ACCEPTED.

    Catatan Menangkap ekstensi tidak boleh melakukan veto pada penambahan atau pembaruan kebijakan pengalihan. Sebaliknya, itu harus meneruskan permintaan OID ke jalur kontrol sakelar yang dapat diperluas.

  • Jika ekstensi penangkapan atau pemfilteran berhasil menangani permintaan set OID untuk kebijakan pengalihan kustom, ekstensi tersebut tidak boleh menyelesaikan permintaan OID dan harus meneruskannya ke jalur kontrol sakelar yang dapat diperluas.

    Jika ekstensi penerusan berhasil menangani permintaan set OID untuk kebijakan pengalihan kustom, ekstensi tersebut harus menyelesaikan permintaan OID dan mengembalikan nilai NDIS_STATUS_Xxx yang sesuai.

  • Jika ekstensi tidak menyelesaikan permintaan set OID, ekstensi harus memanggil NdisFOidRequest untuk meneruskan permintaan OID ke tumpukan driver sakelar yang dapat diperluas. Dalam hal ini, ekstensi harus memantau status penyelesaian OID untuk mendeteksi apakah ekstensi yang mendasar telah gagal dalam permintaan OID.