nine: add some whacky formats
nine: QueryInterface must set pointer to NULL on failure