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