SerCxRetrieveTransmitBuffer 함수(sercx.h)
SerCxRetrieveTransmitBuffer 메서드는 직렬 포트로 전송할 준비가 된 데이터를 포함하는 출력 버퍼를 가져옵니다.
통사론
NTSTATUS SerCxRetrieveTransmitBuffer(
[in] WDFDEVICE Device,
[in] ULONG Length,
[in, out] PSERCX_BUFFER_DESCRIPTOR BufferDescriptor
);
매개 변수
[in] Device
직렬 컨트롤러를 나타내는 프레임워크 디바이스 개체에 대한 WDFDEVICE 핸들입니다.
[in] Length
요청된 버퍼 길이(바이트)입니다. SerCxRetrieveTransmitBuffer 호출이 성공하면 호출자는 사용 가능한 데이터의 최대 Length 바이트를 포함하는 출력 버퍼를 받습니다. (버퍼에서 사용 가능한 데이터가 Length 바이트보다 작을 수 있습니다.) SerCxRetrieveTransmitBufferBufferDescriptor 매개 변수가 가리키는 구조체의 Length 멤버에 사용 가능한 데이터의 실제 바이트 수를 씁니다.
[in, out] BufferDescriptor
호출자가 할당한 SERCX_BUFFER_DESCRIPTOR 구조체에 대한 포인터입니다. 이 구조는 전송 작업에 사용할 데이터 버퍼를 설명합니다. 호출자는 이전에 이 구조를 초기화하기 위해 SERCX_BUFFER_DESCRIPTOR_INIT 함수를 호출했습니다. SerCxRetrieveTransmitBuffer 이 구조체의 버퍼 및 Length 멤버에 씁니다.
반환 값
SerCxRetrieveTransmitBuffer 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 코드 | 묘사 |
---|---|
|
메서드가 잘못된 IRQL에서 호출되었습니다. 또는 WDFDEVICE 핸들이 잘못되었습니다. 또는 디바이스 또는 BufferDescriptor NULL입니다. 또는 드라이버에 이미 전송 버퍼가 있습니다. |
|
SERCX_BUFFER_DESCRIPTOR 구조체에 잘못된 크기가 지정되었습니다. |
|
시스템 리소스(일반적으로 메모리)를 할당할 수 없습니다. |
발언
직렬 컨트롤러 드라이버는 이 메서드를 호출하여 현재 전송(쓰기) 작업에 대한 출력 데이터가 포함된 버퍼를 획득합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8부터 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | sercx.h |
IRQL |
<= DISPATCH_LEVEL |