структура NETWORK_APP_INSTANCE_EA (ntifs.h)

Структура расширенных атрибутов (EA) для процессов, использующих отработку отказа клиента SMB кластера.

Синтаксис

typedef struct _NETWORK_APP_INSTANCE_EA {
  GUID  AppInstanceID;
  ULONG CsvFlags;
} NETWORK_APP_INSTANCE_EA, *PNETWORK_APP_INSTANCE_EA;

Члены

AppInstanceID

GUID, определяющий отдельный экземпляр приложения, или структуру NETWORK_APP_INSTANCE_EA , если приложение дополнительно содержит флаг csvFlags.

CsvFlags

Необязательный флаг: NETWORK_APP_INSTANCE_CSV_FLAGS_VALID_ONLY_IF_CSV_COORDINATOR (0x00000001)

Флаг NETWORK_APP_INSTANCE_CSV_FLAGS_VALID_ONLY_IF_CSV_COORDINATOR используется только при открытии файла непосредственно из CSVFS. Этот флаг игнорируется при открытии файла по протоколу SMB. Флаг уведомляет CSVFS о том, что файл открывается только на координируем узле. Если запрос "открыть" отправляется в CSVFS и узел не координируется, открытие завершится ошибкой. Кроме того, если координирующий узел перемещается во время открытия файла, открытый файл будет признан недействительным.

Комментарии

Процесс может зарегистрировать идентификатор приложения CCF с помощью RegisterAppInstance, что позволяет всем операциям open из процесса иметь один идентификатор ApplicationId. Если идентификатор не зарегистрирован, applicationId будет отличаться для каждой операции.

Чтобы пометить отдельные открытые операции другим Идентификатором ApplicationId, сначала присвойте AppInstanceID значение GUID. Затем можно добавить SMB_CCF_APP_INSTANCE_EA_NAME в список расширенных атрибутов при вызове NtCreateFile. Если приложение также передает флаг NETWORK_APP_INSTANCE_CSV_FLAGS_VALID_ONLY_IF_CSV_COORDINATOR , appInstanceID должен быть NETWORK_APP_INSTANCE_EA структуре.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Верхняя часть ntifs.h