Compartilhar via


IOCTL_SMARTCARD_POWER IOCTL (winsmcrd.h)

O Windows pode exigir que um driver tenha esse IOCTL como NOP e retorne êxito.

O código de controle IOCTL_SMARTCARD_POWER coloca o cartão inteligente em um dos seguintes modos de energia:

Configuração do modo de energia Descrição
SCARD_COLD_RESET Define a energia virtual que afeta apenas o IOCTL_SMARTCARD_GET_STATE. Nenhum impacto nos estados reais de energia do leitor. Retornará SCARD_SPECIFIC em IOCTL_SMARTCARD_GET_STATE se o cartão estiver presente.
SCARD_WARM_RESET Define a energia virtual que afeta apenas o IOCTL_SMARTCARD_GET_STATE. Nenhum impacto nos estados reais de energia do leitor. Retornará SCARD_SPECIFIC em IOCTL_SMARTCARD_GET_STATE se o cartão estiver presente.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

(DWORD) que contém o estado de energia a ser definido.

Buffer de saída

Nenhum.

Bloco de status

Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Os códigos de erro possíveis são:

Código de retorno Descrição
STATUS_NO_MEDIA Esse código será retornado se nenhuma cartão inteligente for detectada.
STATUS_INVALID_PARAMETER Esse código será retornado se o buffer de entrada ou saída for inválido.
STATUS_DEVICE_POWERED_OFF Esse código será retornado se o controle de rádio de proximidade estiver desativado.

Comentários

A energia virtual é definida como TRUE para COLD_RESET e WARM_RESET; caso contrário, a energia virtual será definida como FALSE.

Requisitos

Requisito Valor
Cabeçalho winsmcrd.h

Confira também

Guia de design de NFC (comunicação a curta distância)

Guia de design de cartão inteligente