Configure

antimalware

policies

March

minutes

to

read

Contributors

Malware

filtering

is

automatically

enabled

companywide

via

the

default

antimalware

policy

As

an

administrator

you

can

view

and

edit

but

not

delete

the

default

antimalware

policy

so

that

it

is

tailored

to

best

meet

the

needs

of

your

organization

For

greater

granularity

you

can

also

create

custom

malware

filter

policies

and

apply

them

to

specified

users

groups

or

domains

in

your

organization

Custom

policies

always

take

precedence

over

the

default

policy

but

you

can

change

the

priority

running

order

of

your

custom

policies

The

following

video

shows

some

of

the

configuration

steps

detailed

in

this

topic

for

the

antimalware

policies

What

do

you

need

to

know

before

you

begin

You

need

to

be

assigned

permissions

before

you

can

perform

this

procedure

or

procedures

To

see

what

permissions

you

need

see

the

Antimalware

entry

in

the

Feature

Permissions

in

Exchange

Online

topic

For

information

about

keyboard

shortcuts

that

may

apply

to

the

procedures

in

this

topic

see

Keyboard

shortcuts

in

the

Exchange

admin

center

Use

the

EAC

to

configure

antimalware

policies

In

the

Exchange

admin

center

EAC

navigate

to

Protection

Malware

filter

Do

one

of

the

following

Doubleclick

the

default

policy

in

order

to

edit

this

companywide

policy

Click

the

New

icon

in

order

to

create

a

new

policy

that

can

be

applied

to

users

groups

and

domains

in

your

organization

You

can

also

edit

existing

custom

policies

by

doubleclicking

them

For

custom

policies

only

specify

a

name

for

this

policy

You

can

optionally

specify

a

more

detailed

description

as

well

You

can

not

rename

the

default

policy

Note

When

creating

a

new

policy

all

configuration

settings

appear

on

a

single

screen

whereas

when

editing

a

policy

you

must

navigate

through

different

screens

The

settings

are

the

same

in

either

case

but

the

rest

of

this

procedure

describes

how

to

access

these

settings

when

editing

a

policy

Click

the

Settings

menu

option

In

the

Malware

Detection

Response

section

use

the

option

buttons

to

select

the

action

to

take

when

malware

is

detected

in

a

message

Delete

the

entire

message

Prevents

the

entire

message

including

attachments

from

being

delivered

to

the

intended

recipients

This

is

the

default

value

Delete

all

attachments

and

use

default

alert

text

Deletes

all

message

attachments

not

just

the

infected

one

and

inserts

the

following

default

alert

text

into

a

text

file

that

replaces

the

attachments

Malware

was

detected

in

one

or

more

attachments

included

with

this

email

All

attachments

have

been

deleted

Delete

all

attachments

and

use

custom

alert

text

Deletes

all

message

attachments

not

just

the

infected

one

and

inserts

a

custom

message

into

a

text

file

that

replaces

the

attachments

Selecting

this

option

enables

the

Custom

alert

text

field

where

you

must

type

a

custom

message

Important

If

malware

is

detected

in

the

message

body

the

entire

message

including

all

attachments

will

be

deleted

regardless

of

which

option

you

select

This

action

is

applied

to

both

inbound

and

outbound

messages

In

the

Common

attachment

types

filter

filter

section

choose

which

file

types

you

want

to

have

the

Malware

Detection

Response

option

selected

above

applied

on

New

policies

have

the

most

commonly

used

malicious

file

types

selected

to

be

detected

as

malware

by

default

The

filter

supports

both

true

file

types

when

available

and

file

extensions

There

are

several

types

of

files

that

typically

deliver

malware

through

email

and

this

on

and

off

setting

will

prevent

the

selected

files

from

being

delivered

to

your

inboxes

as

well

as

sent

by

your

users

The

list

of

files

the

malware

filter

detects

can

be

customized

per

policy

by

choosing

and

adding

the

additional

file

types

to

the

list

In

the

Notifications

section

you

have

the

option

to

send

a

notification

email

message

to

senders

or

administrators

when

a

message

is

detected

as

malware

and

is

not

delivered

These

notifications

are

only

sent

when

the

