PSCSIWMI_SET_DATAITEM função de retorno de chamada (scsiwmi.h)
A rotina de HwScsiWmiSetDataItem de um driver de miniport é chamada para alterar um único item de dados em uma instância de um bloco de dados. Essa rotina é opcional.
Sintaxe
PSCSIWMI_SET_DATAITEM PscsiwmiSetDataitem;
BOOLEAN PscsiwmiSetDataitem(
[in] PVOID DeviceContext,
[in] PSCSIWMI_REQUEST_CONTEXT RequestContext,
[in] ULONG GuidIndex,
[in] ULONG InstanceIndex,
[in] ULONG DataItemId,
[in] ULONG BufferSize,
[in] PUCHAR Buffer
)
{...}
Parâmetros
[in] DeviceContext
Aponta para o valor de contexto definido pelo driver do miniport passado para ScsiPortWmiDispatchFunction.
[in] RequestContext
Aponta para a estrutura SCSIWMI_REQUEST_CONTEXT que o driver de miniporto passou para ScsiPortWmiDispatchFunction.
[in] GuidIndex
Especifica o bloco de dados por seu índice na lista de GUIDs na estrutura SCSI_WMILIB_CONTEXT que o driver de miniporto passou para ScsiPortWmiDispatchFunction.
[in] InstanceIndex
Se o bloco especificado por guidIndex tiver várias instâncias, InstanceIndex especificar a instância.
[in] DataItemId
Especifica a ID do item de dados a ser definido.
[in] BufferSize
Especifica o tamanho em bytes do buffer em buffer.
[in] Buffer
Aponta para um buffer que contém o novo valor do item de dados.
Valor de retorno
HwScsiWmiSetDataItem retornará SRB_STATUS_PENDING se a solicitação estiver pendente ou um valor de status SRB diferente de zero se a solicitação tiver sido concluída. O valor de status SRB retornado por essa rotina é o mesmo que foi passado para HwScsiWmiSetDataItem. Embora o tipo de dados de valor retornado seja BOOLEAN, o HwScsiWmiSetDataItem rotina realmente retorna um valor de status SRB.
Observações
Quando um driver de miniporto recebe um SRB no qual o membro da Função está definido como SRB_FUNCTION_WMI, ele chama ScsiPortWmiDispatchFunction com um ponteiro para uma estrutura de SCSI_WMILIB_CONTEXT inicializada e MinorFunction definido como Srb->WmiSubFunction. O driver de porta SCSI chama a rotina de do do driver de miniporto HwScsiWmiSetDataItem se MinorFunction indicar uma solicitação para alterar um item em uma instância de um bloco de dados.
Se um driver de miniporto não implementar uma rotina de HwScsiWmiSetDataItem, ele deverá definir SetWmiDataItem para NULL no SCSI_WMILIB_CONTEXT o driver de miniporto passa para ScsiPortWmiDispatchFunction. Nesta circunstância, o driver de porta retornará SRB_STATUS_ERROR ao chamador.
Se a solicitação não estiver pendente, o driver de miniporto deverá chamar ScsiPortWmiPostProcess em seu HwScsiWmiSetDataItem retorno de chamada. Caso contrário, o driver de miniporto deverá chamar ScsiPortWmiPostProcess quando a solicitação for realmente concluída. O driver de miniporto deve chamar ScsiPortWmiPostProcess com o valor de SrbStatus apropriado.
Se o item for somente leitura, o driver de miniporto chamará ScsiPortWmiPostProcess com SRB_STATUS_ERROR. Caso contrário, o driver de miniporto altera o item e chama ScsiPortWmiPostProcess com SRB_STATUS_SUCCESS.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | scsiwmi.h (inclua Scsiwmi.h) |