Функция обратного вызова BFFCALLBACK (shlobj_core.h)
Функция BFFCallBack — это определяемая приложением функция обратного вызова, которая получает уведомления о событиях из диалогового окна браузера контейнеров доменные службы Active Directory. Указатель на эту функцию предоставляется в диалоговом окне браузера контейнеров в элементе pfnCallback структуры DSBROWSEINFO при вызове функции DsBrowseForContainer . BFFCallBack — это заполнитель для имени определяемой приложением функции.
Синтаксис
BFFCALLBACK Bffcallback;
int Bffcallback(
[in] HWND hwnd,
[in] UINT uMsg,
[in] LPARAM lParam,
[in] LPARAM lpData
)
{...}
Параметры
[in] hwnd
Содержит дескриптор окна диалогового окна обзора. Этот дескриптор используется для отправки сообщений в диалоговое окно обзора с помощью функции SendMessage .
В диалоговом окне обозревателя контейнеров обрабатываются следующие сообщения.
BFFM_ENABLEOK
Это сообщение включает или отключает кнопку ОК в диалоговом окне.
WParam этого сообщения содержит логическое значение, которое при нуле отключает кнопку ОК. Если wParam не равно нулю, кнопка ОК будет включена. По умолчанию кнопка ОК включена.
Возвращаемое значение для этого сообщения не используется.
BFFM_SETSELECTION
Это сообщение выбирает элемент в диалоговом окне.
LParam этого сообщения является указателем на строку TCHAR, содержащую ADsPath выбранного элемента. Несмотря на то, что у этого сообщения есть версии ANSI и Юникод, обе версии принимают указатель на строку Юникода.
Возвращаемое значение для этого сообщения не используется.
[in] uMsg
Указывает одно из следующих сообщений обзора.
BFFM_INITIALIZED
Это уведомление отправляется после инициализации диалогового окна.
lParam не используется.
Значение, возвращаемое этим уведомлением, игнорируется.
BFFM_SELCHANGED
Это уведомление отправляется после изменения выбора в диалоговом окне.
lParam — это указатель на строку Юникода, содержащую ADsPath только что выбранного элемента.
Значение, возвращаемое этим уведомлением, игнорируется.
DSBM_CHANGEIMAGESTATE
Зарезервировано.
DSBM_CONTEXTMENU
Это уведомление отправляется, когда диалоговое окно получает сообщение WM_CONTEXTMENU .
lParam — это значение wParam, переданное вместе с сообщением WM_CONTEXTMENU .
Значение, возвращаемое этим уведомлением, игнорируется.
DSBM_HELP
Это уведомление отправляется, когда диалоговое окно получает WM_HELP сообщение.
lParam — это значение lParam, переданное вместе с сообщением WM_HELP .
Значение, возвращаемое этим уведомлением, игнорируется.
DSBM_QUERYINSERT
Это уведомление отправляется перед каждым объектом контейнера, который вставляется в дерево. Приложение может использовать это уведомление для изменения содержимого диалогового окна.
lParam — это указатель на структуру DSBITEM , содержащую данные о вставленном элементе. Некоторые элементы этой структуры, например szDisplayName, можно изменить во время этого уведомления, чтобы изменить способ отображения элементов.
Возвращает ненулевое значение из этого уведомления при изменении данных в структуре DSBITEM . Возвращает ноль, если время должно быть вставлено без изменений.
[in] lParam
Значение и значение этого параметра определяется полученным уведомлением. Дополнительные сведения см. в описании сообщений уведомлений в параметре uMsg .
[in] lpData
Содержит указатель на структуру DSBROWSEINFO , переданную функции DsBrowseForContainer . Это верно для всех уведомлений.
Возвращаемое значение
None
Remarks
Значения сообщений DSBM_* определены в dsclient.h.
Требования
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | shlobj_core.h |