entire

message

is

deleted

In

the

Sender

Notifications

section

select

the

check

boxes

to

Notify

internal

senders

those

within

your

organization

or

to

Notify

external

senders

those

outside

your

organization

when

a

detected

message

is

not

delivered

Similarly

in

the

Administrator

Notifications

section

select

the

check

boxes

to

Notify

administrator

about

undelivered

messages

from

internal

senders

or

to

Notify

administrator

about

undelivered

messages

from

external

senders

Specify

the

email

address

or

addresses

of

the

administrator

in

their

respective

Administrator

email

address

fields

after

selecting

one

or

both

of

these

check

boxes

The

default

notification

text

is

This

message

was

created

automatically

by

mail

delivery

software

Your

email

message

was

not

delivered

to

the

intended

recipients

because

malware

was

detected

The

language

in

which

the

default

notification

text

is

sent

is

dependent

on

the

locale

of

the

message

being

processed

In

the

Customize

Notifications

section

you

can

create

customized

notification

text

to

be

used

in

place

of

the

default

notification

text

for

sender

and

administrator

notifications

Select

the

Use

customized

notification

text

check

box

and

then

specify

values

in

the

following

required

fields

From

name

The

name

you

want

to

be

used

as

the

sender

of

the

customized

notification

From

address

The

email

address

you

want

to

be

used

as

the

sender

of

the

customized

notification

Messages

from

internal

senders

The

Subject

and

Message

of

the

notification

if

the

detected

message

originated

from

an

internal

sender

Messages

from

external

senders

The

Subject

and

Message

of

the

notification

if

the

detected

message

originated

from

an

external

sender

The

default

Subject

text

is

Undeliverable

message

For

custom

policies

only

click

the

menu

item

and

then

create

a

conditionbased

rule

to

specify

the

users

groups

andor

domains

for

whom

to

apply

this

policy

You

can

create

multiple

conditions

provided

that

they

are

unique

To

select

users

select

The

recipient

is

In

the

subsequent

dialog

box

select

one

or

more

senders

from

your

company

from

the

user

picker

list

and

then

click

add

To

add

senders

who

arent

on

the

list

type

their

email

addresses

and

click

Check

names

In

this

box

you

can

also

use

wildcards

for

multiple

email

addresses

for

example

domainname

When

you

are

done

with

your

selections

click

ok

to

return

to

the

main

screen

To

select

groups

select

The

recipient

is

a

member

of

and

then

in

the

subsequent

dialog

box

select

or

specify

the

groups

Click

ok

to

return

to

the

main

screen

To

select

domains

select

The

recipient

domain

is

and

then

in

the

subsequent

dialog

box

add

the

domains

Click

ok

to

return

to

the

main

screen

You

can

create

exceptions

within

the

rule

for

example

you

can

filter

messages

from

all

domains

except

for

a

certain

domain

Click

add

exception

and

then

create

your

exception

conditions

similar

to

the

way

you

created

the

other

conditions

Click

Save

A

summary

of

your

default

policy

settings

appears

in

the

right

pane

Tip

You

can

select

or

clear

the

check

boxes

in

the

ENABLED

column

to

enable

or

disable

your

custom

policies

All

policies

are

enabled

by

default

and

the

default

policy

can

not

be

disabled

To

delete

a

custom

policy

select

the

policy

click

the

Delete

icon

and

then

confirm

that

you

want

to

delete

the

policy

The

default

policy

can

not

be

deleted

Custom

policies

always

take

precedence

over

the

default

policy

Custom

policies

run

in

the

reverse

order

that

you

created

them

from

oldest

to

newest

but

you

can

change

the

priority

running

order

of

your

custom

policies

by

clicking

the

up

arrow

and

down

arrow

The

policy

with

a

PRIORITY

of

will

run

first

followed

by

then

and

so

on

Use

remote

PowerShell

to

configure

antimalware

policies

You

can

also

configure

and

apply

malware

filter

policies

in

PowerShell

To

learn

how

to

use

Windows

PowerShell

to

connect

to

Exchange

Online

see

Connect

to

Exchange

Online

PowerShell

To

learn

how

to

use

Windows

PowerShell

