Bagikan melalui


Fungsi MgmGetNextMfe (mgm.h)

Fungsi MgmGetNextMfe mengambil satu atau beberapa MFEs. Manajer tabel perutean mulai mengambil MEF yang dimulai dengan MFE yang mengikuti MFE yang ditentukan. Fungsi ini dapat mengambil nol, satu, atau lebih MFEs. Jumlah MFE yang dikembalikan tergantung pada ukuran MFE dan ukuran buffer yang disediakan oleh klien ketika fungsi dipanggil.

Data yang dikembalikan dalam buffer diurutkan terlebih dahulu menurut grup, lalu oleh sumber dalam grup.

Sintaks

DWORD MgmGetNextMfe(
  [in]      PMIB_IPMCAST_MFE pimmStart,
  [in, out] PDWORD           pdwBufferSize,
  [in, out] PBYTE            pbBuffer,
  [in, out] PDWORD           pdwNumEntries
);

Parameter

[in] pimmStart

Penunjuk ke struktur MIB_IPMCAST_MFE yang menentukan dari mana harus mulai mengambil MFEs. Anggota dwSource dan dwGroup dari struktur MIB_IPMCAST_MFE mengidentifikasi MFE. Tentukan sumber dan grup MFE terakhir yang dikembalikan oleh panggilan sebelumnya ke MgmGetFirstMfe atau MgmGetNextMfe.

[in, out] pdwBufferSize

Pada input, pdwBufferSize adalah penunjuk ke lokasi memori berukuran DWORD yang berisi ukuran, dalam byte, pbBuffer.

Pada output, jika nilai yang dikembalikan ERROR_INSUFFICIENT_BUFFER, pdwBufferSize menerima ukuran minimum pbBuffer harus menahan MFE; jika tidak, nilai pdwBufferSize tetap tidak berubah.

[in, out] pbBuffer

Pada input, klien harus menyediakan pointer ke buffer.

Pada output, pbBuffer berisi satu atau beberapa MFEs. Setiap MFE adalah struktur MIB_IPMCAST_MFE .

[in, out] pdwNumEntries

Pada input, klien harus menyediakan pointer ke lokasi memori berukuran DWORD.

Pada output, pdwNumEntries menerima jumlah MEF yang terkandung dalam pbBuffer.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah NO_ERROR.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.

Nilai Makna
ERROR_CAN_NOT_COMPLETE
Tidak dapat menyelesaikan panggilan ke fungsi ini.
ERROR_INSUFFICIENT_BUFFER
Buffer yang ditentukan terlalu kecil bahkan untuk satu MFE. Klien harus memeriksa nilai pdwBufferSize untuk ukuran buffer minimum yang diperlukan untuk mengambil satu MFE.
ERROR_MORE_DATA
Lebih banyak MEF tersedia.
ERROR_NO_MORE_ITEMS
Tidak ada lagi MFEs yang tersedia. Nol atau lebih MFEs dikembalikan; periksa nilai pdwNumEntries untuk memverifikasi berapa banyak MFEs yang dikembalikan.

Keterangan

Fungsi ini digunakan untuk melanjutkan pengambilan MFEs berurutan; gunakan MgmGetFirstMfe untuk memulai proses pengambilan.

Secara umum, untuk mengambil MFE, pertama-tama panggil MgmGetFirstMfe. Kemudian, panggil MgmGetNextMfe satu atau beberapa kali, sampai tidak ada lagi MFE untuk dikembalikan. Setiap panggilan ke MgmGetNextMfe harus dimulai setelah MFE terakhir yang dikembalikan oleh panggilan sebelumnya ke MgmGetNextMfe (atau panggilan awal ke MgmGetFirstMfe). Untuk melakukan ini, klien menentukan sumber dan grup terakhir dalam buffer yang dikembalikan oleh panggilan sebelumnya.

Catatan Ukuran minimum buffer yang diacu oleh pbBuffer tidak diperbaiki; berbeda untuk setiap MFE. Gunakan makro sizeof(MIB_IPMCAST_MFE) untuk menentukan ukuran setiap MFE yang dikembalikan dalam buffer.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tidak ada yang didukung
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header mgm.h
Pustaka Rtm.lib
DLL Rtm.dll

Lihat juga

MIB_IPMCAST_MFE

MgmGetFirstMfe

MgmGetMfe