UcmTcpciPortControllerStart 함수(ucmtcpciportcontroller.h)
클라이언트 드라이버가 이제 포트 컨트롤러에 대한 하드웨어 요청을 서비스할 준비가 되었음을 UcmTcpciCx 클래스 확장에 나타냅니다.
구문
NTSTATUS UcmTcpciPortControllerStart(
UCMTCPCIPORTCONTROLLER PortControllerObject
);
매개 변수
PortControllerObject
UcmTcpciPortControllerCreate에 대한 이전 호출에서 클라이언트 드라이버가 받은 포트 컨트롤러 개체에 대한 핸들입니다.
반환 값
(NTSTATUS) 메서드는 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 이 메서드가 적절한 NTSTATUS 오류 코드를 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
포트 컨트롤러가 이미 시작 상태입니다. |
|
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 |