to

connect

to

Exchange

Online

Protection

see

Connect

to

Exchange

Online

Protection

PowerShell

GetMalwareFilterPolicy

View

your

malware

filter

settings

SetMalwareFilterPolicy

Edit

your

malware

filter

settings

NewMalwareFilterPolicy

Create

a

new

custom

malware

filter

policy

RemoveMalwareFilterPolicy

Delete

a

custom

malware

filter

policy

To

apply

a

custom

malware

filter

policy

to

users

groups

andor

domains

use

the

NewMalwareFilterRule

cmdlet

to

create

a

new

filter

rule

that

can

be

applied

to

custom

policies

or

the

SetMalwareFilterRule

cmdlet

to

edit

an

existing

filter

rule

that

can

be

applied

to

custom

policies

Use

the

EnableMalwareFilterRule

cmdlet

or

the

DisableMalwareFilterRule

cmdlet

to

enable

or

disable

the

rule

applied

to

the

policy

How

do

you

know

this

worked

The

following

procedure

provides

instructions

for

using

the

EICARTXT

antivirus

test

file

to

verify

that

malware

filtering

is

working

correctly

Use

an

email

client

that

does

not

block

the

file

Important

The

EICARTXT

file

is

not

a

virus

However

because

users

often

have

the

need

to

test

that

installations

function

correctly

the

antivirus

industry

through

the

European

Institute

for

Computer

Antivirus

Research

has

adopted

the

EICAR

standard

in

order

to

meet

this

need

Use

the

EICARTXT

file

to

verify

malware

filtering

functionality

Create

a

new

text

file

and

then

name

the

file

EICARTXT

Copy

the

following

line

into

the

text

file

Make

sure

that

this

is

the

only

string

in

the

file

When

done

you

will

have

a

file

If

you

are

using

a

desktop

antivirus

program

make

sure

that

the

folder

you

are

saving

the

file

to

is

excluded

from

scanning

Attach

this

file

to

an

email

message

that

will

be

filtered

by

the

service

Check

the

recipient

mailbox

of

the

test

message

Depending

on

the

malware

detection

response

you

have

configured

the

entire

message

will

be

deleted

or

the

attachment

will

be

deleted

and

replaced

with

the

alert

text

file

Any

configured

notifications

will

also

be

distributed

The

recipient

may

receive

a

notification

message

if

configured

that

appears

similar

to

the

following

This

message

was

created

automatically

by

mail

delivery

software

Your

email

message

was

not

delivered

to

the

intended

recipients

because

malware

was

detected

The

following

additional

information

will

also

be

included

the

subject

of

the

message

the

sender

of

the

message

the

time

the

message

was

received

by

the

service

the

Message

ID

the

Internet

message

ID

also

known

as

the

Client

ID

found

in

the

header

of

the

message

with

the

MessageID

token

and

the

detection

found

which

will

be

eicartxt

Delete

the

Antimalware

protection

Antimalware

protection

FAQ

O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


GetAzure

RmNetwork

Security

Group

Module

AzureRMNetwork

Gets

a

network

security

group

GetAzureRmNetworkSecurityGroup

Name

String

ResourceGroupName

String

DefaultProfile

IAzureContextContainer

CommonParameters

GetAzureRmNetworkSecurityGroup

Name

String

ResourceGroupName

String

ExpandResource

String

DefaultProfile

IAzureContextContainer

CommonParameters

Description

The

GetAzureRmNetworkSecurityGroup

cmdlet

gets

an

Azure

network

security

group

Examples

Retrieve

an

existing

network

security

group

GetAzureRmNetworkSecurityGroup

Name

ResourceGroupName

This

command

returns

contents

of

Azure

network

security

group

in

resource

group

Required

Parameters

ExpandResource

Type

String

Position

Named

Default

value

Accept

pipeline

input

True

ByPropertyName

Accept

wildcard

characters

False

Name

Specifies

the

name

of

the

network

security

group

that

this

cmdlet

gets

Type

String

Aliases

ResourceName

Position

Named

Default

value

Accept

pipeline

input

True

ByPropertyName

Accept

wildcard

characters

False

ResourceGroupName

Specifies

the

