struktur NDIS_PM_WOL_PATTERN (ntddndis.h)

Struktur NDIS_PM_WOL_PATTERN mendefinisikan pola wake-on-LAN (WOL).

Sintaks

typedef struct _NDIS_PM_WOL_PATTERN {
  NDIS_OBJECT_HEADER     Header;
  ULONG                  Flags;
  ULONG                  Priority;
  NDIS_PM_WOL_PACKET     WoLPacketType;
  NDIS_PM_COUNTED_STRING FriendlyName;
  ULONG                  PatternId;
  ULONG                  NextWoLPatternOffset;
  union {
    struct {
      ULONG  Flags;
      UCHAR  IPv4SourceAddress[4];
      UCHAR  IPv4DestAddress[4];
      USHORT TCPSourcePortNumber;
      USHORT TCPDestPortNumber;
    } IPv4TcpSynParameters;
    struct {
      ULONG  Flags;
      UCHAR  IPv6SourceAddress[16];
      UCHAR  IPv6DestAddress[16];
      USHORT TCPSourcePortNumber;
      USHORT TCPDestPortNumber;
    } IPv6TcpSynParameters;
    struct {
      ULONG Flags;
    } EapolRequestIdMessageParameters;
    struct {
      ULONG Flags;
      ULONG MaskOffset;
      ULONG MaskSize;
      ULONG PatternOffset;
      ULONG PatternSize;
    } WoLBitMapPattern;
  } WoLPattern;
  _WOL_PATTERN           _WOL_PATTERN;
} NDIS_PM_WOL_PATTERN, *PNDIS_PM_WOL_PATTERN;

Anggota

Header

Jenis, revisi, dan ukuran struktur NDIS_PM_WOL_PATTERN . Anggota ini diformat sebagai struktur NDIS_OBJECT_HEADER .

Driver miniport harus mengatur anggota JenisHeader ke NDIS_OBJECT_TYPE_DEFAULT. Untuk menentukan versi struktur NDIS_PM_WOL_PATTERN , driver harus mengatur anggota RevisiHeader ke nilai berikut:

NDIS_PM_WOL_PATTERN_REVISION_2

Revisi yang dilakukan pada enumerasi NDIS_PM_WOL_PACKET untuk NDIS 6.30.

Atur anggota Ukuran ke NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2.

NDIS_PM_WOL_PATTERN_REVISION_1

Versi asli untuk NDIS 6.20.

Atur anggota Ukuran ke NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1.

Flags

Nilai ULONG yang berisi bitwise OR dari bendera. Anggota ini dicadangkan untuk NDIS.

Priority

Nilai ULONG yang berisi prioritas pola WOL. Jika driver yang terlalu berlebihan menambahkan pola WOL prioritas yang lebih tinggi ketika tidak ada sumber daya yang tersedia untuk lebih banyak pola WOL, NDIS mungkin menghapus pola WOL prioritas yang lebih rendah ke sumber daya bebas. Driver miniport harus mengabaikan anggota ini. Driver protokol dapat menentukan prioritas apa pun yang berada dalam rentang yang telah ditentukan sebelumnya. Nilai berikut telah ditentukan sebelumnya:

NDIS_PM_WOL_PRIORITY_LOWEST

Menentukan pola WOL prioritas terendah.

NDIS_PM_WOL_PRIORITY_NORMAL

Menentukan pola WOL prioritas normal.

NDIS_PM_WOL_PRIORITY_HIGHEST

Menentukan pola WOL prioritas tertinggi.

WoLPacketType

Nilai enumerasi NDIS_PM_WOL_PACKET yang menentukan jenis paket WOL.

FriendlyName

Struktur NDIS_PM_COUNTED_STRING yang berisi deskripsi paket WOL yang dapat dibaca pengguna.

PatternId

Nilai ULONG yang berisi nilai yang disediakan NDIS yang mengidentifikasi pola WOL. Sebelum NDIS mengirimkan permintaan OID OID_PM_ADD_WOL_PATTERN ke driver NDIS yang mendasar atau menyelesaikan permintaan ke driver yang terlalu berlebihan, NDIS menetapkan PatternId ke nilai yang unik di antara pola WOL pada adaptor jaringan.

NextWoLPatternOffset

Nilai ULONG yang berisi offset, dalam byte. Anggota NextWoLPatternOffset dari setiap struktur NDIS_PM_WOL_PATTERN dalam daftar diatur ke offset (dari awal permintaan OID InformationBuffer) dari struktur NDIS_PM_WOL_PATTERN berikutnya dalam daftar. Jika NextWoLPatternOffset adalah nol, struktur saat ini adalah struktur terakhir dalam daftar.

WoLPattern

Serikat yang berisi struktur anggota berikut.

WoLPattern.IPv4TcpSynParameters

Struktur yang berisi informasi IPv4 TCP SYN. Struktur ini berisi anggota berikut:

WoLPattern.IPv4TcpSynParameters.Flags

Nilai ULONG yang berisi bitwise OR dari bendera. Anggota ini dicadangkan untuk NDIS.

WoLPattern.IPv4TcpSynParameters.IPv4SourceAddress[4]

Alamat sumber IPv4 dalam paket TCP SYN.

