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)

另請參閱

CreateMiracastContext

DXGK_INTERRUPT_TYPE

MIRACAST_CHUNK_DATA