Прежде чем мы сможем обратиться с командой SQL, к объекту нам нужно создать сессию и получить указатель на интерфейс команд. Вот это мы и будет делать. Надо объявить интерфейс команд и интерфейс сессии.
// Группа переменных для сесии
IDBCreateSession* pIDBCreateSession;
IDBCreateCommand* pIDBCreateCommand;
Теперь мы должны запросить интерфейс для создания сессии.
// Получаем интерфейс для создания сессии
//
hr=pIDBInitialize->QueryInterface(IID_IDBCreateSession, (void**) &pIDBCreateSession);
Проверить его на ошибки.
if (FAILED(hr))
{
cout << "Error Quiery Session" << endl;
pIDBInitialize->Uninitialize(); pIDBInitialize->Release();
CoUninitialize();
return;
}
Запросит интерфейс команд
// Создаем сессию с интерфейсом команд.
hr = pIDBCreateSession->CreateSession(NULL, IID_IDBCreateCommand,(IUnknown**) &pIDBCreateCommand);
Проверить его на наличие ошибок.
if (FAILED(hr))
{
cout << "Error Create session" << endl;
pIDBCreateSession->Release();
pIDBInitialize->Uninitialize();
pIDBInitialize->Release();
CoUninitialize();
return;
}
Мы получили указатель на интерфейс команд и теперь нам указатель на интерфейс сессии и не нужен. Закроем его.
pIDBCreateSession->Release();