구문
매개 변수
size _In_ size_t
할당할 크기(바이트)입니다. 이 값은 0이 아닙니다.
memoryTypeId _In_ uint32_t
할당되는 메모리의 내부 범주에 대한 불투명 식별자입니다. 이 값은 무시하세요.
반환 값
형식: void* 지정된 크기의 할당된 메모리 블록에 대한 포인터이거나, 할당에 실패한 경우nullptr입니다. 헤더는 반환 값에 _Ret_maybenull_ 및 _Post_writable_byte_size_(size) 주석을 지정합니다.
설명
이 콜백을 설치하려면 PFMemoryHooks 구조체의alloc 멤버에 설정하고 PFInitialize를 호출하기 전에 해당 구조체를 PFMemSetFunctions에 전달하세요. 동시에 free 멤버를 일치하는 PFMemFreeFunction 콜백으로 설정하세요. 두 멤버 중 하나만 설정된 경우 PFMemSetFunctions는 E_INVALIDARG를 반환합니다.
콜백은 요청된 크기의 연속된 메모리 블록에 대한 포인터를 반환해야 합니다. 이 블록은 PlayFab이 PFMemFreeFunction 콜백에 전달할 때까지 유효한 상태로 유지되어야 합니다. PlayFab은 이 콜백이 반환하는 null이 아닌 모든 포인터를 더 이상 메모리가 필요하지 않을 때 PFMemFreeFunction 콜백에 전달합니다.
PFMemSetFunctions를 호출할 때 libHttpClient가 아직 초기화되지 않은 경우 PlayFab은 libHttpClient의 할당을 이 콜백을 통해 라우팅하는 후크도 설치합니다.
기본 후크를 포함하여 현재 사용 중인 후크를 가져오려면 PFMemGetFunctions를 호출하세요.
PlayFab은 여러 스레드에서 이 콜백을 호출할 수 있으므로 스레드로부터 안전하게 만드세요.
