Verificar a existência de um diretório

Utilize a função abaixo para verificar se um diretório existe.

#define WIN32_LEAN_AND_MEAN
#include <windows.h>
 
#ifndef INVALID_FILE_ATTRIBUTES
#define INVALID_FILE_ATTRIBUTES	((DWORD)-1)
#endif
 
/*
    Retorna TRUE se filename for um diretório
    ou FALSE se filename for NULL ou apontar para um arquivo
*/
 
BOOL IsDir(const char *filename)
{
	DWORD dwAttrs; 
 
	dwAttrs = GetFileAttributes(filename);
	if (dwAttrs == INVALID_FILE_ATTRIBUTES)
		return FALSE;
 
	return (BOOL) (dwAttrs & FILE_ATTRIBUTE_DIRECTORY);
}