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 |