다음을 통해 공유


SerCxDeviceInitConfig 함수(sercx.h)

SerCxDeviceInitConfig 메서드는 SerCx(직렬 프레임워크 확장)를 만드는 프레임워크 디바이스 개체(FDO 또는 PDO)의 I/O 파이프라인에 연결하기 위해 직렬 컨트롤러 드라이버에 의해 호출됩니다.

구문

NTSTATUS SerCxDeviceInitConfig(
  [in, out] PWDFDEVICE_INIT DeviceInit
);

매개 변수

[in, out] DeviceInit

구성할 WDFDEVICE_INIT 구조체에 대한 포인터입니다.

반환 값

SerCxDeviceInitConfig 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.

반환 코드 설명
STATUS_INSUFFICIENT_RESOURCES
시스템 리소스(일반적으로 메모리)를 할당할 수 없습니다.

설명

이 메서드는 SerCx의 구성 정보를 만들 프레임워크 디바이스 개체(PDO 또는 FDO)의 WDFDEVICE_INIT 구조와 연결합니다. WdfDeviceCreate 메서드를 호출하여 디바이스 개체를 만들기 전에 SerCxDeviceInitConfig를 호출합니다.

컨트롤러 드라이버의 EvtDriverDeviceAdd 콜백 함수는 초기화된 WDFDEVICE_INIT 구조체에 대한 포인터를 입력 매개 변수로 받습니다.

SerCx는 직렬 컨트롤러 드라이버가 필요한 경우 재정의할 수 있는 기본 보안 설명자를 설정합니다. 예를 들어 이 기본 보안 설명자를 사용하면 사용자 모드 드라이버가 직렬 컨트롤러의 포트에 연결된 주변 디바이스에 I/O 요청을 보낼 수 있습니다. 보안 설명자에서 이 설정을 변경하기 위해 직렬 컨트롤러 드라이버는 WdfDeviceInitAssignSDDLString 메서드를 호출할 수 있습니다. 이 호출은 SerCxDeviceInitConfig 호출 후 WdfDeviceCreate 메서드를 호출하기 전에 발생해야 합니다.

예제

다음 코드 예제에서 컨트롤러 드라이버의 EvtDriverDeviceAdd 콜백 함수는 초기화된 WDFDEVICE_INIT 구조를 SerCxDeviceInitConfig 메서드에 전달합니다. SerCxDeviceInitConfig에 대한 호출은 UART(직렬 컨트롤러 디바이스)에 대한 FDO를 만드는 WdfDeviceCreate 호출 전에 발생해야 합니다.

//
// FxDeviceInit is a pointer to an initialized WDFDEVICE_INIT structure.
// Drivers receive a pointer to this structure as an input parameter to an
// EvtDriverDeviceAdd callback function, or as a return value from the
// WdfControlDeviceInitAllocate method.
//

status = SerCxDeviceInitConfig(FxDeviceInit);

if (!NT_SUCCESS(status))
{
    return status;
}

// 
// Set WDF and SerCx device-level configuration options.
//

...

//
// Call the WdfDeviceCreate method.
//

...

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 시작해서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 sercx.h
IRQL PASSIVE_LEVEL

추가 정보

EvtDriverDeviceAdd

WDFDEVICE_INIT

WdfDeviceCreate

WdfDeviceInitAssignSDDLString