some issue in block app in wfp driver

Hi
I am developing a wfp driver and my issue that happened when i want only one specific app to be connected to a specific IP and port, but as a result all apps can be connected to that port and IP.
which part is wrong?
in FWPM_LAYER_ALE_AUTH_CONNECT_V4 layer i add sublayer

    bFilterCondition[0].fieldKey				= FWPM_CONDITION_ALE_APP_ID;
bFilterCondition[0].matchType				= FWP_MATCH_NOT_EQUAL;
bFilterCondition[0].conditionValue.type		= FWP_BYTE_BLOB_TYPE;
bFilterCondition[0].conditionValue.byteBlob = blob;

bFilterCondition[1].fieldKey					= FWPM_CONDITION_IP_REMOTE_ADDRESS;
bFilterCondition[1].matchType					= FWP_MATCH_NOT_EQUAL;
bFilterCondition[1].conditionValue.type			= FWP_V4_ADDR_MASK;
bFilterCondition[1].conditionValue.v4AddrMask	= &v4Address;

bFilterCondition[2].fieldKey					= FWPM_CONDITION_IP_REMOTE_PORT;
bFilterCondition[2].matchType					= FWP_MATCH_NOT_EQUAL;
bFilterCondition[2].conditionValue.type			= FWP_UINT16;
bFilterCondition[2].conditionValue.uint16		= serverPort;