Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

33 lines
938 B

//
// This is a separate file so the dependency on c_dllver is pulled
// in only if the application actually calls CCDllGetVersion.
//
#include "stock.h"
#pragma hdrstop
//
// Common worker function for DllGetVersion. This means we can add
// new DLLVERSIONINFO2, 3, 4... structures and have to fix only one
// function. See ccstock.h for description of usage.
//
extern "C" const DLLVERSIONINFO2 c_dllver;
STDAPI CCDllGetVersion(IN OUT DLLVERSIONINFO * pinfo)
{
HRESULT hres = E_INVALIDARG;
if (!IsBadWritePtr(pinfo, SIZEOF(*pinfo)))
{
if (pinfo->cbSize == sizeof(DLLVERSIONINFO) ||
pinfo->cbSize == sizeof(DLLVERSIONINFO2))
{
CopyMemory((LPBYTE)pinfo + sizeof(pinfo->cbSize),
(LPBYTE)&c_dllver + sizeof(pinfo->cbSize),
pinfo->cbSize - sizeof(pinfo->cbSize));
hres = S_OK;
}
}
return hres;
}