CryptCATCDFEnumAttributesWithCDFTag function
[The CryptCATCDFEnumAttributesWithCDFTag function is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions.]
The CryptCATCDFEnumAttributesWithCDFTag function enumerates the attributes of member files in the CatalogFiles section of a catalog definition file (CDF). CryptCATCDFEnumAttributesWithCDFTag is called by MakeCat.
Note
This function has no associated header file or import library. To call this function, you must create a user-defined header file and use the LoadLibrary and GetProcAddress functions to dynamically link to Mssign32.dll.
Syntax
CRYPTCATATTRIBUTE* WINAPI CryptCATCDFEnumAttributesWithCDFTag(
_In_ CRYPTCATCDF *pCDF,
_In_ LPWSTR pwszMemberTag,
_In_ CRYPTCATMEMBER *pMember,
_In_ CRYPTCATATTRIBUTE *pPrevAttr,
_In_ PFN_CDF_PARSE_ERROR_CALLBACK pfnParseError
);
Parameters
-
pCDF [in]
-
A pointer to a CRYPTCATCDF structure.
-
pwszMemberTag [in]
-
A pointer to a null-terminated string that identifies the catalog file member.
-
pMember [in]
-
A pointer to a CRYPTCATMEMBER structure that contains the member information.
-
pPrevAttr [in]
-
A pointer to a CRYPTCATATTRIBUTE structure for a file member attribute in the CDF pointed to by pCDF.
-
pfnParseError [in]
-
A pointer to a user-defined function to handle file parse errors.
Return value
Upon success, this function returns a pointer to a CRYPTCATATTRIBUTE structure. The CryptCATCDFEnumAttributesWithCDFTag function returns a NULL pointer if it fails.
Remarks
You typically call this function in a loop to enumerate all of the catalog file member attributes in a CDF. Before entering the loop, set pPrevAttr to NULL. The function returns a pointer to the first attribute. Set pPrevAttr to the return value of the function for subsequent iterations of the loop.
Examples
The following example shows the correct sequence of assignments for the pPrevAttr parameter (pAttr
).
CRYPTCATATTRIBUTE *pAttr;
CRYPTCATMEMBER *pMember;
LPWSTR pwszMemberTag;
CRYPTCATCDF *pCDF;
pCDF = CryptCATCDFOpen(L"myCDF", NULL);
pMember = NULL;
pwszMemberTag = NULL;
while (pwszMemberTag = CryptCATCDFEnumMembersByCDFTagEx(pCDF,
pwszMemberTag,
NULL,
&pMember,
FALSE,
NULL))
{
pAttr = NULL;
while (pAttr = CryptCATCDFEnumAttributesWithCDFTag(pCDF,
pwszMemberTag,
pMember,
pAttr,
DisplayParseError))
{
//do something with pAttr
}
}
CryptCATCDFClose(pCDF);
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows XP [desktop apps only] |
Minimum supported server |
Windows Server 2003 [desktop apps only] |
DLL |
|
See also