다음을 통해 공유


UcmTcpciPortControllerStart 함수(ucmtcpciportcontroller.h)

클라이언트 드라이버가 이제 포트 컨트롤러에 대한 하드웨어 요청을 서비스할 준비가 되었음을 UcmTcpciCx 클래스 확장에 나타냅니다.

통사론

NTSTATUS UcmTcpciPortControllerStart(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

매개 변수

PortControllerObject

UcmTcpciPortControllerCreate를 이전 호출에서 클라이언트 드라이버가 수신한 포트 컨트롤러 개체에 대한 핸들입니다.

반환 값

(NTSTATUS) 이 메서드는 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 이 메서드는 적절한 NTSTATUS 오류 코드를 반환할 수 있습니다.

반환 코드 묘사
STATUS_INVALID_DEVICE_REQUEST
포트 컨트롤러가 이미 시작 상태입니다.
STATUS_INVALID_HANDLE
UcmTcpciPortControllerSetHardwareRequestQueue호출하여 하드웨어 요청 큐가 설정되지 않았습니다.

발언

클라이언트 드라이버가 포트 컨트롤러 개체에 대한 UCMPORTCONTROLLER 핸들을 받은 후 드라이버는 이 메서드를 호출하여 드라이버가 하드웨어 요청 수신을 시작할 수 있음을 클래스 확장에 알립니다. 이 메서드 호출을 사용하면 클래스 확장이 드라이버의 콜백 함수 또는 포트 컨트롤러 개체에 대한 요청을 호출하기 전에 클라이언트 드라이버가 포트 컨트롤러 개체에서 프레임워크 컨텍스트 공간을 초기화할 수 있습니다. 드라이버는 UcmTcpciPortControllerAlert 호출하거나 포트 컨트롤러가 시작될 때까지 UcmTcpciPortControllerStop 수 없습니다.

클라이언트 드라이버는 UcmTcpciPortControllerCreate 호출하고 WDF_OBJECT_ATTRIBUTES 구조에서 Attributes 매개 변수 값으로 지정한 경우 해당 컨텍스트 구조를 초기화한 직후에 이 메서드를 호출합니다. 드라이버는 클래스 확장이 이 DDI 호출 내에서 UcmTcpciPortControllerStart 반환하기 전에도 요청을 제출할 수 있다고 가정해야 합니다. 드라이버가 UcmTcpciPortControllerStart 호출하는 동안 잠금을 유지하고 하드웨어 요청을 처리하는 동안 잠금을 획득하려고 시도하는 경우(하드웨어 요청 큐 콜백에서) 교착 상태가 발생할 수 있습니다.

UcmTcpciPortControllerStart를 호출하면 이미 시작 상태인 포트 컨트롤러 개체를 시작할 오류가 발생합니다.

부팅 시 BIOS가 이미 PD 계약을 협상한 경우 UcmTcpciCx는 연결되지 않은 상태에서 시작됩니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 10
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 Windows
헤더 ucmtcpciportcontroller.h
라이브러리 Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

참고 항목

UcmTcpciPortControllerStop