You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
166 lines
2.7 KiB
166 lines
2.7 KiB
/*++
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
hwdbp.h
|
|
|
|
Abstract:
|
|
|
|
Module's private definitions.
|
|
|
|
Author:
|
|
|
|
Ovidiu Temereanca (ovidiut) 11-Jul-2000 Initial implementation
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#include "migshared.h"
|
|
#include "hwdb.h"
|
|
|
|
#include <infstr.h>
|
|
#include <strsafe.h>
|
|
|
|
|
|
typedef struct {
|
|
HASHTABLE InfFileTable;
|
|
HASHTABLE PnpIdTable;
|
|
HASHTABLE UnsupPnpIdTable;
|
|
DWORD Checksum;
|
|
} HWDB, *PHWDB;
|
|
|
|
|
|
BOOL
|
|
HwdbpInitialized (
|
|
VOID
|
|
);
|
|
|
|
BOOL
|
|
HwdbpInitialize (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
HwdbpTerminate (
|
|
VOID
|
|
);
|
|
|
|
PHWDB
|
|
HwdbpOpen (
|
|
IN PCSTR DatabaseFile
|
|
);
|
|
|
|
BOOL
|
|
HwdbpClose (
|
|
IN HANDLE Hwdb
|
|
);
|
|
|
|
BOOL
|
|
HwdbpAppendInfs (
|
|
IN HANDLE Hwdb,
|
|
IN PCSTR SourceDirectory,
|
|
IN HWDBAPPENDINFSCALLBACKA Callback, OPTIONAL
|
|
IN PVOID CallbackContext, OPTIONAL
|
|
IN BOOL CallbackIsUnicode
|
|
);
|
|
|
|
BOOL
|
|
HwdbpAppendDatabase (
|
|
IN HANDLE HwdbTarget,
|
|
IN HANDLE HwdbSource
|
|
);
|
|
|
|
BOOL
|
|
HwdbpFlush (
|
|
IN HANDLE Hwdb,
|
|
IN PCSTR OutputFile
|
|
);
|
|
|
|
BOOL
|
|
HwdbpHasDriver (
|
|
IN HANDLE Hwdb,
|
|
IN PCSTR PnpId,
|
|
OUT PBOOL Unsupported
|
|
);
|
|
|
|
BOOL
|
|
HwdbpHasAnyDriver (
|
|
IN HANDLE Hwdb,
|
|
IN PCSTR PnpIds,
|
|
OUT PBOOL Unsupported
|
|
);
|
|
|
|
BOOL
|
|
HwpAddPnpIdsInInf (
|
|
IN PCSTR InfPath,
|
|
IN OUT PHWDB Hwdb,
|
|
IN PCSTR SourceDirectory,
|
|
IN PCSTR InfFilename,
|
|
IN HWDBAPPENDINFSCALLBACKA Callback, OPTIONAL
|
|
IN PVOID CallbackContext, OPTIONAL
|
|
IN BOOL CallbackIsUnicode
|
|
);
|
|
|
|
#if 0
|
|
|
|
BOOL
|
|
HwdbpEnumeratePnpIdA (
|
|
IN PHWDB Hwdb,
|
|
IN PHWDBENUM_CALLBACKA EnumCallback,
|
|
IN PVOID UserContext
|
|
);
|
|
|
|
BOOL
|
|
HwdbpEnumeratePnpIdW (
|
|
IN PHWDB Hwdb,
|
|
IN PHWDBENUM_CALLBACKW EnumCallback,
|
|
IN PVOID UserContext
|
|
);
|
|
|
|
#endif
|
|
|
|
typedef struct {
|
|
HANDLE File;
|
|
GROWBUFFER GrowBuf;
|
|
} HWDBINF_ENUM_INTERNAL, *PHWDBINF_ENUM_INTERNAL;
|
|
|
|
|
|
BOOL
|
|
HwdbpEnumFirstInfA (
|
|
OUT PHWDBINF_ENUMA EnumPtr,
|
|
IN PCSTR DatabaseFile
|
|
);
|
|
|
|
BOOL
|
|
HwdbpEnumFirstInfW (
|
|
OUT PHWDBINF_ENUMW EnumPtr,
|
|
IN PCSTR DatabaseFile
|
|
);
|
|
|
|
BOOL
|
|
HwdbpEnumNextInfA (
|
|
IN OUT PHWDBINF_ENUMA EnumPtr
|
|
);
|
|
|
|
BOOL
|
|
HwdbpEnumNextInfW (
|
|
IN OUT PHWDBINF_ENUMW EnumPtr
|
|
);
|
|
|
|
VOID
|
|
HwdbpAbortEnumInfA (
|
|
IN OUT PHWDBINF_ENUMA EnumPtr
|
|
);
|
|
|
|
VOID
|
|
HwdbpAbortEnumInfW (
|
|
IN OUT PHWDBINF_ENUMW EnumPtr
|
|
);
|
|
|
|
BOOL
|
|
HwdbpSetTempDir (
|
|
IN PCSTR TempDir
|
|
);
|