QOSEnumerateFlows 函式 (qos2.h)
QOSEnumerateFlows 函式會列舉所有現有的流程。
語法
ExternC BOOL QOSEnumerateFlows(
[in] HANDLE QOSHandle,
[in, out] PULONG Size,
[out] PVOID Buffer
);
參數
[in] QOSHandle
QOSCreateHandle所傳回之 QOS 子系統的控制碼。
[in, out] Size
表示 Buffer 參數的大小,以位元組為單位。
在函式傳回時,如果成功,此參數會指定複製到 Buffer的位元組數目。
如果此呼叫因 ERROR_INSUFFICIENT_BUFFER而失敗,此參數會指出所需的 最小緩衝區 大小,才能順利完成此作業。
[out] Buffer
QOS_FlowId流程識別碼陣列的指標。 QOS_FlowId是不帶正負號的 32 位整數。
傳回值
如果函式成功,則傳回非零的值。
如果函式失敗,則傳回值為 0。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 接下來有一些可能的錯誤碼。
傳回碼 | 描述 |
---|---|
|
QOSHandle參數無效。 |
|
緩衝區太小。 在輸出中, Size 將包含所需的最小緩衝區大小。 然後,應該使用指定大小的緩衝區再次呼叫此函式。 |
|
DestAddr參數無效。 |
|
表示記憶體配置失敗。 |
|
資源不足,無法執行作業。 |
|
因為 I/O 裝置錯誤,所以無法執行要求。 |
|
指定的裝置因為硬體錯誤而需要重新初始化。 應用程式應該會再次清除並呼叫 QOSCreateHandle 。 |
備註
成功呼叫此函式需要系統管理許可權
呼叫 QOSEnumerateFlows 函式會擷取 QOS 子系統上目前作用中的 QOS_FlowId清單。 這些 QOS_FlowId接著可用來呼叫 QOSQueryFlow 函式,以取得個別流程的詳細資訊。
此函式具有兩次呼叫語意。 第一次呼叫 以取得Buffer大小,然後在第一次呼叫失敗且ERROR_INSUFFICIENT_BUFFER) 擷取流程清單時,再次呼叫 (適當大小的Buffer。 第二次呼叫可能會因為第一次呼叫之後新增的流程發生ERROR_INSUFFICIENT_BUFFER失敗。
無法修改來自另一個進程的流程。
需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | qos2.h (包含 Qos2.h) |
程式庫 | Qwave.lib |
Dll | Qwave.dll |