다음을 통해 공유


WTHelperGetFileHash 함수

[ WTHelperGetFileHash 함수는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]

WTHelperGetFileHash 함수는 서명된 파일의 서명을 확인하고 파일에 대한 해시 값 및 알고리즘 식별자를 가져옵니다.

참고

이 함수는 게시된 헤더 파일에서 선언되지 않습니다. 이 함수를 사용하려면 표시된 정확한 형식으로 선언합니다. 이 함수에는 연결된 가져오기 라이브러리도 없습니다. Wintrust.dll 동적으로 연결하려면 LoadLibraryGetProcAddress 함수를 사용해야 합니다.

 

구문

LONG WINAPI WTHelperGetFileHash(
  _In_        LPCWSTR pwszFilename,
  _In_        DWORD   dwFlags,
  _Inout_opt_ PVOID   pvReserved,
  _Out_opt_   BYTE    *pbFileHash,
  _Inout_opt_ DWORD   *pcbFileHash,
  _Out_opt_   ALG_ID  *pHashAlgid
);

매개 변수

pwszFilename [in]

해시를 가져올 파일의 경로 및 파일 이름을 포함하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다.

dwFlags [in]

이 매개 변수는 사용되지 않으며 0이어야 합니다.

pvReserved [in, out, optional]

이 매개 변수는 사용되지 않으며 NULL이어야 합니다.

pbFileHash [out, optional]

파일에 대한 해시 값을 받을 버퍼에 대한 포인터입니다. pcbFileHash 매개 변수에는 이 버퍼의 크기가 포함됩니다.

pcbFileHash [in, out, optional]

입력 시 pbFileHash 버퍼의 크기(바이트)를 포함하고 출력 시 해시 값의 크기(바이트)를 수신하는 DWORD 변수에 대한 포인터입니다.

해시 값의 필요한 크기를 가져오려면 pbFileHash 매개 변수에 대해 NULL을 전달합니다. 이 함수는 이 위치에 해시 값의 필요한 크기(바이트)를 배치합니다.

pbFileHash 매개 변수가 NULL이 아니고 크기가 해시 값을 받을 만큼 충분히 크지 않은 경우 이 함수는 필요한 크기(바이트)를 이 위치에 배치하고 ERROR_MORE_DATA 반환합니다.

pHashAlgid [out, optional]

해시 값을 만드는 데 사용되는 알고리즘의 식별자를 수신하는 ALG_ID 변수에 대한 포인터입니다. 이 정보가 필요하지 않은 경우 이 매개 변수는 NULL 일 수 있습니다.

반환 값

함수의 성공 또는 실패를 나타내는 상태 코드를 반환합니다.

가능한 반환 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드 설명
ERROR_SUCCESS
파일이 서명되고 서명이 확인되었습니다.
ERROR_MORE_DATA
pbFileHash 매개 변수가 NULL이 아니며 pcbFileHash 매개 변수로 지정된 크기가 해시를 받을 만큼 크지 않습니다.
ERROR_NOT_ENOUGH_MEMORY
메모리 할당 오류가 발생했습니다.
TRUST_E_BAD_DIGEST
파일의 서명이 확인되지 않았습니다.
TRUST_E_NOSIGNATURE
파일에 서명되지 않았거나 유효하지 않은 서명이 있습니다.

 

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
DLL
Wintrust.dll