FltSendMessage error

I am using FltSendMessage function as described below. It sends message to user space application and gets back reply successfully still, its return status is not STATUS_SUCCESS.

timeout.QuadPart = -(LONGLONG) 10000000;

if(ScannerData.ClientPort3 == NULL)
return;

status = FltSendMessage( ScannerData.Filter, &ScannerData.ClientPort3, &pid, sizeof(int), pname, &size_pname, &timeout );
switch ( status )
{
case STATUS_SUCCESS :
break;
case STATUS_INSUFFICIENT_RESOURCES :
case STATUS_PORT_DISCONNECTED :
case STATUS_TIMEOUT :
PT_DBG_PRINT( PTDBG_TRACE_ROUTINES,“FltSendMessage failed %d\n”, status) );
break;
default:
PT_DBG_PRINT( PTDBG_TRACE_ROUTINES, (“FltSendMessage failed.Unknown Error %d\n”,status) );
}

I get error message like :
FltSendMessage failed.Unknown Error -44624185

Can someone put ligt on why it gives this error message despite of getting reply successfully.

What value are you putting in for the Status field of the FILTER_REPLY_HEADER? I think, despite what the documentation says, when there is a reply to the message FltSendMessage returns the status from the reply header.

Status value is set to 0.