IopCreateArcNames
NTSTATUS __stdcall IopCreateArcNames(_LOADER_PARAMETER_BLOCK *LoaderBlock){
__int64 v2;
VOID **Pool_1;
NTSTATUS result;
_STRING DestinationString;
_STRING v6;
INT8 pszDest[128];
DestinationString = 0i64;
v6 = 0i64;
RtlStringCchPrintfA(pszDest, 0x80ui64, (INT8 *)"\\ArcName\\%s");
RtlInitAnsiString(&DestinationString, pszDest);
RtlAnsiStringToUnicodeString(&IoArcHalDeviceName, &DestinationString, 1u);
RtlStringCchPrintfA(pszDest, 0x80ui64, (INT8 *)"\\ArcName\\%s");
RtlInitAnsiString(&DestinationString, pszDest);
RtlAnsiStringToUnicodeString(&IoArcBootDeviceName, &DestinationString, 1u);
v2 = -1i64;
do
++v2;
while( LoaderBlock->ArcBootDeviceName[v2] );
Pool_1 = IopVerifierExAllocatePool_1(1ui64, v2 + 1);
IoLoaderArcBootDeviceName = (__int64)Pool_1;
if( Pool_1 )
memmove(Pool_1, LoaderBlock->ArcBootDeviceName, v2 + 1);
RtlInitAnsiString(&v6, LoaderBlock->ArcHalDeviceName);
result = IopCreateArcNamesDisk();
if( result >= 0 )
return IopCreateArcNamesCd(LoaderBlock);
return result;
}Referenced by:
IopInitializeBootDrivers