void rpc_free(rdpRpc* rpc) { if (rpc != NULL) { RPC_PDU* PduEntry; ntlm_http_free(rpc->NtlmHttpIn); ntlm_http_free(rpc->NtlmHttpOut); _aligned_free(rpc->pdu); while ((PduEntry = (RPC_PDU*) InterlockedPopEntrySList(rpc->SendQueue)) != NULL) _aligned_free(PduEntry); _aligned_free(rpc->SendQueue); while ((PduEntry = (RPC_PDU*) InterlockedPopEntrySList(rpc->ReceiveQueue)) != NULL) _aligned_free(PduEntry); _aligned_free(rpc->ReceiveQueue); rpc_client_virtual_connection_free(rpc->VirtualConnection); rpc_virtual_connection_cookie_table_free(rpc->VirtualConnectionCookieTable); free(rpc); } }
void rpc_free(rdpRpc* rpc) { if (rpc != NULL) { ntlm_http_free(rpc->ntlm_http_in); ntlm_http_free(rpc->ntlm_http_out); rpc_client_virtual_connection_free(rpc->VirtualConnection); xfree(rpc); } }
void rpc_free(rdpRpc* rpc) { if (rpc != NULL) { rpc_client_stop(rpc); if (rpc->State >= RPC_CLIENT_STATE_CONTEXT_NEGOTIATED) { ntlm_client_uninit(rpc->ntlm); ntlm_free(rpc->ntlm); } rpc_client_virtual_connection_free(rpc->VirtualConnection); ArrayList_Clear(rpc->VirtualConnectionCookieTable); ArrayList_Free(rpc->VirtualConnectionCookieTable); free(rpc); } }