mgmGetFirstMfe 函式 (mgm.h)

MgmGetFirstMfe函式會從 MFE 清單開頭開始擷取 MFE。 函式可以擷取零、一或多個 MFE。 傳回的 MFE 數目取決於呼叫函式時,MFE 的大小和用戶端所提供的緩衝區大小。

緩衝區中傳回的資料會先依群組排序,然後再依群組內的來源排序。

語法

DWORD MgmGetFirstMfe(
  [in, out] PDWORD pdwBufferSize,
  [in, out] PBYTE  pbBuffer,
  [in, out] PDWORD pdwNumEntries
);

參數

[in, out] pdwBufferSize

在輸入時, pdwBufferSizeDWORD大小的記憶體位置指標,其中包含 pbBuffer的大小,以位元組為單位。

在輸出中,如果傳回值是ERROR_INSUFFICIENT_BUFFER, pdwBufferSize 會收到最小大小的 pbBuffer 必須是保留 MFE;否則, pdwBufferSize 的值會保持不變。

[in, out] pbBuffer

在輸入時,用戶端必須提供緩衝區的指標。

在輸出中, pbBuffer 包含一或多個 MFE。 每個 MFE 都是 MIB_IPMCAST_MFE 結構。

[in, out] pdwNumEntries

在輸入時,用戶端必須提供 DWORD大小記憶體位置的指標。

在輸出時, pdwNumEntries 會接收 pbBuffer中包含的 MFE 數目。

傳回值

如果函式成功,傳回值會NO_ERROR。

如果函式失敗,傳回值就是下列其中一個錯誤碼。

意義
ERROR_CAN_NOT_COMPLETE
無法完成此函式的呼叫。
ERROR_INSUFFICIENT_BUFFER
即使一個 MFE,指定的緩衝區也太小。 用戶端應該檢查 pdwBufferSize 的值,以取得擷取一個 MFE 所需的最小緩衝區大小。
ERROR_MORE_DATA
有更多 MFE 可供使用。
ERROR_NO_MORE_ITEMS
沒有其他 MFE 可供使用。 傳回零個或多個 MFE;請檢查 pdwNumEntries 的值,以確認傳回多少 MFE。
 
 

備註

此函式用來開始循序擷取 MFE;使用 MgmGetNextMfe 繼續擷取程式。

一般而言,若要擷取 MFE,請先呼叫 MgmGetFirstMfe。 然後,呼叫 MgmGetNextMfe 一或多次,直到沒有更多要傳回的 MFE 為止。 每次呼叫 MgmGetNextMfe時,都應該在上一次呼叫 MgmGetNextMfe傳回的最後一個 MFE 之後開始 (或對 MgmGetFirstMfe的初始呼叫) 。 若要這樣做,用戶端會在先前呼叫所傳回的緩衝區中指定最後一個來源和群組。

注意pbBuffer指向的緩衝區大小下限不是固定的;每個 MFE 都不同。 使用 sizeof (MIB_IPMCAST_MFE) 宏來判斷緩衝區中傳回的每個 MFE 大小。
 

需求

   
最低支援的用戶端 都不支援
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 mgm.h
程式庫 Rtm.lib
Dll Rtm.dll

另請參閱

MIB_IPMCAST_MFE

MgmGetMfe

MgmGetNextMfe