Minifilter를 사용할때 유저모드 어플리케이션에서 FilterSendMessage로 필터로 메세지를 보내고 받을때
HRESULT
WINAPI
FilterSendMessage(
IN HANDLE hPort,
IN LPVOID lpInBuffer OPTIONAL,
IN DWORD dwInBufferSize,
IN OUT LPVOID lpOutBuffer OPTIONAL,
IN DWORD dwOutBufferSize,
OUT LPDWORD lpBytesReturned
);
lpInBuffer과 dwInBufferSize를 NULL, 0 으로 잡고 필터에 메세지를 보냈더니 리턴되는 HRESULT 값에 E_INVALIDARG 값으로 에러가 리턴되어 왔다. 분명히 WDK문서를 봐도 NULL이 될수 있다고 하는데 이상하다.
그래서 아무문자나 InBuffer에 입력하고 그 문자열 길이를 dwInBufferSize에 넣어주니 잘 동작한다.
검색해보니 나랑 비슷한 사례가 있다.
https://www.osronline.com/ShowThread.cfm?link=128683
HRESULT
WINAPI
FilterSendMessage(
IN HANDLE hPort,
IN LPVOID lpInBuffer OPTIONAL,
IN DWORD dwInBufferSize,
IN OUT LPVOID lpOutBuffer OPTIONAL,
IN DWORD dwOutBufferSize,
OUT LPDWORD lpBytesReturned
);
lpInBuffer과 dwInBufferSize를 NULL, 0 으로 잡고 필터에 메세지를 보냈더니 리턴되는 HRESULT 값에 E_INVALIDARG 값으로 에러가 리턴되어 왔다. 분명히 WDK문서를 봐도 NULL이 될수 있다고 하는데 이상하다.
그래서 아무문자나 InBuffer에 입력하고 그 문자열 길이를 dwInBufferSize에 넣어주니 잘 동작한다.
검색해보니 나랑 비슷한 사례가 있다.
https://www.osronline.com/ShowThread.cfm?link=128683