Поделиться через


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