Примеры я собирал по исходным кодам. Так что установка свойств может быть разная по реализации для одного типа. Мне кажется, что это даже неплохо.
DBPROP_AUTH_CACHE_AUTHINFO
VT_BOOL R/W Безопасность паролей.
VARIANT_TRUE позволяет использовать внутрений кеш для паролей, а VARIANT_FALSE запрещает.
rgProps[5].dwPropertyID = DBPROP_AUTH_CACHE_AUTHINFO; V_VT(&(rgProps[5].vValue)) = VT_BOOL; V_BOOL(&(rgProps[5].vValue)) = VARIANT_TRUE;
DBPROP_AUTH_ENCRYPT_PASSWORD
VT_BOOL R/W Шифрование пароля
VARIANT_TRUE потребитель требует, чтобы пароль был послан источнику данных или перечислителю в зашифрованной форме. Это свойство определяет более сильную форму маскировки, чем DBPROP_AUTH_MASKPASSWORD. VARIANT_FALSE пароль может быть представлен в незашифрованной форме.
rgProps[4].dwPropertyID = DBPROP_AUTH_ENCRYPT_PASSWORD; V_VT(&(rgProps[4].vValue)) = VT_BOOL; V_BOOL(&(rgProps[4].vValue)) = VARIANT_TRUE;
DBPROP_AUTH_INTEGRATED
VT_BSTR R/W Объединенная безопастность.
Строка содержащая имя службы, используемой сервером, чтобы идентифицировать пользователя. Например, для Windows NT/2000 это - "SSPI".
aInitProps[3].dwPropertyID = DBPROP_AUTH_INTEGRATED; if (bUseWinNTAuth == TRUE) { aInitProps[3].vValue.vt = VT_BSTR; aInitProps[3].vValue.bstrVal = SysAllocString(L"SSPI"); }
DBPROP_AUTH_MASK_PASSWORD
VT_BOOL R/W Маскировка пароля
VARIANT_TRUE потребитель требует, чтобы пароль был послан источнику данных или перечислителю в замаскированной форме. VARIANT_FALSE пароль может быть представлен в обычной форме.
rgProps[4].dwPropertyID = DBPROP_AUTH_MASK_PASSWORD; V_VT(&(rgProps[4].vValue)) = VT_BOOL; V_BOOL(&(rgProps[4].vValue)) = VARIANT_TRUE;
DBPROP_AUTH_PASSWORD
VT_BSTR R/W Пароль.
Указывает пароль, который нужно использовать при соединении с источником данных или перечислителем.
InitProperties[3].dwPropertyID = DBPROP_AUTH_PASSWORD; InitProperties[3].vValue.vt = VT_BSTR; InitProperties[3].vValue.bstrVal = SysAllocString(OLESTR(""));
DBPROP_AUTH_USERID
VT_BSTR R/W Идентификатор пользователя.
Указывает пользователя ID, чтобы использоваться при соединении с источником данных или перечислителем.
InitProperties[2].dwPropertyID = DBPROP_AUTH_USERID; InitProperties[2].vValue.vt = VT_BSTR; InitProperties[2].vValue.bstrVal = SysAllocString(OLESTR(""));
DBPROP_INIT_CATALOG
VT_BSTR R/W Определение каталога.
Указывает имя начального каталога, чтобы использовать при соединении с источником данных.
rgp[2].dwPropertyID = DBPROP_INIT_CATALOG; rgp[2].vValue.vt = VT_BSTR; rgp[2].vValue.bstrVal = SysAllocString(L"pubs");
DBPROP_INIT_DATASOURCE
VT_BSTR R/W Источник данных.
Указывает имя базы данных или перечислителя для соединения.
InitProperties[1].dwPropertyID = DBPROP_INIT_DATASOURCE; InitProperties[1].vValue.vt = VT_BSTR; InitProperties[1].vValue.bstrVal = SysAllocString(OLESTR("OLE_DB_NWind_Jet"));
DBPROP_INIT_LOCATION
VT_BSTR R/W Расположение
Указывает местоположение источника данных или перечислителя для соединения. Обычно это будет имя сервера.
rgProps[0].dwPropertyID = DBPROP_INIT_LOCATION; V_VT(&(rgProps[0].vValue)) = VT_BSTR; V_BSTR(&(rgProps[0].vValue)) = SysAllocStringLen(OLESTR("server"), wcslen(OLESTR("server")));
DBPROP_INIT_PROMPT
VT_I2 R/W Доступность информации
Информация, полученная от пользователя в течение инициализации - доступна для следующей инициализации, путем вызова GetProperties() для соответствующих свойств.
InitProperties[0].dwPropertyID = DBPROP_INIT_PROMPT; InitProperties[0].vValue.vt = VT_I2; InitProperties[0].vValue.iVal = DBPROMPT_NOPROMPT;