Freigeben über


FilterSendMessage-Funktion (fltuser.h)

Die FilterSendMessage-Funktion sendet eine Nachricht an einen Minifilter im Kernelmodus.

Syntax

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

Parameter

[in] hPort

Kommunikationsporthandle, das von einem vorherigen Aufruf von FilterConnectCommunicationPort zurückgegeben wurde. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[in, optional] lpInBuffer

Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die Nachricht enthält, die an den Minifilter gesendet werden soll. Das Nachrichtenformat ist vom Aufrufer definiert. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[in] dwInBufferSize

Größe des Puffers, auf den lpInBuffer verweist, in Bytes.

[out] lpOutBuffer

Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die Antwort (falls vorhanden) vom Minifilter empfängt.

[in] dwOutBufferSize

Größe des Puffers in Bytes, auf den lpOutBuffer verweist. Dieser Wert wird ignoriert, wenn lpOutBufferNULL ist.

[out] lpBytesReturned

Zeiger auf eine vom Aufrufer zugeordnete Variable, die die Anzahl der im Puffer zurückgegebenen Bytes empfängt, auf die lpOutBuffer zeigt, wenn der Aufruf von FilterSendMessage erfolgreich ist. Dieser Parameter ist erforderlich und darf nicht NULL sein.

Rückgabewert

FilterSendMessage gibt bei erfolgreicher Ausführung S_OK zurück. Andernfalls wird ein Fehlerwert zurückgegeben.

Hinweise

Die FilterSendMessage-Funktion sendet eine Nachricht an einen Minifilter. Die Nachricht wird an die Nachrichtenbenachrichtigungsrückrufroutine des Minifilters übergeben, die die Nachricht verarbeitet. (Der Minifilter registriert seine Nachrichtenrückruf-Benachrichtigungsroutine, indem er sie als MessageNotifyCallback-Parameter an FltCreateCommunicationPort übergibt.)

FilterSendMessage ist synchron. Der Aufrufer wird in einen Wartezustand versetzt, bis die Nachricht zugestellt und die Antwort des Minifilters (falls vorhanden) empfangen wird.

Wenn der Aufrufer eine Antwort erwartet, muss er einen Puffer ungleich NULL für den parameter lpOutBuffer und einen positiven Wert für den dwOutBufferSize-Parameter übergeben.

Um eine Nachricht von einem Minifilter abzurufen, rufen Sie FilterGetMessage auf.

Um auf eine Nachricht von einem Minifilter zu antworten, rufen Sie FilterReplyMessage auf.

Ein Minifilter sendet eine Nachricht an eine Anwendung im Benutzermodus, indem FltSendMessage aufgerufen wird.

Anforderungen

   
Zielplattform Universell
Header fltuser.h (fltuser.h einschließen)
Bibliothek FltLib.lib
DLL FltLib.dll

Weitere Informationen

FilterConnectCommunicationPort

FilterGetMessage

FilterReplyMessage

FltCreateCommunicationPort

FltSendMessage