SDL_ComposeCustomBlendMode error in Windows

The following code works on Linux, does not work on Windows 10:

void InvertTexture(SDL_Texture **T,SDL_Texture *S){
int w,h;
SDL_SetTextureBlendMode(S,SDL_ComposeCustomBlendMode(
SDL_BLENDFACTOR_ONE,
SDL_BLENDFACTOR_ONE,
SDL_BLENDOPERATION_REV_SUBTRACT,
SDL_BLENDFACTOR_ONE,
SDL_BLENDFACTOR_ONE,
SDL_BLENDOPERATION_REV_SUBTRACT));
if(*T) SDL_DestroyTexture(*T);
SDL_QueryTexture(S,NULL,NULL,&w,&h);
*T=SDL_CreateTexture(SDLRenderer,SDL_PIXELFORMAT_RGBA32,SDL_TEXTUREACCESS_TARGET,w,h);
SDL_SetRenderTarget(SDLRenderer,*T);
SDL_SetRenderDrawColor(SDLRenderer,255,255,255,255);
SDL_RenderClear(SDLRenderer);
SDL_RenderCopy(SDLRenderer,S,NULL,NULL);
}

T is a new texture, S is a black and white texture (black transparent) that is copied to T in inverted colors.
Besides, I don’t know if the action is consistent with the documentation, in my opinion it should be SDL_BLENDOPERATION_SUBTRACT.