CWinApp::GetProfileBinary
Rufen Sie die Memberfunktion auf, um Binärdaten aus einem Eintrag innerhalb eines angegebenen Abschnitt der der Registrierung oder der INI-Datei Anwendung abzurufen.
BOOL GetProfileBinary(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPBYTE* ppData,
UINT* pBytes
);
Parameter
lpszSection
Zeigt auf eine auf NULL endende Zeichenfolge, die den Abschnitt angibt, der den Eintrag enthält.lpszEntry
Zeigt auf eine auf NULL endende Zeichenfolge, die den Eintrag enthält, dessen Wert abgerufen werden soll.ppData
Zeigt auf einem Zeiger, der die Adresse der Daten empfängt.pBytes
Zeigt auf einem UINT, das die Größe der Daten empfängt (in Bytes).
Rückgabewert
Ungleich 0 (null), wenn erfolgreich; 0 andernfalls.
Hinweise
Diese Memberfunktion ist nicht Groß-/Kleinschreibung, sodass unterscheiden sich die Zeichenfolgen in lpszSection und die lpszEntry-Parameter bei.
Hinweis |
---|
GetProfileBinary ordnet einen Puffer zu und gibt seine Adresse im *ppData zurück.Der Aufrufer ist für das Freigeben des Puffers mit delete [] zuständig. |
Sicherheitshinweis |
---|
Die Daten, die von dieser Funktion zurückgegeben werden, sind nicht unbedingt NULL beendet, und der Aufrufer muss die Validierung ausführen.Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen. |
Beispiel
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
Ein weiteres Beispiel finden Sie unter CWinApp::WriteProfileBinary.
Anforderungen
Header: afxwin.h