PFN_WSK_GET_ADDRESS_INFO 콜백 함수(wsk.h)
WskGetAddressInfo 함수는 호스트 이름에서 전송 주소로 프로토콜 독립적 변환을 수행합니다.
구문
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
)
{...}
매개 변수
[in] Client
[in] 의 WskProviderNpi 매개 변수를 통해 반환된 WSK_CLIENT 구조체에 대한 포인터입니다. WskCaptureProviderNPI 함수입니다.
[in, optional] NodeName
[in] 호스트(노드) 이름 또는 숫자 호스트 주소 문자열을 나타내는 유니코드 문자열을 포함하는 UNICODE_STRING 구조체에 대한 선택적 포인터입니다. 인터넷 프로토콜의 경우 숫자 호스트 주소 문자열은 점선 10진수 IPv4 주소 또는 IPv6 16진수 주소입니다.
[in, optional] ServiceName
[in] 서비스 이름 또는 포트 번호를 나타내는 유니코드 문자열을 포함하는 UNICODE_STRING 구조체에 대한 선택적 포인터입니다.
[in, optional] NameSpace
[in] 쿼리되는 네임스페이스 공급자를 지정하는 선택적 네임스페이스 식별자입니다. 지정된 네임스페이스를 지원하는 네임스페이스 공급자만 성공적으로 쿼리할 수 있습니다.
[in, optional] Provider
[in] 쿼리할 특정 네임스페이스 공급자의 GUID에 대한 선택적 포인터입니다.
[in, optional] Hints
[in] 호출자가 지원하는 소켓 유형에 대한 힌트를 제공하는 ADDRINFOEXW 구조체에 대한 선택적 포인터입니다.
ADDRINFOEXW 구조체는 Ws2def.h 헤더에 정의되어 있습니다. 이 값은
addrinfoex 구조체입니다.
[out] Result
[out] 호스트에 대한 응답 정보를 나타내는 하나 이상의 ADDRINFOEXW 구조체의 연결된 목록을 수신하는 호출자 할당 버퍼에 대한 포인터입니다.
[in, optional] OwningProcess
[in] 함수가 보안 컨텍스트를 검색하는 프로세스에 대한 선택적 포인터입니다. 이 보안 컨텍스트는 함수가 이름 확인 요청을 처리하는 사용자 계정 컨텍스트를 나타냅니다.
이 매개 변수가 NULL인 경우 함수는 최소한의 권한으로 미리 정의된 로컬 계정의 컨텍스트에서 이름 확인 요청을 처리합니다.
이 매개 변수가 NULL 이 아니고 호출 스레드에 가장 토큰이 적용되는 경우 이 함수는 실패하고 STATUS_INVALID_PARAMETER 반환합니다.
[in, optional] OwningThread
[in] 함수가 보안 컨텍스트를 검색하는 스레드에 대한 선택적 포인터입니다. 이 매개 변수는 OwningProcess가 NULL이 아닌 경우에만 NULL이 아닐 수 있습니다. 그렇지 않으면 이 함수가 실패하고 STATUS_INVALID_PARAMETER 반환합니다.
이 매개 변수가 NULL 이 아니고 호출 스레드에 가장 토큰이 적용되는 경우 이 함수는 실패하고 STATUS_INVALID_PARAMETER 반환합니다.
[in, out] Irp
[in/out] 요청을 비동기적으로 완료하는 데 사용할 IRP(I/O 요청 패킷)에 대한 포인터입니다. 요청이 완료되면 Irp ->Iostatus.Information는 반환된 상태 코드를 보유합니다.
반환 값
WskGetAddressInfo 는 다음 NTSTATUS 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
잘못된 매개 변수가 지정되었습니다. |
|
호스트 이름을 확인할 수 없습니다. |
|
함수가 성공적으로 완료되었습니다. WSK 애플리케이션이 의 IRP에 대한 포인터를 지정한 경우 Irp 매개 변수인 IRP는 성공 상태 완료됩니다. |
|
WSK 하위 시스템이 함수를 즉시 완료할 수 없습니다. WSK 하위 시스템은 컨트롤 작업을 완료한 후 IRP를 완료합니다. 컨트롤 작업의 상태 IRP의 IoStatus.Status 필드에 반환됩니다. |
|
오류가 발생했습니다. IRP는 실패 상태 완료됩니다. |
설명
OwningProcess 매개 변수가 가리키는 프로세스 또는 OwningThread 프로세스가 가리키는 스레드는 이 함수의 보안 컨텍스트를 나타냅니다. 보안 컨텍스트로 표시되는 사용자 계정은 함수의 이름 확인 요청에 대한 컨텍스트를 나타냅니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wsk.h(Wsk.h 포함) |
IRQL | PASSIVE_LEVEL |