name

of

the

resource

group

that

the

network

security

group

belongs

to

Type

String

Position

Named

Default

value

Accept

pipeline

input

True

ByPropertyName

Accept

wildcard

characters

False

Optional

Parameters

DefaultProfile

The

credentials

account

tenant

and

subscription

used

for

communication

with

azure

Type

MicrosoftAzureCommandsCommonAuthenticationAbstractionsIAzureContextContainer

Aliases

AzureRmContext

AzureCredential

Position

Named

Default

value

Accept

pipeline

input

False

Accept

wildcard

characters

False

Name

Specifies

the

name

of

the

network

security

group

that

this

cmdlet

gets

Type

String

Aliases

ResourceName

Position

Named

Default

value

Accept

pipeline

input

True

ByPropertyName

Accept

wildcard

characters

False

ResourceGroupName

Specifies

the

name

of

the

resource

group

that

the

network

security

group

belongs

to

Type

String

Position

Named

Default

value

Accept

pipeline

input

True

ByPropertyName

Accept

wildcard

characters

False

Inputs

String

Outputs

PSNetworkSecurityGroup

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Identify Similar Data Rows by Using the Fuzzy Grouping Transformation March 13 2017 2 minutes to read Contributors In this article See Also To add and configure a Fuzzy Grouping transformation the package must already include at least one Data Flow task and a source To implement Fuzzy Grouping transformation in a data flow In SQL Server Data Tools SSDT open the Integration Services project that contains the package you want In Solution Explorer doubleclick the package to open it Click the Data Flow tab and then from the Toolbox drag the Fuzzy Grouping transformation to the design surface Connect the Fuzzy Grouping transformation to the data flow by dragging the connector from the data source or a previous transformation to the Fuzzy Grouping transformation Doubleclick the Fuzzy Grouping transformation In the Fuzzy Grouping Transformation Editor dialog box on the Connection Manager tab select an OLE DB connection manager that connects to a SQL Server database Note The transformation requires a connection to a SQL Server database to create temporary tables and indexes Click the Columns tab and in the Available Input Columns list select the check box of the input columns to use to identify similar rows in the dataset Select the check box in the Pass Through column to identify the input columns to pass through to the transformation output Passthrough columns are not included in the process of identification of duplicate rows Note Input columns that are used for grouping are automatically selected as passthrough columns and they can not be unselected while used for grouping Optionally update the names of output columns in the Output Alias column Optionally update the names of cleaned columns in the Group OutputAlias column Note The default names of columns are the names of the input columns with a _clean suffix Optionally update the type of match to use in the Match Type column Note At least one column must use fuzzy matching Specify the minimum similarity level columns in the Minimum Similarity column The value must be between 0 and 1 The closer the value is to 1 the more similar the values in the input columns must be to form a group A minimum similarity of 1 indicates an exact match Optionally update the names of similarity columns in the Similarity Output Alias column To specify the handling of numbers in data values update the values in the Numerals column To specify how the transformation compares the string data in a column modify the default selection of comparison options in the Comparison Flags column Click the Advanced tab to modify the names of the columns that the transformation adds to the output for the unique row identifier _key_in the duplicate row identifier _key_out and the similarity value _score Optionally adjust the similarity threshold by moving the slider bar Optionally clear the token delimiter check boxes to ignore delimiters in the data Click OK To save the updated package click Save Selected Items on the File menu See Also Fuzzy Grouping Transformation Integration Services Transformations Integration Services Paths Data Flow Task

B O B I O O O B I I O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O B I I O O O O O O O O O O O O O O O O O O B I I O O B I I O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O

fuzzy grouping transformation
identify
data rows


