Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает следующий доступный буфер данных или если нет буферных данных, запрос должен оставаться в ожидании, пока буфер APDU не будет доступен для чтения. Затем буфер данных должен быть возвращен вызывающей объекту. Обратите внимание, что вызывающий объект должен выделить достаточно большой выходной буфер, чтобы сохранить самый большой APDU, полученный + 4 байта.
Основной код
Входной буфер
Никакой
Длина входного буфера
Никакой
Выходной буфер
DWORD, указывающий размер структуры SECURE_ELEMENT_HCE_DATA_PACKET плюс полезные данные сразу после самой структуры SECURE_ELEMENT_HCE_DATA_PACKET.
Блок состояния
Irp->IoStatus.Status имеет значение STATUS_SUCCESS, если запрос выполнен успешно. Возможные коды ошибок:
| Код возврата | Описание |
|---|---|
| STATUS_BUFFER_OVERFLOW | Предоставленный буфер слишком мал, чтобы получить уведомление, первый DWORD будет содержать ожидаемый размер буфера. |
| STATUS_INVALID_PARAMETER | Если входной буфер не равен нулю. |
| STATUS_INVALID_DEVICE_STATE | Если IOCTL отправляется на дескриптор, отличный от относительного имени SEManage. |
Замечания
Ниже приведены требования, с которыми должен соответствовать драйвер.
- Этот IOCTL отправляется на существующее подключение после активации события HCE.
- Драйвер должен поддерживать CancelIo в этом заготовленном IOCTL.
- Драйвер должен поддерживать очередь "Получено" полученного APDU для текущего подключения.
- При получении этого IOCTL в драйвере:
- Если очередь "Получено" пуста, драйвер должен запустить IOCTL для последующего завершения.
- Если очередь "Получена" не пуста, драйвер ДОЛЖЕН открепить один APDU, скопируйте буфер APDU в выходной буфер IOCTL и завершите IOCTL с помощью STATUS_SUCCESS немедленно.
- Если драйвер завершает этот IOCTL с STATUS_SUCCESS, первый DWORD [4 байт] выходного буфера должен содержать размер структуры SECURE_ELEMENT_HCE_DATA_PACKET плюс полезные данные.
- Если полученные данные APDU слишком большие для копирования в выходной буфер IOCTL, драйвер должен скопировать требуемый размер буфера в первые 4 байта выходного буфера, задайте для поля сведений IOCTL значение sizeof(DWORD) и заполните IOCTL с помощью STATUS_BUFFER_OVERFLOW. Данные APDU должны оставаться в очереди "Получено".
Требования
| Требование | Ценность |
|---|---|
| заголовка | nfcsedev.h |