123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifdef _CERTBCLI_TYPECHECK
- #undef __CERTBCLI_H__
- #endif
- #ifndef __CERTBCLI_H__
- #define __CERTBCLI_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef _NO_W32_PSEUDO_MODIFIERS
- #ifndef IN
- #define IN
- #endif
- #ifndef OUT
- #define OUT
- #endif
- #ifndef OPTIONAL
- #define OPTIONAL
- #endif
- #endif
- #ifndef RPC_STRING
- #define RPC_STRING
- #endif
- #ifndef VOID
- #define VOID void
- #endif
- #define CERTBCLI_CALL WINAPI
- #define CERTBCLI_API __declspec(dllimport) WINAPI
- #define szBACKUPANNOTATION "Cert Server Backup Interface"
- #define wszBACKUPANNOTATION TEXT(szBACKUPANNOTATION)
- #define szRESTOREANNOTATION "Cert Server Restore Interface"
- #define wszRESTOREANNOTATION TEXT(szRESTOREANNOTATION)
- #define CSBACKUP_TYPE_FULL 0x00000001
- #define CSBACKUP_TYPE_LOGS_ONLY 0x00000002
- #define CSBACKUP_TYPE_MASK 0x00000003
- #define CSRESTORE_TYPE_FULL 0x00000001
- #define CSRESTORE_TYPE_ONLINE 0x00000002
- #define CSRESTORE_TYPE_CATCHUP 0x00000004
- #define CSRESTORE_TYPE_MASK 0x00000005
- #define CSBACKUP_DISABLE_INCREMENTAL 0xffffffff
- typedef WCHAR CSBFT;
- #define CSBFT_DIRECTORY 0x80
- #define CSBFT_DATABASE_DIRECTORY 0x40
- #define CSBFT_LOG_DIRECTORY 0x20
- #define CSBFT_LOG ((CSBFT) (TEXT('\x01') | CSBFT_LOG_DIRECTORY))
- #define CSBFT_LOG_DIR ((CSBFT) (TEXT('\x02') | CSBFT_DIRECTORY))
- #define CSBFT_CHECKPOINT_DIR ((CSBFT) (TEXT('\x03') | CSBFT_DIRECTORY))
- #define CSBFT_CERTSERVER_DATABASE ((CSBFT) (TEXT('\x04') | CSBFT_DATABASE_DIRECTORY))
- #define CSBFT_PATCH_FILE ((CSBFT) (TEXT('\x05') | CSBFT_LOG_DIRECTORY))
- #define CSBFT_UNKNOWN ((CSBFT) (TEXT('\x0f')))
- typedef void *HCSBC;
- #ifndef CSEDB_RSTMAP
- typedef struct tagCSEDB_RSTMAPW {
- WCHAR *pwszDatabaseName;
- WCHAR *pwszNewDatabaseName;
- } CSEDB_RSTMAPW;
- #define CSEDB_RSTMAP CSEDB_RSTMAPW
- #endif
- #define CertSrvIsServerOnline CertSrvIsServerOnlineW
- #define CertSrvBackupGetDynamicFileList CertSrvBackupGetDynamicFileListW
- #define CertSrvBackupPrepare CertSrvBackupPrepareW
- #define CertSrvBackupGetDatabaseNames CertSrvBackupGetDatabaseNamesW
- #define CertSrvBackupOpenFile CertSrvBackupOpenFileW
- #define CertSrvBackupGetBackupLogs CertSrvBackupGetBackupLogsW
- #define CertSrvRestoreGetDatabaseLocations CertSrvRestoreGetDatabaseLocationsW
- #define CertSrvRestorePrepare CertSrvRestorePrepareW
- #define CertSrvRestoreRegister CertSrvRestoreRegisterW
- #define CertSrvServerControl CertSrvServerControlW
- typedef HRESULT (WINAPI FNCERTSRVISSERVERONLINEW)(WCHAR const *pwszServerName,WINBOOL *pfServerOnline);
- HRESULT CERTBCLI_API CertSrvIsServerOnlineW(WCHAR const *pwszServerName,WINBOOL *pfServerOnline);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVISSERVERONLINEW *pfnCertSrvIsServerOnline = CertSrvIsServerOnline;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVBACKUPGETDYNAMICFILELISTW)(HCSBC hbc,WCHAR **ppwszzFileList,DWORD *pcbSize);
- HRESULT CERTBCLI_API CertSrvBackupGetDynamicFileListW(HCSBC hbc,WCHAR **ppwszzFileList,DWORD *pcbSize);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPGETDYNAMICFILELISTW *pfnCertSrvBackupGetDynamicFileList = CertSrvBackupGetDynamicFileList;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVBACKUPPREPAREW)(WCHAR const *pwszServerName,ULONG grbitJet,ULONG dwBackupFlags,HCSBC *phbc);
- HRESULT CERTBCLI_API CertSrvBackupPrepareW(WCHAR const *pwszServerName,ULONG grbitJet,ULONG dwBackupFlags,HCSBC *phbc);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPPREPAREW *pfnCertSrvBackupPrepare = CertSrvBackupPrepare;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVBACKUPGETDATABASENAMESW)(HCSBC hbc,WCHAR **ppwszzAttachmentInformation,DWORD *pcbSize);
- HRESULT CERTBCLI_API CertSrvBackupGetDatabaseNamesW(HCSBC hbc,WCHAR **ppwszzAttachmentInformation,DWORD *pcbSize);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPGETDATABASENAMESW *pfnCertSrvBackupGetDatabaseNames = CertSrvBackupGetDatabaseNames;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVBACKUPOPENFILEW)(HCSBC hbc,WCHAR const *pwszAttachmentName,DWORD cbReadHintSize,LARGE_INTEGER *pliFileSize);
- HRESULT CERTBCLI_API CertSrvBackupOpenFileW(HCSBC hbc,WCHAR const *pwszAttachmentName,DWORD cbReadHintSize,LARGE_INTEGER *pliFileSize);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPOPENFILEW *pfnCertSrvBackupOpenFile = CertSrvBackupOpenFile;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVBACKUPREAD)(HCSBC hbc,VOID *pvBuffer,DWORD cbBuffer,DWORD *pcbRead);
- HRESULT CERTBCLI_API CertSrvBackupRead(HCSBC hbc,VOID *pvBuffer,DWORD cbBuffer,DWORD *pcbRead);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPREAD *pfnCertSrvBackupRead = CertSrvBackupRead;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVBACKUPCLOSE)(HCSBC hbc);
- HRESULT CERTBCLI_API CertSrvBackupClose(HCSBC hbc);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPCLOSE *pfnCertSrvBackupClose = CertSrvBackupClose;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVBACKUPGETBACKUPLOGSW)(HCSBC hbc,WCHAR **ppwszzBackupLogFiles,DWORD *pcbSize);
- HRESULT CERTBCLI_API CertSrvBackupGetBackupLogsW(HCSBC hbc,WCHAR **ppwszzBackupLogFiles,DWORD *pcbSize);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPGETBACKUPLOGSW *pfnCertSrvBackupGetBackupLogs = CertSrvBackupGetBackupLogs;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVBACKUPTRUNCATELOGS)(HCSBC hbc);
- HRESULT CERTBCLI_API CertSrvBackupTruncateLogs(HCSBC hbc);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPTRUNCATELOGS *pfnCertSrvBackupTruncateLogs = CertSrvBackupTruncateLogs;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVBACKUPEND)(HCSBC hbc);
- HRESULT CERTBCLI_API CertSrvBackupEnd(HCSBC hbc);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPEND *pfnCertSrvBackupEnd = CertSrvBackupEnd;
- #endif
- typedef VOID (WINAPI FNCERTSRVBACKUPFREE)(VOID *pv);
- VOID CERTBCLI_API CertSrvBackupFree(VOID *pv);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVBACKUPFREE *pfnCertSrvBackupFree = CertSrvBackupFree;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVRESTOREGETDATABASELOCATIONSW)(HCSBC hbc,WCHAR **ppwszzDatabaseLocationList,DWORD *pcbSize);
- HRESULT CERTBCLI_API CertSrvRestoreGetDatabaseLocationsW(HCSBC hbc,WCHAR **ppwszzDatabaseLocationList,DWORD *pcbSize);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVRESTOREGETDATABASELOCATIONSW *pfnCertSrvRestoreGetDatabaseLocations = CertSrvRestoreGetDatabaseLocations;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVRESTOREPREPAREW)(WCHAR const *pwszServerName,ULONG dwRestoreFlags,HCSBC *phbc);
- HRESULT CERTBCLI_API CertSrvRestorePrepareW(WCHAR const *pwszServerName,ULONG dwRestoreFlags,HCSBC *phbc);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVRESTOREPREPAREW *pfnCertSrvRestorePrepare = CertSrvRestorePrepare;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVRESTOREREGISTERW)(HCSBC hbc,WCHAR const *pwszCheckPointFilePath,WCHAR const *pwszLogPath,CSEDB_RSTMAPW rgrstmap[],LONG crstmap,WCHAR const *pwszBackupLogPath,ULONG genLow,ULONG genHigh);
- HRESULT CERTBCLI_API CertSrvRestoreRegisterW(HCSBC hbc,WCHAR const *pwszCheckPointFilePath,WCHAR const *pwszLogPath,CSEDB_RSTMAPW rgrstmap[],LONG crstmap,WCHAR const *pwszBackupLogPath,ULONG genLow,ULONG genHigh);
- HRESULT CERTBCLI_API CertSrvRestoreRegisterThroughFile(HCSBC hbc,WCHAR const *pwszCheckPointFilePath,WCHAR const *pwszLogPath,CSEDB_RSTMAPW rgrstmap[],LONG crstmap,WCHAR const *pwszBackupLogPath,ULONG genLow,ULONG genHigh);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVRESTOREREGISTERW *pfnCertSrvRestoreRegister = CertSrvRestoreRegister;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVRESTOREREGISTERCOMPLETE)(HCSBC hbc,HRESULT hrRestoreState);
- HRESULT CERTBCLI_API CertSrvRestoreRegisterComplete(HCSBC hbc,HRESULT hrRestoreState);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVRESTOREREGISTERCOMPLETE *pfnCertSrvRestoreRegisterComplete = CertSrvRestoreRegisterComplete;
- #endif
- typedef HRESULT (WINAPI FNCERTSRVRESTOREEND)(HCSBC hbc);
- HRESULT CERTBCLI_API CertSrvRestoreEnd(HCSBC hbc);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVRESTOREEND *pfnCertSrvRestoreEnd = CertSrvRestoreEnd;
- #endif
- #define CSCONTROL_SHUTDOWN 0x000000001
- #define CSCONTROL_SUSPEND 0x000000002
- #define CSCONTROL_RESTART 0x000000003
- typedef HRESULT (WINAPI FNCERTSRVSERVERCONTROLW)(WCHAR const *pwszServerName,DWORD dwControlFlags,DWORD *pcbOut,BYTE **ppbOut);
- HRESULT CERTBCLI_API CertSrvServerControlW(WCHAR const *pwszServerName,DWORD dwControlFlags,DWORD *pcbOut,BYTE **ppbOut);
- #ifdef _CERTBCLI_TYPECHECK
- FNCERTSRVSERVERCONTROLW *pfnCertSrvServerControl = CertSrvServerControl;
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
|