Image、Audio 及 Video Extenders 管理與程式設計

擷取 QBIC 型錄的相關資訊

您可以擷取下列有關 QBIC 型錄的資訊:

您可使用 QbGetCatalogInfo API 來擷取使用者表格和直欄名稱、特性數目、以及自動編目設定。 使用 QbListFeatures API 來擷取特性名稱。

或使用 GET QBIC CATALOG INFO 指令來擷取所有資訊。

在擷取資訊之前,您必須開啟 QBIC 型錄。

使用 API:當使用 QbGetCatalogInfo API 時, 您必須指定 QBIC 型錄的 handle。您也需要指示 Image Extender 傳回型錄資訊的結構。 型錄資訊結構定義在 QBIC 併入 (標頭) 檔 dmbqapi.h 中,如下所示:

typedef struct{
          char       tableName[qbiMaxTableName+1]    /* user table */
          char       columnName[qbiMaxColumnName+1]  /* image column */
          SQLINTEGER featureCount;                   /* number of features */
          SQLINTEGER autoCatalog;                    /* auto catalog flag */
} QbCatalogInfo;

發出 QbListFeatures API 呼叫時,您需要配置緩衝區來保留傳回的特性名稱。緩衝區中儲存的 特性名稱是以一個空白字元來分隔。 您也需要為傳回的特性名稱指定緩衝區大小和型錄 handle。若須估計所需的緩衝區大小,可以 使用 QbGetCatalogInfo API 傳回的特性計數,乘以最長特性名稱的計數。您可使用常數qbiMaxFeatureName 作為最長特性名稱大小。

下列範例中的 API 呼叫,擷取有關 QBIC 型錄的資訊。 請注意 QbGetCatalogInfo API 如何傳回特性計數,以及 qbiMaxFeature 名稱常數如何被用來 計算 QbListFeatures API 的緩衝區大小:

long  bufSize;
long  count;
char  *featureNames;
QbCatalogHandle   CatHdl;
QbCatalogInfo    catInfo;
/* Get user table name, image column name, feature count, */
/* and auto catalog setting */
rc=QbGetCatalogInfo(
                CatHdl,                              /* catalog handle */
                &catInfo);                           /* catalog info. structure */
/* List feature names */
bufSize=catInfo.featureCount*qbiMaxFeatureName;
featureNames=malloc(bufSize);
rc=QbListFeatures(
                CatHdl,                              /* catalog handle */
                bufSize                             /* size of buffer */
                count,                               /* feature count */
                featureNames);                       /* buffer for feature names */

使用指令行:GET QBIC CATALOG INFO 指令可改變目前開啟的型錄。 在下列範例中,此指令用來擷取目前開啟的 QBIC 型錄相關資訊:

GET QBIC CATALOG INFO


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]