PFN_GET_NEXT_CHUNK_DATA回呼函式 (netdispumdddi.h)
提供DXGK_INTERRUPT_TYPE中斷類型DXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETE時,向 Microsoft DirectX 圖形核心子系統回報的下一個 Miracast 編碼區塊的相關信息。此函式的數據類型PFN_GET_NEXT_CHUNK_DATA。
語法
PFN_GET_NEXT_CHUNK_DATA PfnGetNextChunkData;
NTSTATUS PfnGetNextChunkData(
[in] HANDLE hMiracastDeviceHandle,
[in] UINT TimeoutInMilliseconds,
[in] UINT AdditionalWaitEventCount,
[in, optional] HANDLE *pAdditionalWaitEvents,
[in, out] UINT *pChunkDataBufferSize,
[out] MIRACAST_CHUNK_DATA *pChunkDataBuffer,
[out] UINT *pOutstandingChunksToProcess
)
{...}
參數
[in] hMiracastDeviceHandle
表示 Miracast 裝置的句柄。 Miracast 使用者模式驅動程式先前在呼叫 CreateMiracastContext 函式時取得此句柄作為 hMiracastDeviceHandle 參數。
[in] TimeoutInMilliseconds
Miracast 使用者模式驅動程式所提供的逾時間隔值,以毫秒為單位。
如果此值為 INFINITE,操作系統會封鎖 對 GetNextChunkData 的呼叫,直到區塊變成可用為止。
如果此值為零且區塊尚未就緒,操作系統將不會封鎖 對 GetNextChunkData 的呼叫。
[in] AdditionalWaitEventCount
pAdditionalWaitEvents 參數中提供的其他事件數目。
最多可以提供 4 個等候事件。
[in, optional] pAdditionalWaitEvents
GetNextChunkData 在等候新編碼區塊時等候的事件陣列選擇性指標。
[in, out] pChunkDataBufferSize
變數的指標,其中包含 pChunkDataBuffer 緩衝區的大小,以位元組為單位。
呼叫 GetNextChunkData 時,此參數會包含 pChunkDataBuffer 的大小。
當 GetNextChunkData 傳回成功程式代碼時,此參數會包含 pChunkDataBuffer 中傳回的實際編碼區塊數據大小。
[out] pChunkDataBuffer
操作系統所提供之緩衝區類型的指標 , MIRACAST_CHUNK_DATA用來儲存下一個編碼區塊的相關信息。 只有在 呼叫 GetNextChunkData 成功時,才會提供此參數。
[out] pOutstandingChunksToProcess
變數的指標,其中包含此呼叫傳回時,驅動程式可用的未完成編碼區塊數目。 只有在 呼叫 GetNextChunkData 成功時,才會提供此參數。
請注意,當 GPU 異步完成區塊時,此參數只會提供未完成區塊數目的指示。
傳回值
如果成功傳回編碼區塊的資訊,則會傳回 STATUS_SUCCESS 狀態代碼,而 *pChunkDataBufferSize 的值不是零。
您可以傳回這些額外的狀態代碼:
備註
此函式是選擇性的。 當使用者模式顯示驅動程式只有在顯示迷你埠驅動程式在 GPU 完成區塊編碼,藉由傳入 MIRACAST_CHUNK_DATA中的數據,回應 GPU 中斷時,才應該呼叫它。PrivateDriverData 成員在該中斷時間。
使用者模式顯示驅動程式可以使用 MIRACAST_CHUNK_DATA 結構和 MIRACAST_CHUNK_DATA的大小。PrivateDriverData 成員可計算區塊的大小,因此如何從區塊移至傳回緩衝區中的區塊。
在對這個函式的呼叫中,將依序放置許多可用的封包,並依序放在提供的緩衝區中。 此代碼段示範如何計算每個封包的大小:
ChunkSize == FIELD_OFFSET
(D3DKMT_MIRACAST_CHUNK_DATA, PrivateDriverData) \
+ Chunk->ChunkData.PrivateDriverDataSize;
執行緒安全性
一次只能有一個線程呼叫此函式。 否則,無法預期哪些呼叫會收到區塊資訊,以及哪些呼叫會失敗。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8.1 |
最低支援的伺服器 | Windows Server 2012 R2 |
目標平台 | 桌面 |
標頭 | netdispumdddi.h (包含 Netdispumdddi.h) |