다음을 통해 공유


FilterSendMessage 함수(fltuser.h)

FilterSendMessage 함수는 커널 모드 미니필터에 메시지를 보냅니다.

구문

HRESULT FilterSendMessage(
  [in]           HANDLE  hPort,
  [in, optional] LPVOID  lpInBuffer,
  [in]           DWORD   dwInBufferSize,
  [out]          LPVOID  lpOutBuffer,
  [in]           DWORD   dwOutBufferSize,
  [out]          LPDWORD lpBytesReturned
);

매개 변수

[in] hPort

FilterConnectCommunicationPort에 대한 이전 호출에서 반환된 통신 포트 핸들입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in, optional] lpInBuffer

미니필터로 보낼 메시지를 포함하는 호출자가 할당한 버퍼에 대한 포인터입니다. 메시지 형식은 호출자 정의입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in] dwInBufferSize

lpInBuffer가 가리키는 버퍼의 크기(바이트)입니다.

[out] lpOutBuffer

미니필터에서 회신(있는 경우)을 수신하는 호출자가 할당한 버퍼에 대한 포인터입니다.

[in] dwOutBufferSize

lpOutBuffer가 가리키는 버퍼의 크기(바이트)입니다. lpOutBufferNULL인 경우 이 값은 무시됩니다.

[out] lpBytesReturned

FilterSendMessage 호출이 성공하면 lpOutBuffer가 가리키는 버퍼에 반환된 바이트 수를 수신하는 호출자 할당 변수에 대한 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

반환 값

FilterSendMessage는 성공하면 S_OK 반환합니다. 그렇지 않으면 오류 값이 반환됩니다.

설명

FilterSendMessage 함수는 미니필터에 메시지를 보냅니다. 메시지는 메시지를 처리하는 미니필터의 메시지 알림 콜백 루틴으로 전달됩니다. (미니필터는 MessageNotifyCallback 매개 변수를 FltCreateCommunicationPort에 전달하여 메시지 콜백 알림 루틴을 등록합니다.)

FilterSendMessage 는 동기적입니다. 호출자는 메시지가 배달되고 미니필터의 회신(있는 경우)이 수신될 때까지 대기 상태로 전환됩니다.

호출자가 회신을 예상하는 경우 lpOutBuffer 매개 변수에 대해 NULL이 아닌 버퍼를 전달하고 dwOutBufferSize 매개 변수에 대해 양수 값을 전달해야 합니다.

미니필터에서 메시지를 받으려면 FilterGetMessage를 호출합니다.

미니필터의 메시지에 회신하려면 FilterReplyMessage를 호출합니다.

미니 필터는 FltSendMessage를 호출하여 사용자 모드 애플리케이션에 메시지를 보냅니다.

요구 사항

   
대상 플랫폼 유니버설
헤더 fltuser.h(Fltuser.h 포함)
라이브러리 FltLib.lib
DLL FltLib.dll

추가 정보

FilterConnectCommunicationPort

FilterGetMessage

FilterReplyMessage

FltCreateCommunicationPort

FltSendMessage