다음을 통해 공유


SERCX2_CONFIG 구조체(sercx.h)

SERCX2_CONFIG 구조에는 SerCx2(직렬 프레임워크 확장) 버전 2에 대한 구성 정보가 포함되어 있습니다.

구문

typedef struct _SERCX2_CONFIG {
  ULONG                                            Size;
  PFN_SERCX2_FILEOPEN                              EvtSerCx2FileOpen;
  PFN_SERCX2_FILECLOSE                             EvtSerCx2FileClose;
  PFN_SERCX2_SET_WAIT_MASK                         EvtSerCx2SetWaitMask;
  PFN_SERCX2_PURGE_FIFOS                           EvtSerCx2PurgeFifos;
  PFN_SERCX2_CONTROL                               EvtSerCx2Control;
  PFN_SERCX2_APPLY_CONFIG                          EvtSerCx2ApplyConfig;
  PFN_SERCX2_SELECT_NEXT_RECEIVE_TRANSACTION_TYPE  EvtSerCx2SelectNextReceiveTransactionType;
  PFN_SERCX2_SELECT_NEXT_TRANSMIT_TRANSACTION_TYPE EvtSerCx2SelectNextTransmitTransactionType;
  PWDF_OBJECT_ATTRIBUTES                           RequestAttributes;
} SERCX2_CONFIG, *PSERCX2_CONFIG;

멤버

Size

이 구조체의 크기(바이트)입니다. SerCx2InitializeDevice 메서드는 이 멤버를 사용하여 호출자가 사용하는 구조의 버전을 결정합니다. 이 구조체의 크기는 이후 버전의 Sercx.h 헤더 파일에서 변경될 수 있습니다.

EvtSerCx2FileOpen

드라이버 구현 EvtSerCx2FileOpen 이벤트 콜백 함수에 대한 포인터입니다. 이 멤버는 선택 사항이며 드라이버가 함수를 구현하지 않음을 나타내기 위해 NULL 로 설정할 수 있습니다. 그러나 이 함수를 구현하는 드라이버도 EvtSerCx2FileClose 함수를 구현해야 합니다.

EvtSerCx2FileClose

드라이버 구현 EvtSerCx2FileClose 이벤트 콜백 함수에 대한 포인터입니다. 이 멤버는 선택 사항이며 드라이버가 함수를 구현하지 않음을 나타내기 위해 NULL 로 설정할 수 있습니다.

EvtSerCx2SetWaitMask

드라이버 구현 EvtSerCx2SetWaitmask 이벤트 콜백 함수에 대한 포인터입니다. 이 멤버는 유효한 함수를 가리킵니다.

EvtSerCx2PurgeFifos

드라이버 구현 EvtSerCx2PurgeFifos 이벤트 콜백 함수에 대한 포인터입니다. 이 멤버는 유효한 함수를 가리킵니다.

EvtSerCx2Control

드라이버 구현 EvtSerCx2Control 이벤트 콜백 함수에 대한 포인터입니다. 이 멤버는 유효한 함수를 가리킵니다.

EvtSerCx2ApplyConfig

드라이버 구현 EvtSerCx2ApplyConfig 이벤트 콜백 함수에 대한 포인터입니다. 이 멤버는 유효한 함수를 가리킵니다.

EvtSerCx2SelectNextReceiveTransactionType

드라이버 구현 EvtSerCx2SelectNextReceiveTransactionType 이벤트 콜백 함수에 대한 포인터입니다. 이 멤버는 선택 사항이며 드라이버가 함수를 구현하지 않음을 나타내기 위해 NULL 로 설정할 수 있습니다.

EvtSerCx2SelectNextTransmitTransactionType

드라이버 구현 EvtSerCx2SelectNextTransmitTransactionType 이벤트 콜백 함수에 대한 포인터입니다. 이 멤버는 선택 사항이며 드라이버가 함수를 구현하지 않음을 나타내기 위해 NULL 로 설정할 수 있습니다.

RequestAttributes

SerCx2가 직렬 컨트롤러 드라이버에 전달하는 프레임워크 요청 개체에 할당할 특성을 설명하는 WDF_OBJECT_ATTRIBUTES 구조체에 대한 포인터입니다. SerCx2InitializeDevice 메서드를 호출하기 전에 호출자는 WDF_OBJECT_ATTRIBUTES_INIT 함수를 호출하여 구조를 초기화해야 합니다. 이 멤버는 선택 사항이며 직렬 컨트롤러 드라이버가 개체에 특성을 할당할 필요가 없는 경우 WDF_NO_OBJECT_ATTRIBUTES 지정할 수 있습니다. 자세한 내용은 설명 부분을 참조하세요.

설명

SerCx2InitializeDevice 메서드는 SERCX2_CONFIG 구조체에 대한 포인터를 입력 매개 변수로 허용합니다. SerCx2InitializeDevice를 호출하기 전에 SERCX2_CONFIG_INIT 함수를 호출하여 이 구조를 초기화합니다.

RequestAttributes 멤버가 WDF_OBJECT_ATTRIBUTES 구조를 가리키는 경우 호출자는 WDF_OBJECT_ATTRIBUTES_INIT 초기화 함수가 이 구조체의 ParentObject, ExecutionLevelSynchronizationScope 멤버에 쓰는 값을 덮어쓰지 않아야 합니다.

드라이버는 드라이버가 수신하는 프레임워크 요청 개체의 컨텍스트 영역에 정보를 저장해야 할 수 있습니다. 일반적으로 드라이버는 WdfDeviceInitSetRequestAttributes 메서드를 호출하여 요청 개체에 필요한 특성을 지정합니다. 이러한 특성에는 각 요청 개체의 컨텍스트 영역 이름과 크기가 포함됩니다. 또한 SerCx2의 현재 구현에서 요청 컨텍스트가 필요한 직렬 컨트롤러 드라이버는 드라이버가 SerCx2InitializeDevice에 전달하는 SERCX2_CONFIG 구조체의 RequestAttributes 멤버에서 이와 동일한 특성을 지정해야 합니다. 즉, 드라이버는 SerCx2InitializeDevice 호출 및 WdfDeviceInitSetRequestAttributes 호출에서 동일한 요청 특성을 두 번 지정해야 합니다. 자세한 내용은 SerCx2 Custom-Receive 트랜잭션SerCx2 Custom-Transmit 트랜잭션을 참조하세요.

요청 컨텍스트가 필요하지 않은 드라이버는 WdfDeviceInitSetRequestAttributes를 호출할 필요가 없으며 SERCX2_CONFIG 구조체의 RequestAttributes 멤버를 WDF_NO_OBJECT_ATTRIBUTES 설정할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1 부터 지원합니다.
머리글 sercx.h

추가 정보

EvtSerCx2ApplyConfig

EvtSerCx2Control

EvtSerCx2FileClose

EvtSerCx2FileOpen

EvtSerCx2PurgeFifos

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SetWaitmask

SERCX2_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT