ImageGetDigestStream Function

Debug Help Library

ImageGetDigestStream Function

Retrieves the requested data from the specified image file.

BOOL ImageGetDigestStream(
  __in          HANDLE FileHandle,
  __in          DWORD DigestLevel,
  __in          DIGEST_FUNCTION DigestFunction,
  __in          DIGEST_HANDLE DigestHandle
);

Parameters

FileHandle

A handle to the image file. This handle must be opened for FILE_READ_DATA access.

DigestLevel

The aspects of the image that are to be included in the returned data stream. This parameter can be one or more of the following values.

Value Meaning

CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO
0x04

Include all import information.

CERT_PE_IMAGE_DIGEST_DEBUG_INFO
0x01

Include symbolic debugging information.

CERT_PE_IMAGE_DIGEST_RESOURCES
0x02

Include resource information.

DigestFunction

A pointer to a callback routine to process the data. For more information, see DigestFunction.

DigestHandle

A user-supplied handle to the digest. This parameter is passed to DigestFunction as the first argument.

Return Value

If the function succeeds, the return value is TRUE.

If the function fails, the return value is FALSE. To retrieve extended error information, call GetLastError.

Remarks

The ImageGetDigestStream function returns the data to be digested from a specified image file, subject to the passed DigestLevel parameter. The order of the bytes will be consistent for different calls, which is required to ensure that the same message digest is always produced from the retrieved byte stream.

To ensure cross-platform compatibility, all implementations of this function must behave in a consistent manner with respect to the order in which the various parts of the image file are returned.

Data should be returned in the following order:

  1. Image (executable and static data) information.
  2. Resource data.
  3. Debugging information.

If any of these are not specified, the remaining parts must be returned in the same order.

All ImageHlp functions, such as this one, are single threaded. Therefore, calls from more than one thread to this function will likely result in unexpected behavior or memory corruption. To avoid this, you must synchronize all concurrent calls from more than one thread to this function.

Requirements

Client

Requires Windows Vista, Windows XP, Windows 2000 Professional, Windows NT Workstation 4.0, Windows Me, Windows 98, or Windows 95.

Server

Requires Windows Server 2008, Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.

Header

Declared in Imagehlp.h.

Library

Use Imagehlp.lib.

DLL

Requires Imagehlp.dll.

See Also

ImageHlp Functions


Send comments about this topic to Microsoft

Build date: 9/25/2007

© 2007 Microsoft Corporation. All rights reserved.