Visual Studio Graphics Diagnostics November 3 2016 5 minutes to read Contributors all In this article In This Section Related Sections Visual Studio Graphics Diagnostics is a set of tools for recording and then analyzing rendering and performance problems in Direct3D apps Graphics Diagnostics can be used on apps that are running locally on your Windows PC in a Windows device emulator or on a remote PC or device The Graphics Diagnostics workflow begins by capturing a record of how your app uses Direct3Dlive as it runsso that its behavior can be analyzed immediately shared or saved for later Capture sessions can be initiated and controled manually from Visual Studio or with the commandline capture tool dxcapexe Capture sessions can also be initiated and controled programmatically by using the Graphics Diagnostics capture APIs After a capture session has been recorded its contents can be played back by Visual Studio Graphics Analyzer at any time recreating the captured frames by using the exact same resources and rendering commands the app used Then using the tools provided in the Graphics Analyer window any of the captured frames can be analyzed in detail These tools can be used to examine any Direct3D API call resource pipeline state object pipeline stage or even the complete history of any pixel in a captured frame By using these tools in concert a rendering problem can be explored intuitively starting from how it appears in a captured frame and drilling down to its root cause in the apps To diagnose performance problems a captured frame can be analyzed by using the Frame Analysis tool This tool explores potential performance optimizations by automatically changing the way the app uses Direct3D and benchmarking all the variations for you In the past you might have made and benchmarked these kinds of changes manually just to find out which ones made a difference With Frame Analysis you only need to make the changes you already know will pay off Graphics Diagnostics helps your graphicallyrich Direct3D app look and run its best Continue to Overview to learn more about what Visual Studio Graphics Diagnostics offers In This Section Overview Introduces the Graphics Diagnostics workflow and tools Getting Started In this section youll learn how to install Visual Studio Graphics Diagnostics and how to start using Graphics Diagnostics with your Direct3D app Capturing Graphics Information To use Graphics Diagnostics to examine a rendering problem in your app you first record information about how the app uses DirectX During the recording session as your app runs normally you capture that is select the frames that youre interested in The captures contain detailed information about how the frames are rendered You can save the captured information as a graphics log document to examine later or share with other members of your team GPU Usage To use Graphics Diagnostics to profile your app use the GPU Usage tool GPU usage can be used in concert with other profiling tools such as CPU Usage to correlate CPU and GPU activity that might contribute to performance problems in your app Graphics Log Document To start the examination of a recorded graphics log you use the Graphics Log document window to select a captured frameor even a specific pixelso that you can examine in detail the events that is the DirectX API calls that affect it Frame Analysis After you select a frame you use Graphics Frame Analysis to examine and tune your rendering performance Event List After you select a frame you use the Graphics Event List to examine its events to determine whether they are related to the rendering problem State The State window helps you understand the graphics state that is active at the time of the current event Pipeline Stages In the Graphics Pipeline Stages window you investigate how the currently selected event is processed by each stage of the graphics pipeline so that you can identify where the rendering problem first appears Examining the pipeline stages is particularly helpful when an object doesnt appear because of an incorrect transformation or when one of the stages produces output that doesnt match what the next stage expects Event Call Stack You use the Graphics Event Call Stack to examine the call stack of the currently selected event so that you can navigate to app code thats related to the rendering problem Pixel History By using the Graphics Pixel History window to analyze how the currently selected pixel is affected by the events that influenced it you can identify the event or combination of events that cause certain kinds of rendering problems The pixel history is particularly helpful when an object is rendered incorrectly because pixel shader output is either incorrect or has been combined incorrectly with the frame buffer or when an object doesnt even appear because its pixels have been discarded before they reach the frame buffer Object Table You use the Graphics Object Table to examine the properties and contents of specific Direct3D objects and resources that are in effect for the currently selected event The object table can help you determine the graphics device context thats active during an event and examine the contents of graphics resources such as constant buffers vertex buffers and textures HLSL Debugger To examine how the shader code for the currently selected event and graphics pipeline stage behaves you use the HLSL Debugger to step through code examine the contents of variables and perform other typical debugging tasks You can also use the HLSL debugger to examine compute shader code regardless of whether the results are further processed by the graphics pipeline or are just read back by your app CommandLine Capture Tool Use the commandline capture tool to quickly capture and play back graphics information without using Visual Studio or programmatic capture In particular you can use the commandline capture tool for automation or in a test environment Examples Several examples demonstrate how to use the Graphics Diagnostics tools together to diagnose different kinds of rendering problems Related Sections Title Description Debugger Feature Tour Introduces the debugging functionality in Visual Studio DirectX Graphics and Gaming Provides articles that discuss DirectX graphics technologies

