PPARALLEL_WRITE 콜백 함수(parallel.h)
PPARALLEL_WRITE 형식의 콜백 루틴은 병렬 디바이스에 데이터를 씁니다. 병렬 포트에 대한 시스템 제공 버스 드라이버는 이 루틴을 제공합니다.
구문
PPARALLEL_WRITE PparallelWrite;
NTSTATUS PparallelWrite(
[in] PVOID Context,
[in] PVOID Buffer,
[in] ULONG NumBytesToWrite,
[out] PULONG NumBytesWritten,
[in] UCHAR Channel
)
{...}
매개 변수
[in] Context
병렬 디바이스의 PDO(물리적 디바이스 개체)의 디바이스 확장에 대한 포인터입니다.
[in] Buffer
호출자가 할당한 쓰기 버퍼에 대한 포인터입니다.
[in] NumBytesToWrite
쓰기 버퍼에서 병렬 디바이스로 복사할 바이트 수를 지정합니다. 호출자가 할당한 쓰기 버퍼의 바이트 수보다 작거나 같아야 합니다.
[out] NumBytesWritten
호출자가 할당한 쓰기 버퍼에서 병렬 디바이스로 실제로 복사된 바이트 수를 지정합니다.
[in] Channel
사용되지 않습니다.
반환 값
반환 코드 | 설명 |
---|---|
|
호출자가 제공한 데이터가 디바이스로 성공적으로 전송되었습니다. |
|
내부 작업으로 인해 NTSTATUS 오류가 발생했습니다. |
설명
시스템에서 제공하는 PPARALLEL_WRITE 콜백에 대한 포인터를 가져오기 위해 커널 모드 드라이버는 PARCLASS_INFORMATION 구조를 반환하는 IOCTL_INTERNAL_PARCLASS_CONNECT 요청을 사용합니다. PARCLASS_INFORMATION 구조체의 ParallelWrite 멤버는 이 콜백에 대한 포인터입니다.
클라이언트는 병렬 포트에 잠금이 있는 경우에만 이 루틴을 사용할 수 있습니다. 클라이언트는 IOCTL_INTERNAL_LOCK_PORT 요청을 사용하여 병렬 포트에 대한 잠금을 가져옵니다.
PPARALLEL_WRITE 콜백은 호출자의 IRQL에 있는 호출자의 스레드에서 실행됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | parallel.h(Parallel.h 포함) |