CERT_STORE_PROV_INFO 結構 (wincrypt.h)

CERT_STORE_PROV_INFO 結構包含使用 開啟存放區時所安裝 CertDllOpenStoreProv 函式所傳回的資訊
CertOpenStore 函式。

開啟存放區時, CertOpenStore 函式會將 CERT_STORE_PROV_INFO 結構中的所有欄位設定為零,但 cbSize 除外,這會設定為 CERT_STORE_PROV_INFO的大小。 結構會由 CertDllOpenStoreProv 可安裝函式更新。 如果沒有其他要呼叫的回呼函式, cStoreProvFunc 會在傳回時維持零。

語法

typedef struct _CERT_STORE_PROV_INFO {
  DWORD             cbSize;
  DWORD             cStoreProvFunc;
  void              **rgpvStoreProvFunc;
  HCERTSTOREPROV    hStoreProv;
  DWORD             dwStoreProvFlags;
  HCRYPTOIDFUNCADDR hStoreProvFuncAddr2;
} CERT_STORE_PROV_INFO, *PCERT_STORE_PROV_INFO;

成員

cbSize

包含這個 結構的大小,以位元組為單位。

cStoreProvFunc

包含 rgpvStoreProvFunc 陣列中的項目數目。 此計數必須包含在實作最後一個回呼函式之前,索引中使用的任何 NULL 值。 例如,如果只實作一個回呼函式,但它位於索引 2 (CERT_STORE_PROV_WRITE_CERT_FUNC) ,且索引 0 和 1 為 NULL ,則應該針對此參數傳遞數位 3。

rgpvStoreProvFunc

提供者所實作之回呼函式的指標陣列。 此陣列是由下表中所提供的值編製索引,而且它們必須依顯示的順序排列。 也會顯示相關聯的回呼函式。 所有未實作的回呼函式都必須設定為 NULL。 數位不需要包含所有回呼函式索引,它只需要包含實作的最高回呼函式索引。 例如,如果只實作 CERT_STORE_PROV_WRITE_CERT_FUNC (2) 回呼函式,則陣列只需要包含三個元素。

意義
CERT_STORE_PROV_CLOSE_FUNC
0 (0x0)

CertStoreProvCloseCallback

CERT_STORE_PROV_READ_CERT_FUNC
1 (0x1)

CertStoreProvReadCertCallback

CERT_STORE_PROV_WRITE_CERT_FUNC
2 (0x2)

CertStoreProvWriteCertCallback

CERT_STORE_PROV_DELETE_CERT_FUNC
3 (0x3)

CertStoreProvDeleteCertCallback

CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC
4 (0x4)

CertStoreProvSetCertPropertyCallback

CERT_STORE_PROV_READ_CRL_FUNC
5 (0x5)

CertStoreProvReadCRLCallback

CERT_STORE_PROV_WRITE_CRL_FUNC
6 (0x6)

CertStoreProvWriteCRLCallback

CERT_STORE_PROV_DELETE_CRL_FUNC
7 (0x7)

CertStoreProvDeleteCRLCallback

CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC
8 (0x8)

CertStoreProvSetCRLPropertyCallback

CERT_STORE_PROV_READ_CTL_FUNC
9 (0x9)

CertStoreProvReadCTL

CERT_STORE_PROV_WRITE_CTL_FUNC
10 (0xA)

CertStoreProvWriteCTL

CERT_STORE_PROV_DELETE_CTL_FUNC
11 (0xB)

CertStoreProvDeleteCTL

CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC
12 (0xC)

CertStoreProvSetCTLProperty

CERT_STORE_PROV_CONTROL_FUNC
13 (0xD)

CertStoreProvControl

CERT_STORE_PROV_FIND_CERT_FUNC
14 (0xE)

CertStoreProvFindCert

CERT_STORE_PROV_FREE_FIND_CERT_FUNC
15 (0xF)

CertStoreProvFreeFindCert

CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC
16 (0x10)

CertStoreProvGetCertProperty

CERT_STORE_PROV_FIND_CRL_FUNC
17 (0x11)

CertStoreProvFindCRL

CERT_STORE_PROV_FREE_FIND_CRL_FUNC
18 (0x12)

CertStoreProvFreeFindCRL

CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC
19 (0x13)

CertStoreProvGetCRLProperty

CERT_STORE_PROV_FIND_CTL_FUNC
20 (0x14)

CertStoreProvFindCTL

CERT_STORE_PROV_FREE_FIND_CTL_FUNC
21 (0x15)

CertStoreProvFreeFindCTL

CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC
22 (0x16)

CertStoreProvGetCTLProperty

hStoreProv

32 位的應用程式定義值,這是傳遞至所有回呼的第一個參數。 應用程式可以視需要指定此成員的內容。 一般而言,這是應用程式專屬的數據指標,例如開啟每個存放區的提供者狀態資訊。

dwStoreProvFlags

包含一組旗標,指定提供者的運作方式。 包含零或下列一或多個值的組合。

意義
CERT_STORE_PROV_EXTERNAL_FLAG
1 (0x1)
提供者會儲存存放存放區快取外部的 憑證證書吊銷清單憑證信任清單
CERT_STORE_PROV_DELETED_FLAG
2 (0x2)
已成功刪除存放區。 未呼叫 CertStoreProvCloseCallback 回 呼。
CERT_STORE_PROV_NO_PERSIST_FLAG
4 (0x4)
根據預設,提供者會保存對存放區所做的變更。 如果設定此旗標,提供者不會保存對存放區所做的變更。
CERT_STORE_PROV_SYSTEM_STORE_FLAG
8 (0x8)
提供者會將內容保存到系統存放區。
CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG
16 (0x10)
提供者會將內容保存到 LocalMachine 系統存放區。

hStoreProvFuncAddr2

包含 CryptGetOIDFunctionAddress 所傳回的句柄。 CertCloseStore 會呼叫 CryptFreeOIDFunctionAddress 來釋放非 Null hStoreProvFuncAddr2。 這可讓回呼呼叫另一個可安裝函式,此函式會在存放區關閉時釋出。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 wincrypt.h