Compartilhar via


PFN_WSK_GET_ADDRESS_INFO função de retorno de chamada (wsk.h)

A função WskGetAddressInfo executa a tradução independente de protocolo de um nome de host para um endereço de transporte.

Sintaxe

PFN_WSK_GET_ADDRESS_INFO PfnWskGetAddressInfo;

NTSTATUS PfnWskGetAddressInfo(
  [in]           PWSK_CLIENT Client,
  [in, optional] PUNICODE_STRING NodeName,
  [in, optional] PUNICODE_STRING ServiceName,
  [in, optional] ULONG NameSpace,
  [in, optional] GUID *Provider,
  [in, optional] PADDRINFOEXW Hints,
  [out]          PADDRINFOEXW *Result,
  [in, optional] PEPROCESS OwningProcess,
  [in, optional] PETHREAD OwningThread,
  [in, out]      PIRP Irp
)
{...}

Parâmetros

[in] Client

[in] Um ponteiro para uma estrutura WSK_CLIENT que foi retornada por meio do parâmetro WskProviderNpi do Função WskCaptureProviderNPI .

[in, optional] NodeName

[in] Um ponteiro opcional para uma estrutura UNICODE_STRING que contém uma cadeia de caracteres Unicode que representa um nome de host (nó) ou uma cadeia de caracteres de endereço de host numérico. Para o protocolo da Internet, a cadeia de caracteres de endereço de host numérico é um endereço IPv4 decimal pontilhado ou um endereço hexadecimal IPv6.

[in, optional] ServiceName

[in] Um ponteiro opcional para uma estrutura de UNICODE_STRING que contém uma cadeia de caracteres Unicode que representa um nome de serviço ou um número de porta.

[in, optional] NameSpace

[in] Um identificador de namespace opcional que especifica os provedores de namespace consultados. Somente provedores de namespace que dão suporte ao namespace especificado podem ser consultados com êxito.

[in, optional] Provider

[in] Um ponteiro opcional para um GUID de um provedor de namespace específico a ser consultado.

[in, optional] Hints

[in] Um ponteiro opcional para uma estrutura ADDRINFOEXW que fornece dicas sobre o tipo de soquete compatível com o chamador.

A estrutura ADDRINFOEXW é definida no cabeçalho Ws2def.h. É idêntico ao
estrutura addrinfoex.

Importante O arquivo de cabeçalho Ws2def.h é incluído automaticamente no Wsk.h. Não use o Ws2def.h diretamente.
 

[out] Result

[out] Um ponteiro para um buffer alocado pelo chamador que recebe uma lista vinculada de uma ou mais estruturas ADDRINFOEXW que representam informações de resposta sobre o host.

Nota O chamador deve chamar a função WskFreeAddressInfo para liberar esse ponteiro.
 
A estrutura ADDRINFOEXW é definida no cabeçalho Ws2def.h. Ela é idêntica à estrutura addrinfoex .
Importante O arquivo de cabeçalho Ws2def.h é incluído automaticamente no Wsk.h. Não use o Ws2def.h diretamente.
 

[in, optional] OwningProcess

[in] Um ponteiro opcional para o processo do qual a função recupera o contexto de segurança. Esse contexto de segurança indica o contexto da conta de usuário no qual a função processa a solicitação de resolução de nomes.

Se esse parâmetro for NULL, a função processará a solicitação de resolução de nomes no contexto de uma conta local predefinida com privilégios mínimos.

Se esse parâmetro não for NULL e um token de representação estiver em vigor para o thread de chamada, essa função falhará e retornará STATUS_INVALID_PARAMETER.

[in, optional] OwningThread

[in] Um ponteiro opcional para o thread do qual a função recupera o contexto de segurança. Esse parâmetro só poderá ser não NULL se OwningProcess não for NULL. Caso contrário, essa função falhará e retornará STATUS_INVALID_PARAMETER.

Se esse parâmetro não for NULL e um token de representação estiver em vigor para o thread de chamada, essa função falhará e retornará STATUS_INVALID_PARAMETER.

[in, out] Irp

[entrada/saída] Um ponteiro para um IRP (pacote de solicitação de E/S) a ser usado para concluir a solicitação de forma assíncrona. Após a conclusão da solicitação, Irp ->Iostatus.Information manterá o código de status retornado.

Retornar valor

WskGetAddressInfo retorna um dos seguintes códigos NTSTATUS:

Código de retorno Descrição
STATUS_INVALID_PARAMETER
Um parâmetro inválido foi especificado.
STATUS_NO_MATCH
O nome do host não pode ser resolvido.
STATUS_SUCCESS
A função foi concluída com êxito. Se o aplicativo WSK tiver especificado um ponteiro para um IRP no Parâmetro Irp, o IRP será concluído com um status de êxito.
STATUS_PENDING
O subsistema do WSK não pôde concluir a função imediatamente. O subsistema WSK concluirá o IRP depois de concluir a operação de controle. O status da operação de controle será retornado no campo IoStatus.Status do IRP.
Outros códigos status
Ocorreu um erro. O IRP será concluído com falha status.

Comentários

O processo para o qual o parâmetro OwningProcess aponta, ou o thread para o qual o processo OwningThread aponta, indica o contexto de segurança para essa função. A conta de usuário indicada pelo contexto de segurança indica o contexto para a solicitação de resolução de nomes da função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 7 e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Universal
Cabeçalho wsk.h (inclua Wsk.h)
IRQL PASSIVE_LEVEL

Confira também

UNICODE_STRING

WSK_CLIENT

WskCaptureProviderNPI

WskFreeAddressInfo