Fungsi NdisMGetOffloadHandlers (ndischimney.h)

[Fitur offload cerobong TCP tidak digunakan lagi dan tidak boleh digunakan.]

Fungsi ini mendapatkan titik masuk fungsi NDIS untuk jenis cerobong asap tertentu.

Sintaks

NDIS_STATUS NdisMGetOffloadHandlers(
  [in]  IN NDIS_HANDLE                   NdisMiniportHandle,
  [in]  IN NDIS_CHIMNEY_OFFLOAD_TYPE     ChimneyType,
  [out] OUT PNDIS_OFFLOAD_EVENT_HANDLERS *OffloadHandlers
);

Parameter

[in] NdisMiniportHandle

Handel ke area konteks yang dialokasikan target offload tempat target offload mempertahankan informasi status tentang instans adaptor ini. Target offload menyediakan handel ini ke NDIS saat memanggil NdisMSetMiniportAttributes dari Fungsi MiniportInitializeEx .

[in] ChimneyType

Jenis cerobong asap yang merupakan salah satu nilai NDIS_CHIMNEY_OFFLOAD_TYPE berikut:

NdisTcpChimneyOffload

Jenis offload cerobong asap TCP.

Semua nilai NDIS_CHIMNEY_OFFLOAD_TYPE lainnya saat ini dicadangkan.

[out] OffloadHandlers

Penunjuk ke variabel yang disediakan oleh target offload. Ukuran variabel ini adalah sizeof(PNDIS_OFFLOAD_EVENT_HANDLERS). Jika panggilan ke fungsi NdisMGetOffloadHandlers berhasil, fungsi akan kembali, dalam variabel ini, penunjuk ke struktur NDIS_OFFLOAD_EVENT_HANDLERS. Struktur ini berfungsi sebagai header untuk struktur khusus cerobong asap yang berisi titik masuk. Struktur NDIS_OFFLOAD_EVENT_HANDLERS diformat sebagai berikut:

typedef struct _NDIS_OFFLOAD_EVENT_HANDLERS {
  NDIS_OBJECT_HEADER  Header;
} NDIS_OFFLOAD_EVENT_HANDLERS, *PNDIS_OFFLOAD_EVENT_HANDLERS;

Struktur ini berisi anggota berikut:

Menentukan header objek NDIS, yang diformat sebagai struktur NDIS_OBJECT_HEADER .

Nilai kembali

NdisMGetOffloadHandlers dapat mengembalikan salah satu hal berikut:

Menampilkan kode Deskripsi
STATUS_SUCCESS
Panggilan berhasil. Titik masuk NDIS yang dikembalikan berlaku untuk jenis cerobong asap yang ditentukan.
STATUS_NOT_SUPPORTED
NDIS tidak mendukung jenis cerobong asap yang ditentukan oleh target offload. Dalam hal ini, NDIS tidak mengembalikan penunjuk OffloadHandlers yang valid.

Keterangan

Target offload memanggil fungsi ini dari fungsi MiniportInitializeEx untuk mendapatkan titik masuk fungsi NDIS untuk jenis cerobong asap tertentu. Target offload memanggil NdisMGetOffloadHandlers sekali untuk setiap jenis cerobong asap yang didukungnya. Dalam setiap panggilan, target offload menentukan jenis cerobong asap yang berbeda.

Jika panggilan ke fungsi NdisMGetOffloadHandlers berhasil, NDIS menyediakan penunjuk OffloadHandlers yang valid, yang menunjuk ke struktur NDIS_OFFLOAD_EVENT_HANDLERS. Struktur ini berisi struktur NDIS_OBJECT_HEADER . Target offload memeriksa anggota Jenis, Revisi, dan Ukuran struktur NDIS_OBJECT_HEADER. Anggota ini menentukan struktur yang berisi titik masuk khusus cerobong asap, jumlah revisi struktur ini, dan ukuran struktur ini dalam byte. Nilai Jenis adalah nilai yang sama dengan target offload yang disediakan untuk parameter ChimneyType .

Jika target offload mendukung nomor Revisi yang ditentukan, target tersebut akan mentransmisikan penunjuk OffloadHandlers ke penunjuk ke jenis struktur khusus cerobong asap yang sesuai. Tabel berikut menunjukkan struktur khusus cerobong asap untuk setiap jenis cerobong asap.

ChimneyType Struktur handler khusus cerobong asap
NdisTcpChimneyOffload NDIS_TCP_OFFLOAD_EVENT_HANDLERS
 

Misalnya, untuk jenis cerobong asap NdisTcpChimneyOffload , target offload mentransmisikan penunjuk OffloadHandlers ke *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS.

Struktur handler khusus cerobong asap berisi struktur NDIS_OBJECT_HEADER yang sama dengan struktur NDIS_OFFLOAD_EVENT_HANDLERS.

Target offload menyalin titik masuk dari struktur khusus cerobong asap ke dalam struktur data internalnya sendiri dan kemudian kembali.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ndischimney.h (termasuk Ndischimney.h)

Lihat juga

MiniportInitializeEx

NDIS_OBJECT_HEADER

NDIS_TCP_OFFLOAD_EVENT_HANDLERS

NdisMSetMiniportAttributes