63 while (CNNext !=
NULL)
65 CNPrev = CNNext->
Next;
70 while (CNNext !=
NULL)
72 CNPrev = CNNext->
Next;
77 while (DNNext !=
NULL)
79 DNPrev = DNNext->
Next;
623 DPRINT(
MID_TRACE, (
"Setting disk label template to '%s'\n", Template));
653 DPRINT(
MID_TRACE, (
"Setting cabinet name template to '%s'\n", Template));
748 Value = 640*1024*1024;
807 bool NumberValid =
false;
1045 ((ch =
Line[
i]) !=
' ') &&
1056 strcat(SrcName, BaseFilename);
1106 printf(
"ERROR: Cannot create cabinet.\n");
1117 printf(
"ERROR: Cannot create disk.\n");
1124 DPRINT(
MID_TRACE, (
"Adding file: '%s' destination: '%s'.\n", SrcName, DstName));
1130 strcat(SrcName, BaseFilename);
1145 printf(
"Optional file skipped (does not exist): %s.\n", SrcName);
1148 printf(
"ERROR: File not found: %s.\n", SrcName);
1153 printf(
"ERROR: Insufficient memory to add file: %s.\n", SrcName);
1301 ((ch >=
'A') && (ch <=
'Z')) || (ch ==
'_'))
PRTL_UNICODE_STRING_BUFFER Path
char * strcat(char *DstString, const char *SrcString)
char * strstr(char *String1, char *String2)
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
#define CAB_STATUS_NOFILE
#define CAB_STATUS_CANNOT_OPEN
#define CAB_STATUS_CANNOT_READ
#define CAB_STATUS_FAILURE
#define CAB_STATUS_NOMEMORY
#define CAB_STATUS_SUCCESS
void SetMaxDiskSize(ULONG Size)
ULONG AddFile(const std::string &FileName, const std::string &TargetFolder)
void NormalizePath(std::string &Path)
std::string GetFileName(const std::string &Path)
virtual void OnVerboseMessage(const char *Message)
const char * GetDestinationPath()
void ConvertPath(std::string &Path)
ULONG GetCurrentDiskNumber()
ULONG WriteDisk(ULONG MoreDisks)
PCABINET_NAME CabinetName
void SetFileRelativePath(char *Path)
bool IsNextToken(DFP_TOKEN Token, bool NoSpaces)
bool SetDiskName(PCABINET_NAME *List, ULONG Number, char *String)
void WriteInfLine(char *InfLine)
bool GetDiskName(PCABINET_NAME *List, ULONG Number, char *String)
bool CabinetNameTemplateSet
ULONG PerformNewCommand()
virtual bool OnCabinetName(ULONG Number, char *Name) override
bool GetDiskNumber(PDISK_NUMBER *List, ULONG Number, PULONG Value)
void DoInfFileName(char *InfFileName)
char CabinetNameTemplate[128]
bool DiskLabelTemplateSet
char DiskLabelTemplate[128]
std::string FileRelativePath
bool DoCabinetName(ULONG Number, char *Name)
void DoCabinetNameTemplate(char *Template)
void DoDiskLabelTemplate(char *Template)
bool SetDiskNumber(PDISK_NUMBER *List, ULONG Number, ULONG Value)
bool DoDiskLabel(ULONG Number, char *Label)
ULONG PerformSetCommand()
virtual bool OnDiskLabel(ULONG Number, char *Label) override
ULONG PerformInfEndCommand()
ULONG Load(char *FileName)
ULONG DoMaxDiskSize(bool NumberValid, ULONG Number)
ULONG PerformInfBeginCommand()
struct _CABINET_NAME CABINET_NAME
struct _DISK_NUMBER DISK_NUMBER
_Must_inspect_result_ _Out_ PLARGE_INTEGER FileSize
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
void WriteLine(char *pchLine, FILE *fileOut)
_Check_return_opt_ _CRTIMP size_t __cdecl fread(_Out_writes_bytes_(_ElementSize *_Count) void *_DstBuf, _In_ size_t _ElementSize, _In_ size_t _Count, _Inout_ FILE *_File)
_Check_return_ _CRTIMP FILE *__cdecl fopen(_In_z_ const char *_Filename, _In_z_ const char *_Mode)
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_opt_ _CRTIMP size_t __cdecl fwrite(_In_reads_bytes_(_Size *_Count) const void *_Str, _In_ size_t _Size, _In_ size_t _Count, _Inout_ FILE *_File)
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
#define sprintf(buf, format,...)
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
struct _CABINET_NAME * Next
struct _DISK_NUMBER * Next
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_ WDFCMRESLIST List