다음을 통해 공유


KsWriteFile 함수(ks.h)

KsWriteFile 함수는 지정된 파일 개체에 대해 쓰기를 수행합니다. 호출자가 FO_SYNCHRONOUS_IO 파일 개체에 대한 작업을 위해 파일에 대한 액세스를 직렬화한다고 가정합니다. 함수는 가능하면 FastIoDispatch 를 사용하려고 시도하거나 디바이스 개체에 대한 쓰기 요청을 생성합니다. 모든 관련 통계가 업데이트됩니다.

구문

KSDDKAPI NTSTATUS KsWriteFile(
  [in]           PFILE_OBJECT     FileObject,
  [in, optional] PKEVENT          Event,
  [in, optional] PVOID            PortContext,
  [out]          PIO_STATUS_BLOCK IoStatusBlock,
  [in]           PVOID            Buffer,
  [in]           ULONG            Length,
  [in, optional] ULONG            Key,
  [in]           KPROCESSOR_MODE  RequestorMode
);

매개 변수

[in] FileObject

읽기를 수행할 파일 개체를 지정합니다.

[in, optional] Event

필요에 따라 쓰기에 사용할 이벤트를 포함합니다. 이벤트가 전달되지 않으면 호출이 동기 파일 개체에 있는 것으로 간주되거나 호출자가 파일 개체의 이벤트를 기다리고 있습니다. 호출이 동기 파일 개체에 없는 경우 비동기적으로 완료될 수 있습니다. 파일이 동기 I/O용으로 열려 있는 경우 이 변수는 NULL이어야 합니다. 이 변수를 사용하는 경우 개체 관리자가 할당한 이벤트여야 합니다.

[in, optional] PortContext

필요에 따라 완료 포트에 대한 컨텍스트 정보를 포함합니다.

[out] IoStatusBlock

상태 정보를 반환할 위치를 나타냅니다. 요청자 모드에 관계없이 항상 유효한 주소로 간주됩니다.

[in] Buffer

데이터를 쓸 버퍼를 지정합니다. 버퍼를 검색하고 잠가야 하는 경우 RequesterMode와 함께 예외 처리기가 사용됩니다.

[in] Length

전달된 버퍼의 크기를 지정합니다.

[in, optional] Key

필요에 따라 키를 포함하거나, 키가 없으면 0을 포함합니다.

[in] RequestorMode

생성해야 하는 경우 읽기 IRP에 배치할 프로세서 모드를 나타냅니다. 또한 버퍼를 검색하고 잠가야 하는 경우 사용됩니다. 이 변수는 빠른 I/O 호출을 수행할 수 있는지 여부도 결정합니다. 요청자 모드가 KernelMode가 아니지만 이전 모드인 경우 빠른 I/O를 사용할 수 없습니다.

반환 값

KsWriteFile 함수는 성공하면 STATUS_SUCCESS 반환하고, 작업이 보류 중이면 STATUS_PENDING 반환하거나, 실패한 경우 읽기 오류를 반환합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib