cant use my delegate in BP

Delegate from OnlinePartyInterface.h


DECLARE_DELEGATE_ThreeParams(FOnCreatePartyComplete, const FUniqueNetId& /*LocalUserId*/, const TSharedPtr<const FOnlinePartyId>& /*PartyId*/, const ECreatePartyCompletionResult /*Result*/);


Custom delegates can be listed as DECLARE_DYNAMIC_MULTICAST_DELEGATE_XParam

but in this case I not sure what about diff within DECLARE_DELEGATE_XParams and DECLARE_DYNAMIC_MULTICAST_DELEGATE_XParam

I think that I’ve next problem with params wich not registered in ue, such as base types: FString, bool, int32 for example.
And when I tried add the new structure I’ve got error in USTRUCT section


USTRUCT(BlueprintType)
struct FStructCreatePartyComplete
{
    GENERATED_BODY()

    UPROPERTY(BlueprintReadWrite)
        const FUniqueNetId& UniqueId;

    UPROPERTY(BlueprintReadWrite)
        const TSharedPtr<const FOnlinePartyId>& PartyID;

    UPROPERTY(BlueprintReadWrite)
        const ECreatePartyCompletionResult CompleteResult;
};

P.S. I wanna to use new structure as single param for my custom delegate…