Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bölüm eşleşen bir kapı zili veya SynIC olayı oluşturduğunda Windows olay nesnesine işaret eden bir bildirim bağlantı noktası oluşturur.
Sözdizimi
typedef enum WHV_NOTIFICATION_PORT_TYPE
{
WHvNotificationPortTypeEvent = 2,
WHvNotificationPortTypeDoorbell = 4,
} WHV_NOTIFICATION_PORT_TYPE;
typedef struct WHV_DOORBELL_MATCH_DATA
{
WHV_GUEST_PHYSICAL_ADDRESS GuestAddress;
UINT64 Value;
UINT32 Length;
UINT32 MatchOnValue:1;
UINT32 MatchOnLength:1;
UINT32 Reserved:30;
} WHV_DOORBELL_MATCH_DATA;
typedef struct WHV_NOTIFICATION_PORT_PARAMETERS
{
WHV_NOTIFICATION_PORT_TYPE NotificationPortType;
UINT16 Reserved;
UINT8 Reserved1;
UINT8 ConnectionVtl;
union
{
WHV_DOORBELL_MATCH_DATA Doorbell;
struct
{
UINT32 ConnectionId;
} Event;
};
} WHV_NOTIFICATION_PORT_PARAMETERS;
typedef PVOID WHV_NOTIFICATION_PORT_HANDLE;
HRESULT
WINAPI
WHvCreateNotificationPort(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ const WHV_NOTIFICATION_PORT_PARAMETERS* Parameters,
_In_ HANDLE EventHandle,
_Out_ WHV_NOTIFICATION_PORT_HANDLE* PortHandle
);
Parameters
Partition
Bölüm nesnesi için tanıtıcı.
Parameters
Oluşturulacak bildirim bağlantı noktasının türünü ve yapılandırmasını belirtir. Bkz. WHV_NOTIFICATION_PORT_PARAMETERS.
EventHandle
Bildirim bağlantı noktası tetiklendiğinde işaretlenen bir Windows olay nesnesine işleyin.
PortHandle
Yeni oluşturulan bildirim bağlantı noktasının tutamacını alır. Tanıtıcı, ve WHvDeleteNotificationPort'ye WHvSetNotificationPortProperty yapılan sonraki çağrılarda kullanılır.
Dönüş Değeri
İşlev başarılı olursa, dönüş değeri olur S_OK.
İşlev geçerli WHV_NOTIFICATION_PORT_TYPE bir değer değilse NotificationPortType veya kapı zili eşleştirme verileri bir kapı zili bağlantı noktası için geçerli değilse döndürürE_INVALIDARG. Kapı zili eşleştirme veri alanları ve bunları yöneten kurallar için bkz . Doorbell Veri Türleri.
Açıklamalar
WHvCreateNotificationPort işlevi, bölüm eşleşen bir olay oluşturduğunda sağlanan Windows olay nesnesine sinyal veren bir bildirim bağlantı noktası oluşturur. Bildirim bağlantı noktaları, doorbell türü bir bildirim bağlantı noktası oluşturmaya eşdeğer olan kullanım WHvRegisterPartitionDoorbellEvent dışı işlevin yerini alır.
olduğunda NotificationPortTypeWHvNotificationPortTypeDoorbell, sanal işlemci üye tarafından açıklanan konuk fiziksel adresine eşleşen bir değer yazdığında bağlantı noktası sinyal EventHandle verir Doorbell .
MatchOnValue ve MatchOnLength bayrakları, yazılan değerin ve uzunluğun eşleşmesi gerekip gerekmediğini denetler.
olduğunda NotificationPortTypeWHvNotificationPortTypeEvent, konuk üyeye eşit bir bağlantı kimliğiyle hiper çağrıyı HvCallSignalEvent çağırdığında bağlantı noktası sinyal EventHandle verirEvent.ConnectionId.
ile WHvCreatePartitionbölümü oluşturun, yapılandırın ve bildirim bağlantı noktaları oluşturmadan önce öğesini çağırın WHvSetupPartition . Bağlantı noktası oluşturulduktan sonra tercih edilen hedef sanal işlemcisini veya benşim süresini ile ayarlayın ve ile WHvSetNotificationPortPropertyWHvDeleteNotificationPortsilin.
Requirements
| Requirement | Değer |
|---|---|
| Desteklenen en düşük Windows | Windows 10, sürüm 20H2 (x64); Windows 11, sürüm 24H2, derleme 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Kütüphane | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |