CWinApp::GetProfileBinary

调用该成员函数从应用程序的注册表或.INI文件中的指定部分中项检索二进制数据。

BOOL GetProfileBinary(
   LPCTSTR lpszSection,
   LPCTSTR lpszEntry,
   LPBYTE* ppData,
   UINT* pBytes 
);

参数

  • lpszSection
    指向指定包含项的节的一个Null终止的字符串。

  • lpszEntry
    指向包含项值要检索的一个Null终止的字符串。

  • ppData
    指向要接收数据的地址的指针。

  • pBytes
    指向要接收数据的大小UINT (以字节为单位)。

返回值

非零,如果成功;否则为0。

备注

此成员函数不区分大小写,因此,在 lpszSection的 字符串和 lpszEntry 参数可能不同,以防。

备注

GetProfileBinary 分配缓冲区并返回其在*ppData的地址。调用方负责释放缓冲区使用 delete []

安全说明安全说明

此函数返回的数据不一定是NULL终止,并且,调用方必须执行验证。有关更多信息,请参见 避免缓冲区溢出

示例

CWinApp* pApp = AfxGetApp();

const TCHAR* pszKey = _T("My Section");
struct complex {
  double re, im;
} myData = { 1.4142, -0.5 };

// Write the information to the registry.

pApp->WriteProfileBinary(pszKey, _T("ComplexData"), (LPBYTE)&myData, 
   sizeof(myData));

// Read the information from the registry.

complex* pData;
UINT n;
BOOL ret = pApp->GetProfileBinary(pszKey, _T("ComplexData"), (LPBYTE*)&pData, 
   &n);

ASSERT(ret);
ASSERT(n == sizeof(complex));
ASSERT(myData.re == pData->re);
ASSERT(myData.im == pData->im);
delete [] pData; // free the buffer

有关其他示例,请参见 CWinApp::WriteProfileBinary

要求

Header: afxwin.h

请参见

参考

CWinApp选件类

层次结构图

CWinApp::GetProfileInt

CWinApp::GetProfileString