B I B O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O B O O O O O O O O O O O O O O B I B O O O O O O B O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O O B O


Writing a DriverEntry Routine June 15 2017 2 minutes to read Contributors Each driver must have a DriverEntry routine which initializes driverwide data structures and resources The IO manager calls the DriverEntry routine when it loads the driver In a driver that supports Plug and Play PnP as all drivers should the DriverEntry routine is responsible for driver initialization while the AddDevice routine and possibly the dispatch routine that handles a PnP IRP_MN_START_DEVICE request is responsible for device initialization Driver initialization includes exporting the drivers other entry points initializing certain objects the driver uses and setting up various perdriver system resources NonPnP drivers have significantly different requirements as described in the Driver Development Kit DDK for Microsoft Windows NT 40 and earlier DriverEntry routines are called in the context of a system thread at IRQL PASSIVE_LEVEL A DriverEntry routine can be pageable and should be in an INIT segment so it will be discarded Use an alloc_text pragma directive as illustrated in the sample drivers that are provided with the Windows Driver Kit WDK This section contains the following topics DriverEntrys Required Responsibilities DriverEntrys Optional Responsibilities DriverEntry Return Values

O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Printer

Driver

Isolation

April

minutes

to

read

Contributors

Printer

driver

isolation

improves

the

reliability

of

the

Windows

print

service

by

enabling

printer

drivers

to

run

in

processes

that

are

separate

from

the

process

in

which

the

print

spooler

runs

Support

for

printer

driver

isolation

is

implemented

in

Windows

Windows

Server

and

later

operating

systems

For

Windows

and

Windows

Server

an

inbox

printer

driver

must

support

printer

driver

isolation

and

be

able

to

run

in

an

isolated

process

Previous

Versions

of

Windows

In

previous

versions

of

Windows

including

Windows

Server

printer

drivers

always

ran

in

the

same

process

as

the

spooler

Printer

driver

components

that

ran

in

the

spooler

process

included

the

following

Print

driver

configuration

modules

Print

processors

Rendering

modules

The

failure

of

a

single

print

driver

component

could

cause

the

print

subsystem

to

fail

halting

print

operations

for

all

users

and

for

all

print

components

New

Versions

of

Windows

With

Windows

and

Windows

Server

an

administrator

can

as

an

option

configure

a

printer

driver

to

run

in

an

isolated

processa

process

that

is

separate

from

the

spooler

process

By

isolating

the

driver

the

administrator

can

prevent

a

fault

in

a

driver

component

from

halting

the

print

service

For

more

information

about

the

spooler

functions

see

Spooler

Component

Functions

and

Structures

Driver

Isolation

Support

in

INF

Files

By

default

if

the

INF

file

that

installs

a

printer

driver

does

not

indicate

that

the

driver

supports

driver

isolation

the

printer

class

installer

configures

the

driver

to

run

in

the

spooler

process

However

if

the

INF

file

indicates

that

the

driver

supports

driver

isolation

the

installer

configures

the

driver

to

run

in

an

isolated

process

An

administrator

can

override

these

configuration

settings

and

specify

for

each

driver

whether

to

run

the

driver

in

the

spooler

process

or

in

an

isolated

process

To

support

driver

isolation

the

INF

file

that

installs

a

printer

driver

can

use

the

DriverIsolation

keyword

to

indicate

whether

the

driver

supports

printer

driver

isolation

Setting

DriverIsolation

indicates

that

the

driver

supports

driver

isolation

Setting

DriverIsolation

indicates

that

the

driver

does

not

support

driver

isolation

Omitting

the

DriverIsolation

keyword

from

the

INF

file

has

the

same

effect

as

setting

DriverIsolation

Spooler

Functions

for

Driver

Isolation

Settings

The

following

table

shows

the

spooler

functions

that

an

administrator

can

use

to

configure

the

driverisolation

settings

Function

name

Operation

GetPrinterDataEx

Get

the

driverisolation

settings

for

a

printer

SetPrinterDataEx

Set

the

driverisolation

settings

for

a

printer

EnumPrinterDataEx

Enumerate

driverisolation

settings

for

a

printer

FindFirstPrinterChangeNotification

