IMiniportMidiStream::Write 메서드(portcls.h)
Write
메서드는 나가는 MIDI 스트림에 데이터를 씁니다.
통사론
NTSTATUS Write(
[in] PVOID BufferAddress,
[in] ULONG BytesToWrite,
[out] PULONG BytesWritten
);
매개 변수
[in] BufferAddress
나가는 MIDI 데이터를 포함하는 호출자 할당 버퍼에 대한 포인터
[in] BytesToWrite
BufferAddress 가리키는 버퍼에 포함된 MIDI 데이터의 바이트 수를 지정합니다.
[out] BytesWritten
메서드가 MIDI 출력 디바이스에 쓰기에 성공한 실제 바이트 수를 지정하는 개수를 작성하는 호출자 할당 변수에 대한 출력 포인터입니다. 자세한 내용은 다음 설명 섹션을 참조하세요.
반환 값
Write
호출에 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드가 적절한 오류 코드를 반환합니다. 다음 표에서는 가능한 반환 상태 코드 중 일부를 보여 줍니다.
반환 코드 | 묘사 |
---|---|
|
디바이스 오류로 인해 호출이 실패했습니다. |
|
디바이스 요청이 잘못되었습니다(예: MIDI 입력 스트림에서 Write 호출).
|
발언
메서드가 성공하면 BytesWritten 매개 변수를 통해 다음 값 중 하나를 호출자에게 출력합니다.
- BytesToWrite동일한 값입니다. 이 값은 메서드가 모든 BytesToWrite 바이트를 디바이스에 쓰는 데 성공했음을 나타냅니다.
- BytesToWrite 미만인 4개 중 배수입니다. 메서드가 일부 호출자의 데이터를 디바이스에 쓸 수 있는 경우 4의 배수인 바이트 수를 작성해야 합니다. 이 값은 호출자가 메서드를 다른 호출하여 나머지 데이터를 작성해야 했음을 나타냅니다.
- 영. 이 값은 디바이스가 너무 바빠서 현재 호출 중에 호출자의 데이터를 작성할 수 없지만 나중에 호출자가 다시 시도해야 했음을 나타냅니다. 미니포트 드라이버는 사용 중인 디바이스를 디바이스 오류와 구분해야 합니다. 이 메서드는 항상 성공을 반환하지만 0바이트를 쓰는 무한 연속 호출을 생성하지 않아야 합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | portcls.h(Portcls.h 포함) |
IRQL | DISPATCH_LEVEL |