If I understand your problem, you need the UPROPERTY macro with BlueprintReadWrite specified. Your member var should also be declared as protected to be accessed from BP.
UE4 doesn’t use the STL library. If you change your method to the following, it would work:
UFUNCTION(BlueprintCallable, Category = "Test BP Library")
void printInfo(const FString& Message); // If the Compiler complains about passing a const reference, then just drop it to pass by value.
F just is the identifier for a struct. Normal value types (int, float, etc) are fine although Blueprints don’t accept certain types (unsigned anything, long, long long, double, etc).