WskCaptureProviderNPI 함수(wsk.h)
WskCaptureProviderNPI 함수는 WSK 하위 시스템으로부터 사용할 수 있게 되면 공급자 NPI(네트워크 프로그래밍 인터페이스)를 캡처합니다.
구문
NTSTATUS WskCaptureProviderNPI(
[in] PWSK_REGISTRATION WskRegistration,
[in] ULONG WaitTimeout,
[out] PWSK_PROVIDER_NPI WskProviderNpi
);
매개 변수
[in] WskRegistration
WSK 애플리케이션의 등록 instance 식별하는 WskRegister에서 초기화된 메모리 위치에 대한 포인터입니다. 자세한 내용은 WSK_REGISTRATION 참조하세요.
[in] WaitTimeout
WskCaptureProviderNPI 함수가 WSK 공급자 NPI를 사용할 수 있을 때까지 대기할 수 있는 시간(밀리초)입니다. 또는 다음을 지정할 수 있습니다.
WSK_NO_WAIT
공급자 NPI를 사용할 수 없는 경우 이 함수에서 즉시 반환합니다.
WSK_INFINITE_WAIT
WSK 하위 시스템의 공급자 NPI를 사용할 수 있을 때까지 기다립니다.
이 매개 변수를 사용하는 방법에 대한 자세한 내용은 Winsock 커널 애플리케이션 등록을 참조하세요.
[out] WskProviderNpi
WSK 공급자가 반환한 NPI에 대한 포인터입니다. 이 WSK_PROVIDER_NPI 구조에는 WSK 애플리케이션이 호출할 수 있는 WSK 함수의 WSK 공급자 디스패치 테이블에 대한 포인터가 포함되어 있습니다.
반환 값
WskCaptureProviderNPI 는 다음 NTSTATUS 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
공급자 NPI 캡처가 성공적으로 완료되었습니다. |
|
공급자 NPI를 아직 사용할 수 없습니다. |
|
WSK 클라이언트에서 요청한 버전은 WSK 하위 시스템에 의해 지원되지 않습니다. |
|
공급자 NPI 캡처가 실패했습니다. |
설명
성공 코드를 반환하는 WskCaptureProviderNPI 호출마다 WskCaptureProviderNPI 에 전달된 것과 동일한 WskRegistration 매개 변수를 사용하는 정확히 하나의 해당 WskReleaseProviderNPI 호출이 있어야 합니다.
WskRegistration 블록이 해제되거나 덮어쓰여지지 않은 경우에만 WskDeregister를 호출한 후에 WskCaptureProviderNPI를 호출할 수 있습니다. WskDeregister가 호출되면 상태 코드 STATUS_DEVICE_NOT_READY WskCaptureProviderNPI에 대한 추가 호출이 실패하고, 공급자 NPI를 동시에 사용할 수 있게 되지 않는 한 WSK 공급자 NPI가 사용 가능해지기를 기다리는 다른 스레드에서 차단된 기존 WskCaptureProviderNPI 호출도 상태 코드 STATUS_DEVICE_NOT_READY 함께 즉시 반환됩니다.
WSK 하위 시스템에 WSK 애플리케이션을 연결하는 방법에 대한 자세한 내용은 Winsock 커널 애플리케이션 등록을 참조하세요.
WaitTimeout이 WSK_NO_WAIT 설정되지 않은 경우 WskCaptureProviderNPI 함수의 호출자는 IRQL = PASSIVE_LEVEL 실행되어야 합니다. 그렇지 않으면 호출자가 IRQL <= DISPATCH_LEVEL 실행되어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wsk.h(Wsk.h 포함) |
라이브러리 | Netio.lib |
IRQL | PASSIVE_LEVEL(설명 섹션 참조) |