Método ISCardISO7816::SelectFile
[O método SelectFile está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele não está disponível para uso no Windows Server 2003 com Service Pack 1 (SP1) e posterior, Windows Vista, Windows Server 2008 e versões subsequentes do sistema operacional. Os Módulos de Cartão Inteligente fornecem funcionalidade semelhante.]
O método SelectFile constrói um comando APDU ( unidade de dados de protocolo de aplicativo ) que define um arquivo elementar atual dentro de um canal lógico. Os comandos subsequentes podem se referir implicitamente ao arquivo atual por meio do canal lógico.
Selecionar um DF (diretório) no repositório de arquivos cartão , que pode ser a raiz (MF) do repositório de arquivos, torna-o o DF atual. Após essa seleção, um arquivo elementar atual implícito pode ser referenciado por meio desse canal lógico.
Selecionar um arquivo elementar define o arquivo selecionado e seu pai como arquivos atuais.
Após a resposta a ser redefinida, o MF é selecionado implicitamente por meio do canal lógico básico, a menos que especificado de forma diferente nos bytes históricos ou na cadeia de caracteres de dados inicial.
Sintaxe
HRESULT SelectFile(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pData,
[in] LONG lBytesToRead,
[in, out] LPSCARDCMD *ppCmd
);
Parâmetros
-
byP1 [in]
-
Controle de seleção.
P1 (byte superior na palavra): 8 7 6 5 4 3 2 1 Significado - 000000xx
Selecionar ID do Arquivo - 00000000
EF, DF ou MF - 00000001
DF filho - 00000010
EF em DF - 00000011
DF pai do DF atual Quando P1=00, o cartão sabe por causa de uma codificação específica da ID do arquivo ou devido ao contexto de execução do comando se o arquivo a ser selecionado for o MF, um DF ou um EF.
Quando P1-P2=0000, se uma ID de arquivo for fornecida, ela será exclusiva nos seguintes ambientes:
- Filhos imediatos do DF atual
- DF pai
- Filhos imediatos do DF pai
Se P1-P2=0000 e se o campo de dados estiver vazio ou igual a 3F00, selecione o MF.
Quando P1=04, o campo de dados é um nome DF, possivelmente truncado corretamente.
Quando houver suporte, os comandos sucessivos com o mesmo campo de dados devem selecionar DFs cujos nomes correspondem ao campo de dados (ou seja, começar com o campo de dados de comando). Se o cartão aceitar o comando com um campo de dados vazio, todos ou um subconjunto dos DFs poderão ser selecionados sucessivamente.
-
byP2 [in]
-
Controle de seleção.
-
pData [in]
-
Dados para operação, se necessário; else, NULL. Os tipos de dados que são passados nesse parâmetro incluem:
- ID do arquivo
- caminho do MF
- caminho do DF atual
- Nome do DF
-
lBytesToRead [in]
-
Vazio (ou seja, 0) ou comprimento máximo dos dados esperados em resposta.
-
ppCmd [in, out]
-
Na entrada, um ponteiro para um objeto de interface ISCardCmd ou NULL.
No retorno, ele é preenchido com o comando APDU construído por essa operação. Se ppCmd tiver sido definido como NULL, um objeto cartãoISCardCmd inteligente será criado internamente e retornado por meio do ponteiro ppCmd.
Valor retornado
O método retorna um dos valores possíveis a seguir.
Código de retorno | Descrição |
---|---|
|
Operação concluída com sucesso. |
|
Parâmetro inválido. |
|
Um ponteiro inválido foi passado. |
|
Sem memória. |
Comentários
A menos que especificado de outra forma, a execução correta do comando encapsulado modifica o status de segurança de acordo com as seguintes regras:
- Quando o arquivo elementar atual é alterado ou quando não há nenhum arquivo elementar atual, a segurança status específica para um arquivo elementar atual antigo é perdida.
- Quando o DF (diretório de armazenamento de arquivos) atual é descendente ou idêntico ao antigo DF atual, a segurança status específica para o antigo DF atual é perdida. A segurança status comum a todos os ancestrais comuns do DF anterior e novo atual é mantida.
Para obter uma lista de todos os métodos fornecidos por essa interface, consulte ISCardISO7816.
Além dos códigos de erro COM listados acima, essa interface poderá retornar um código de erro de cartão inteligente se uma função de cartão inteligente for chamada para concluir a solicitação. Para obter mais informações, consulte Valores retornados do cartão inteligente.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2003 [somente aplicativos da área de trabalho] |
Fim do suporte ao cliente |
Windows XP |
Fim do suporte ao servidor |
Windows Server 2003 |
Cabeçalho |
|
Biblioteca de tipos |
|
DLL |
|
IID |
IID_ISCardISO7816 é definido como 53B6AA68-3F56-11D0-916B-00AA00C18068 |
Confira também