WoLPattern.IPv4TcpSynParameters.IPv4DestAddress[4]

Alamat tujuan IPv4 dalam paket TCP SYN.

WoLPattern.IPv4TcpSynParameters.TCPSourcePortNumber

Nomor port sumber TCP dalam paket TCP SYN.

WoLPattern.IPv4TcpSynParameters.TCPDestPortNumber

Nomor port tujuan TCP dalam paket TCP SYN.

WoLPattern.IPv6TcpSynParameters

Struktur yang berisi informasi IPv6 TCP SYN. Struktur ini berisi anggota berikut:

WoLPattern.IPv6TcpSynParameters.Flags

Nilai ULONG yang berisi bitwise OR dari bendera. Anggota ini dicadangkan untuk NDIS.

WoLPattern.IPv6TcpSynParameters.IPv6SourceAddress[16]

Alamat sumber IPv6 dalam paket TCP SYN.

WoLPattern.IPv6TcpSynParameters.IPv6DestAddress[16]

Alamat tujuan IPv6 dalam paket TCP SYN.

WoLPattern.IPv6TcpSynParameters.TCPSourcePortNumber

Port sumber TCP dalam paket TCP SYN.

WoLPattern.IPv6TcpSynParameters.TCPDestPortNumber

Port tujuan TCP dalam paket TCP SYN.

WoLPattern.EapolRequestIdMessageParameters

Struktur yang berisi parameter pesan identitas permintaan EAPOL 802.1X. Struktur ini berisi anggota berikut:

WoLPattern.EapolRequestIdMessageParameters.Flags

Nilai ULONG yang berisi bitwise OR dari bendera. Anggota ini dicadangkan untuk NDIS.

WoLPattern.WoLBitMapPattern

Struktur yang menentukan pola bitmap WOL. Untuk informasi selengkapnya tentang pola bitmap, lihat bagian Keterangan. Strukturnya memiliki anggota berikut:

WoLPattern.WoLBitMapPattern.Flags

Nilai ULONG yang berisi bitwise OR dari bendera. Anggota ini dicadangkan untuk NDIS.

WoLPattern.WoLBitMapPattern.MaskOffset

Offset, dalam byte, untuk buffer masker dari awal struktur NDIS_PM_WOL_PATTERN.

Masker menentukan byte mana dalam paket masuk yang harus dicocokkan dengan pola bitmap. Setiap bit dalam bitmask sesuai dengan byte dalam pola. Jika bit adalah nol, byte yang sesuai dalam paket masuk tidak boleh cocok dengan pola. Jika bit adalah satu, adaptor jaringan membandingkan byte dengan paket masuk dengan byte yang ditentukan dalam pola.

WoLPattern.WoLBitMapPattern.MaskSize

Ukurannya, dalam byte, dari masker.

WoLPattern.WoLBitMapPattern.PatternOffset

Offset, dalam byte, untuk buffer pola dari awal struktur NDIS_PM_WOL_PATTERN.

WoLPattern.WoLBitMapPattern.PatternSize

Ukuran, dalam byte, dari pola.

_WOL_PATTERN

Keterangan

Struktur NDIS_PM_WOL_PATTERN digunakan dalam permintaan OID OID_PM_ADD_WOL_PATTERN dan OID_PM_WOL_PATTERN_LIST .

Driver lapisan atas dapat menentukan pola WOL generik dengan anggota WoLBitMapPattern . Pola bitmap ditentukan sebagai urutan byte dan bitmap mask. Setiap bit dalam masker sesuai dengan byte dalam pola, dan menentukan apakah byte yang sesuai dalam paket masuk harus dicocokkan dengan byte yang sesuai dalam pola. Jika semua byte dibandingkan dengan kecocokan adaptor jaringan, paketnya cocok dan adaptor jaringan harus menghasilkan peristiwa bangun.

Driver lapisan atas dapat menentukan nilai alamat IPv4 dan port TCP tanpa isian, atau tidak ditentukan dalam struktur anggota IPv4TcpSynParameters . Jika bendera NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED diatur dalam anggota EnabledWoLPacketPatterns dari NDIS_PM_PARAMETERS, adaptor jaringan harus menggunakan alamat atau nilai port yang tidak ditentukan agar sesuai dengan alamat IPv4 sumber atau tujuan atau nilai port TCP dalam paket IPv4 TCP SYN.

Demikian pula, driver lapisan atas dapat menentukan alamat IPv6 yang tidak ditentukan dan nilai port TCP dalam struktur anggota IPv6TcpSynParameters . Jika bendera NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED diatur dalam anggota EnabledWoLPacketPatterns dari NDIS_PM_PARAMETERS, adaptor jaringan harus menggunakan alamat atau nilai port yang tidak ditentukan agar sesuai dengan alamat IPv6 sumber atau tujuan atau nilai port TCP dalam paket SYN TCP IPv4.

Driver lapisan atas mengatur bendera NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED dan NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED dengan mengeluarkan permintaan yang ditetapkan dari OID_PM_PARAMETERS OID.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.20 dan yang lebih baru.
Header ntddndis.h (termasuk Ntddndis.h)

Lihat juga

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_WOL_PACKET

OID_PM_ADD_WOL_PATTERN

OID_PM_WOL_PATTERN_LIST