다음을 통해 공유


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 반환합니다. 그렇지 않으면 메서드가 적절한 오류 코드를 반환합니다. 다음 표에서는 가능한 반환 상태 코드 중 일부를 보여 줍니다.

반환 코드 묘사
STATUS_IO_DEVICE_ERROR
디바이스 오류로 인해 호출이 실패했습니다.
STATUS_INVALID_DEVICE_REQUEST
디바이스 요청이 잘못되었습니다(예: MIDI 입력 스트림에서 Write 호출).

발언

메서드가 성공하면 BytesWritten 매개 변수를 통해 다음 값 중 하나를 호출자에게 출력합니다.

  • BytesToWrite동일한 값입니다. 이 값은 메서드가 모든 BytesToWrite 바이트를 디바이스에 쓰는 데 성공했음을 나타냅니다.
  • BytesToWrite 미만인 4개 중 배수입니다. 메서드가 일부 호출자의 데이터를 디바이스에 쓸 수 있는 경우 4의 배수인 바이트 수를 작성해야 합니다. 이 값은 호출자가 메서드를 다른 호출하여 나머지 데이터를 작성해야 했음을 나타냅니다.
  • 영. 이 값은 디바이스가 너무 바빠서 현재 호출 중에 호출자의 데이터를 작성할 수 없지만 나중에 호출자가 다시 시도해야 했음을 나타냅니다. 미니포트 드라이버는 사용 중인 디바이스를 디바이스 오류와 구분해야 합니다. 이 메서드는 항상 성공을 반환하지만 0바이트를 쓰는 무한 연속 호출을 생성하지 않아야 합니다.

요구 사항

요구
대상 플랫폼 보편적
헤더 portcls.h(Portcls.h 포함)
IRQL DISPATCH_LEVEL

참고 항목

IMiniportMidiStream

IMiniportMidiStream::Read