FindNextPrinterChangeNotification

Request

notifications

of

changes

to

the

driverisolation

settings

for

a

printer

The

format

for

the

data

is

as

follows

Driver

in

each

group

is

separated

by

Each

driver

group

is

separated

by

The

first

group

loads

the

driver

into

the

spooler

processes

Each

subsequent

group

loads

the

drivers

in

isolated

processes

per

group

The

second

group

is

considered

the

shared

group

in

which

other

isolationcapable

drivers

are

loaded

by

default

Configuring

Driver

Isolation

Mode

through

Administration

A

computer

administrator

can

use

the

Windows

Print

Management

console

or

call

the

Windows

spooler

functions

to

configure

the

driverisolation

settings

for

each

printer

driver

installed

on

a

computer

The

administrator

configures

the

driver

to

use

one

of

the

settings

listed

in

the

following

table

Driverisolation

mode

Meaning

Shared

Run

the

driver

in

a

process

that

is

shared

with

other

printer

drivers

but

is

separate

from

the

spooler

process

Isolated

Run

the

driver

in

a

process

that

is

separate

from

the

spooler

process

and

is

not

shared

with

other

printer

drivers

Run

the

driver

in

the

spooler

process

Ideally

a

printer

driver

is

able

to

run

in

shared

mode

That

is

it

runs

in

an

isolated

process

shared

with

other

printer

drivers

but

separate

from

the

spooler

process

A

driver

might

need

to

run

in

isolated

mode

if

it

can

run

in

a

process

separate

from

the

spooler

process

but

has

difficulty

sharing

the

process

with

other

drivers

For

example

a

poorly

designed

driver

might

have

file

names

that

conflict

with

those

of

related

drivers

or

of

different

versions

of

the

same

driver

or

the

driver

might

fault

frequently

or

have

a

memory

leak

that

interferes

with

the

To

support

troubleshooting

the

domain

administrator

can

disable

the

driverisolation

feature

on

a

computer

in

the

domain

or

the

administrator

can

force

all

of

the

printer

drivers

on

the

computer

to

run

in

isolated

mode

In

isolated

mode

each

driver

must

run

in

a

process

separate

from

the

spooler

and

from

the

other

printer

drivers

If

driver

isolation

is

disabled

by

group

policy

the

isolation

is

off

for

all

printer

drivers

If

isolation

is

enabled

then

the

individual

drivers

are

modechecked

If

a

driver

has

isolation

mode

set

it

runs

in

shared

isolated

or

mode

based

on

the

registry

entry

However

if

the

driver

does

not

have

isolation

mode

set

and

it

is

compatible

with

isolation

it

runs

in

shared

mode

If

the

driver

is

not

compatible

with

the

mode

the

group

policy

override

determines

whether

the

driver

runs

in

shared

mode

or

mode

The

following

chart

shows

a

decision

map

for

choosing

the

driver

isolation

mode

Spooler

Functions

Allowed

under

Driver

Isolation

Only

specific

functions

are

allowed

under

driver

isolation

Spoolssdll

Functions

The

following

functions

are

exported

by

spoolssdll

and

are

available

to

spooler

plugins

by

linking

to

spoolsslib

AddMonitorW

AppendPrinterNotifyInfoData

ClosePrinter

DeletePortW

DeletePrintProcessorW

EndDocPrinter

EndPagePrinter

EnumFormsW

EnumJobsW

FlushPrinter

GetJobAttributes

GetJobAttributesEx

GetJobW

GetPrinterDataExW

GetPrinterDataW

GetPrinterDriverDirectoryW

GetPrinterDriverW

GetPrinterW

ImpersonatePrinterClient

OpenPrinterW

ReadPrinter

RouterCreatePrintAsyncNotificationChannel

RouterGetPrintClassObject

SetJobW

SetPrinterDataExW

SetPrinterDataW

StartDocPrinterW

StartPagePrinter

WritePrinter

WinSpooldrv

Functions

The

following

functions

are

exported

by

winspooldrv

and

are

available

to

spooler

plugins

by

linking

to

Winspoolh

AppendPrinterNotifyInfoData

ExtDeviceMode

