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