Only return ERROR_MORE_DATA if there's a buffer to copy a result