Was die IDirectDraw7::SetCooperativeLevel method in der Dokumentation angegeben, heißt esDirectDraw- get Prozedur-Adresse GetProcAddress
Sie müssen Loadlibrary explizit auf Ddraw.dll verlinken auf und dann GetProcAddress verwenden, um die SetCooperativeLevel Methode zuzugreifen.
in den Ausführungen. Wenn ich jedoch versuche (Code unten), funktioniert es nicht. Mache ich etwas falsch?
typedef HRESULT (*pSetCooperativeLevelFunc)(HWND, DWORD);
HMODULE ddrawLib = LoadLibrary(L"ddraw.dll");
pSetCooperativeLevelFunc SCL = (pSetCooperativeLevelFunc) GetProcAddress(
ddrawLib,
"SetCooperativeLevel"
);
if (SCL == NULL) {
// this happens
int error = GetLastError(); // 127 (ERROR_PROC_NOT_FOUND)
printf("Error getting SetCooperativeLevel function address: %i", error);
}
Ich möchte die Leute treffen, die einige dieser MSDN-Artikel schreiben. Sie haben Pech mit der Tatsache, dass es unten keine Kommentare gibt, die die Situation erklären. – chris
Das dachte ich auch, ich werde versuchen zu lernen, wie man 'DUMPBIN' verwendet, danke. – cplusplus
@chris: "Leute, die einige dieser MSDN-Artikel schreiben." Es ist eigentlich ziemlich seltsam. Ich habe den Eindruck, dass vor etwa 5,7 Jahren Dokumentation von MSDN sehr gut war, aber dann "etwas" passiert ist, und die Dinge begannen sich schnell zu verschlechtern. Jetzt ist das Ganze ein Durcheinander, das schwer zu navigieren ist und Google-Suche erfordert, um ordentliche Ergebnisse zu erzielen, was sehr schade ist. – SigTerm