ImpersonatePrinterClient

IsValidDevmode

PartialReplyPrinterChangeNotification

ReplyPrinterChangeNotification

RevertToPrinterSelf

RouterAllocBidiMem

RouterAllocBidiResponseContainer

RouterAllocPrinterNotifyInfo

RouterFreeBidiMem

RouterFreeBidiResponseContainer

RouterFreePrinterNotifyInfo

RouterGetPrintClassObject

RouterRegisterForPrintAsyncNotifications

RouterUnregisterForPrintAsyncNotifications

B I I O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


App submissions October 30 2018 3 minutes to read Contributors In this article App submission checklist Once youve created your app by reserving a name you can start working on getting it published The first step is to create a submission You can start your submission when your app is complete and ready to publish or you can start entering info even before you have written a single line of code Updates you make to your submission are saved so you can come back and work on it whenever youre ready Note You must have an active developer account in Partner Center in order to submit apps to the Microsoft Store After your app is published you can publish an updated version by creating another submission in Partner Center Creating a new submission lets you make and publish whatever changes are needed whether youre uploading new packages or just changing details such as price or category To create a new submission for a published app click Update next to the most recent submission shown on its Overview page You can also remove an app from the Store if you need to do so and then make it available again later if youd like Note This section of the documentation describes how to create an app submission in Partner Center Alternatively you can use the Microsoft Store submission API to automate app submissions Important As of October 31 2018 newlycreated products can not include packages targeting Windows 8xWindows Phone 8x or earlier For more info see this blog post App submission checklist Here are the details that you can provide when creating your app submission with links to more info Items that you are required to provide or specify are noted below Some areas are optional or have default values provided that you can change as desired You dont have to work on these sections in the order listed here Pricing and availability page Field name Notes For more info Markets Default All possible markets Define pricing and market selection Audience Default Public audience Audience Discoverability Default Make this app available and discoverable in the Store Discoverability Schedule Default Release as soon as possible Configure precise release scheduling Base price Required Set and schedule app pricing Free trial Default No free trial Free trial Sale pricing Optional Put apps and addons on sale Organizational licensing Default Allow volume acquisition by organizations Organizational licensing options Properties page Field name Notes For more info Category and subcategory Required Category and subcategory table Privacy policy URL Required for many apps See the App Developer Agreement and the Microsoft Store Policies Privacy policy URL Optional Website Support contact info Required if your product is available on Xbox otherwise optional but recommended Support contact info Game settings Optional only applicable to games Game settings Display mode Optional Display mode Product declarations Default Customers can install this app to alternate drives or removable storage Windows can include this apps data in automatic backups to OneDrive Product declarations System requirements Optional System requirements Age ratings page Field name Notes For more info Age ratings Required Age ratings Packages page Field name Notes For more info Package upload control Required at least one package Upload app packages Device family availability Default based on your packages Device family availability Gradual package rollout Optional for updates only Gradual package rollout Mandatory update Optional for updates only Mandatory update Store listings Youll need all the required info for at least one of the languages that your app supports We recommend providing Store listings in all of the languages your app supports and you can also provide Store listings in additional languages To make it easier to manage multiple listings for the same product you can import and export Store listings Field name Notes For more info Description Required Write a great app description Whats new in this version Optional Release notes App features Optional Product features Screenshots Required at least one screenshot four or more recommended Screenshots Store logos Recommended required for some OS versions Store logos Trailers Optional Trailers Windows 10 and Xbox image 169 Super hero art Recommended Windows 10 and Xbox image 169 Super hero art Xbox images Required for proper display if you publish to Xbox Xbox images Supplemental fields Optional Supplemental fields Search terms Optional Search terms Copyright and trademark info Optional Copyright and trademark info Additional license terms Optional Additional license terms Developed by Optional Developed by Submission options page Field name Notes For more info Publishing hold options Default Publish this submission as soon as it passes certification or per dates you selected in the Schedule section Publishing hold options Notes for certification Recommended Notes for certification Restricted capabilities Required if your product declares any restricted capabilities Restricted capabilities Note For info about publishing lineofbusiness LOB apps directly to enterprises see Distribute LOB apps to enterprises

B I O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O