Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предоставляет сведения о следующем блоке кодирования Miracast, который был сообщен подсистеме ядра графики Microsoft DirectX, когда тип прерывания DXGK_INTERRUPT_TYPEDXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETE. Тип данных этой функции — 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 ранее получил этот дескриптор в качестве параметра hMiracastDeviceHand le в вызове функции CreateMiracastContext.
[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, когда GPU завершает кодировку блока путем передачи данных в MIRACAST_CHUNK_DATA.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 (include Netdispumdddi.h) |