Приложения
Приложение А. Функции, константы и структуры RDS
А.4. Структуры RDS
А.4.9. RDS_FINDBYEXTIDDATA – результаты поиска по идентификатору
Структура RDS_FINDBYEXTIDDATA используется в параметрах функции rdsBlockOrConnByExtId, которая ищет в схеме блок или связь по его или ее уникальному целому идентификатору. Такой идентификатор можно получить через поле ExtId структур описания блока RDS_BLOCKDESCRIPTION и связи RDS_CONNDESCRIPTION.
typedef struct { DWORD servSize; // Размер этой структуры BOOL Found; // Что-то найдено RDS_BHANDLE Block; // Найденный блок RDS_CHANDLE Conn; // Найденная связь или шина RDSINT32 Type; // Тип найденного объекта } RDS_FINDBYEXTIDDATA; typedef RDS_FINDBYEXTIDDATA *RDS_PFINDBYEXTIDDATA;
Поля структуры
- servSize (DWORD)
- Размер этой структуры в байтах. Перед вызовом сервисной функции rdsBlockOrConnByExtId полю servSize необходимо присвоить значение sizeof(RDS_FINDBYEXTIDDATA).
- Found (BOOL)
- Найдены блок, связь или шина с указанным в параметре функции целым идентификатором.
- Block (RDS_BHANDLE)
- Внутренний идентификатор блока, которому принадлежит переданный в параметрах функции целый идентификатор. Практически все сервисные функции RDS работают именно с идентификаторами типа RDS_BHANDLE.
- Conn (RDS_CHANDLE)
- Внутренний идентификатор связи или шины, которой принадлежит переданный в параметрах функции целый идентификатор. Практически все сервисные функции RDS работают именно с идентификаторами типа RDS_CHANDLE.
- Type (RDSINT32)
- Тип найденного объекта (одна из стандартных констант типа):
RDS_TUNKNOWN объект не найден RDS_BTSYSTEM подсистема RDS_BTSIMPLEBLOCK простой блок RDS_BTINPUTBLOCK внешний вход RDS_BTOUTPUTBLOCK внешний выход RDS_BTBUSPORT ввод шины RDS_CTCONNECTION связь RDS_CTBUS шина
В результате вызова функции rdsBlockOrConnByExtId в этой структуре будет заполнено либо поле Block, если переданный целый идентификатор принадлежит блоку (в поле Conn при этом будет записано значение NULL), либо поле Conn, если идентификатор принадлежит связи или шине (при этом NULL будет записано в Block). В поле Found будет записано TRUE, если переданный идентификатор принадлежит какому-либо объекту, то есть если либо Conn, либо Block не равны NULL.
См. также
rdsBlockOrConnByExtId, RDS_BLOCKDESCRIPTION, RDS_CONNDESCRIPTION.