ICertAdmin2::GetCAPropertyFlags メソッド (certadm.h)

GetCAPropertyFlags メソッドは、証明機関 (CA) プロパティのプロパティ フラグを取得します。 このメソッドは、最初に ICertAdmin インターフェイスで定義されました。

プロパティ フラグを調べて、データ型を決定し、プロパティがインデックス付けされているかどうかを判断できます。

構文

HRESULT GetCAPropertyFlags(
  [in]  const BSTR strConfig,
  [in]  LONG       PropId,
  [out] LONG       *pPropFlags
);

パラメーター

[in] strConfig

COMPUTERNAME\CANAME 形式の CA の有効な構成文字列を表します。COMPUTERNAME は証明書サービス サーバーのネットワーク名、CANAME は証明書サービスのセットアップ時に入力された CA の共通名です。 構成文字列名の詳細については、「 ICertConfig」を参照してください。

重要GetCAPropertyFlags は、構成文字列が変更されたときに内部キャッシュをクリアしません。 CA の構成文字列を変更する場合は、新しい ICertAdmin オブジェクトをインスタンス化し、新しい構成文字列を使用してこのメソッドを再度呼び出す必要があります。
 

[in] PropId

プロパティ識別子を指定します。 このパラメーターの詳細については、「 ICertAdmin2::GetCAProperty」の表を参照してください。

[out] pPropFlags

プロパティ フラグを表す値へのポインター。

戻り値

C++

戻り値は HRESULT です。 S_OK の値は、メソッドが成功したことを示します。

VB

プロパティ フラグを表す 長整数型 (Long) の値です。

注釈

このメソッドを呼び出して取得した LONG 値を調べて、データ型とインデックス付き状態を確認できます。 データ型とインデックス付き状態を確認するには、それぞれPROPTYPE_MASK値とPROPFLAGS_INDEXED値を使用します。

次の例では、 ICertAdmin2 インターフェイス ポインターが有効であることを前提としています。

BSTR bstrCA = NULL;
LONG nFlags;  // Variable to contain the property flags.

bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
    printf("Failed to allocate memory for bstrCA\n");
    exit(1);
}

// Retrieve a property's flags.
hr = pCertAdmin2->GetCAPropertyFlags(bstrCA,
                                     CR_PROP_EXITCOUNT,
                                     &nFlags);
if (FAILED(hr))
{
    printf("Failed GetCAPropertyFlags\n");
    SysFreeString(bstrCA);
    exit(1);  // Or other error action.
}
// Display the property data type.
switch (nFlags & PROPTYPE_MASK)
{
    case PROPTYPE_BINARY:
        printf("Type is BINARY\n");
        break;
    case PROPTYPE_DATE:
        printf("Type is DATE\n");
        break;
    case PROPTYPE_LONG:
        printf("Type is LONG\n");
        break;
    case PROPTYPE_STRING:
        printf("Type is STRING\n");
        break;
    default:
        printf("Unexpected data type.\n");
        break;
}
// Display the property's indexed status.
printf("Property %s indexed\n", 
       nFlags & PROPFLAGS_INDEXED ? "is" : "is not");

SysFreeString(bstrCA);

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー certadm.h (Certsrv.h を含む)
Library Certidl.lib
[DLL] Certadm.dll