영어로 읽기

다음을 통해 공유


UcmConnectorCreate 함수(ucmmanager.h)

커넥터 개체를 만듭니다.

통사론

NTSTATUS UcmConnectorCreate(
  [in]  WDFDEVICE              WdfDevice,
  [in]  PUCM_CONNECTOR_CONFIG  Config,
  [in]  PWDF_OBJECT_ATTRIBUTES Attributes,
  [out] UCMCONNECTOR           *Connector
);

매개 변수

[in] WdfDevice

WdfDeviceCreate에 대한 이전 호출에서 클라이언트 드라이버가 받은 프레임워크 디바이스 개체에 대한 핸들이.

[in] Config

UCM_CONNECTOR_CONFIG_INIT호출하여 초기화되는 호출자 제공 UCM_CONNECTOR_CONFIG 구조체에 대한 포인터입니다.

[in] Attributes

새 커넥터 개체에 대한 특성을 포함하는 호출자 제공 WDF_OBJECT_ATTRIBUTES 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 WDF_NO_OBJECT_ATTRIBUTES 수 있습니다.

[out] Connector

새 커넥터 개체에 대한 핸들을 받는 위치에 대한 포인터입니다.

반환 값

UcmConnectorCreate 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 이 메서드는 적절한 NTSTATUS 값을 반환할 수 있습니다.

발언

클라이언트 드라이버가 이미 사용 중인 커넥터 식별자를 지정하는 경우 STATUS_INVALID_PARAMETER 오류 코드로 메서드가 실패합니다.

Type-C 커넥터가 DRP(Dual-Role 포트)로 지정된 경우 클라이언트 드라이버는 EVT_UCM_CONNECTOR_SET_DATA_ROLE 이벤트 콜백을 등록해야 합니다.

부모 개체가 WdfDevice입니다. WDF_OBJECT_ATTRIBUTESParentObject 멤버를 NULL 또는 WDFDEVICE 핸들로 설정할 수 있습니다. 부모 WDFDEVICE 개체가 삭제되면 커넥터 개체가 삭제됩니다.

UCM 클라이언트 드라이버가 UcmConnectorCreate 호출할 수 있는 적절한 위치는 EvtDevicePrepareHardware 또는 EvtDeviceD0Entry있습니다. 반대로 드라이버는 EvtDeviceReleaseHardware 또는 EvtDeviceD0ExitUCMCONNECTOR 핸들을 해제해야 합니다.

예제

이 예제 코드는 PD가 지원되는 Type-C 커넥터를 만드는 방법을 보여줍니다.

    
    UCMCONNECTOR Connector;
  
    UCM_CONNECTOR_CONFIG_INIT(&connCfg, 0);

    UCM_CONNECTOR_TYPE_C_CONFIG_INIT(
        &connCfg.TypeCConfig,
        UcmTypeCOperatingModeDrp,
        UcmTypeCCurrentDefaultUsb | UcmTypeCCurrent1500mA | UcmTypeCCurrent3000mA);

    connCfg.EvtSetDataRole = EvtSetDataRole;

    UCM_CONNECTOR_PD_CONFIG_INIT(&connCfg.PdConfig, UcmPowerRoleSink | UcmPowerRoleSource);

    WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attr, CONNECTOR_CONTEXT);

    status = UcmConnectorCreate(Device, &connCfg, &attr, &Connector);
    if (!NT_SUCCESS(status))
    {
        TRACE_ERROR(
            "UcmConnectorCreate failed with %!STATUS!.",
            status);
        goto Exit;
    }

    TRACE_INFO("UcmConnectorCreate() succeeded.");

요구 사항

요구
지원되는 최소 클라이언트 Windows 10
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 Windows
최소 KMDF 버전 1.15
최소 UMDF 버전 2.15
헤더 ucmmanager.h(Ucmcx.h 포함)
라이브러리 UcmCxstub.lib
IRQL PASSIVE_LEVEL

참고 항목

UCM_CONNECTOR_CONFIG

UCM_CONNECTOR_CONFIG_INIT